relais-consigne.ino

Arduino Tian (id: tian) · Archivo : relais-consigne.ino · Lenguaje : Arduino · Uso : Le Linux commande un relais : le croquis applique la consigne

En sentido inverso al primer ejemplo: un simple curl por el lado Linux enciende un relé controlado por el microcontrolador. Sondear la consigna con detección de cambio evita martillar el puente sin motivo.

Hardware

Un Arduino Tian (Microchip SAM3X8E + Linux TianOS sobre un Atheros AR9344, doble USB, Ethernet y Wi-Fi). 1 módulo relé (contacto seco) + alimentación externa si hay carga.

Cableado

IN del módulo relé a D7, VCC 5 V, GND común. Nunca alimentar una carga de 230 V sin un módulo de relé adecuado y caja cerrada.

Funcionamiento

valueGet relee la clave "relais" del almacén bridge; la comparación con el último valor evita escrituras repetidas. digitalWrite controla el optoacoplador del módulo.

Ejecución

Arduino IDE con la placa Arduino Tian: grabado por el puerto USB « Native ». Por el lado Linux: ssh root@arduino.local. La librería Bridge es idéntica a la del Yun.

Variantes

Añadir un temporizador de apagado automático (millis), o un botón físico prioritario en local.

relais-consigne.ino

// Le Linux ecrit une consigne (valuePut), le croquis actionne.
#include <Bridge.h>

const int RELAIS = 7;
String derniere = "";

void setup() {
  pinMode(RELAIS, OUTPUT);
  digitalWrite(RELAIS, LOW);
  Bridge.begin();
  Serial.begin(9600);
}

void loop() {
  String consigne;
  Bridge.valueGet("relais", consigne);
  consigne.trim();

  if (consigne != derniere) {          // seulement si la consigne change
    derniere = consigne;
    if (consigne == "on") {
      digitalWrite(RELAIS, HIGH);
      Serial.println(F("relais ACTIVE"));
    } else {
      digitalWrite(RELAIS, LOW);
      Serial.println(F("relais libere"));
    }
  }
  delay(500);                          // scrutation douce
}

// Cote Linux :
//   curl -d "on"  http://localhost/data/relais
//   curl -d "off" http://localhost/data/relais

← Volver a la ficha