En este ejemplo utilizaremos el código anterior para activar y desactivar un relé. Un relé es un interruptor que podemos activar mediante una señal eléctrica. En su versión más simple es un pequeño electro-imán que cuando lo excitamos mueve la posición de un contacto eléctrico de conectado a desconectado o viceversa.
En este caso utilizaremos un módulo relé para Arduino como el siguiente:
La conexión con el relé se realizará conectando VCC y GND a sus correspondientes pines de la protoboard o Arduino y la patilla de Signal a un pin digital:
/*
Aquí se definen algunas constantes para ser utilizadas a lo largo del código.
En este caso los pines analógico y digital utilizados para las entradas del programa
*/
#define ANALOG_SENSOR_PIN A0
#define DIGITAL_SENSOR_PIN 7
#define DIGITAL_RELAY_PIN 2 //Añadimos este pin
int digitalValue; /* Variable para el ultimo valor leído de la entrada digital */
int lightAnalogValue; /* Variable para el último valor analógico leído */
void setup()
{
// Inicializamos el puerto serie del arduino (en este caso el USB al PC) a 9600 baudios. La consola deberá configurarse a esta velocidad también
Serial.begin(9600);
Serial.println("Lectura de Sensores Ejemplo 2"); //Imprimimos un mensaje de bienvenida del programa
pinMode(DIGITAL_SENSOR_PIN, INPUT);
pinMode(DIGITAL_RELAY_PIN, OUTPUT); //Configuramos en modo salida el pin del relé
}
void loop(){
digitalValue = digitalRead(DIGITAL_SENSOR_PIN);
//Escribimos el valor de la señal
Serial.println("Valor digital:"+ String(digitalValue));
lightAnalogValue = analogRead(ANALOG_SENSOR_PIN); //Leemos el voltaje del sensor
Serial.print("Valor analógico de (0 to 1023)");
Serial.println(lightAnalogValue,DEC); // Escribimos en el puerto serie
//Añadimos este código para encender o apagar el relé en función de la luminosidad
if(digitalValue == LOW){
Serial.println("Relay OFF");
digitalWrite(DIGITAL_RELAY_PIN,LOW);
}else{
Serial.println("Relay ON");
digitalWrite(DIGITAL_RELAY_PIN,HIGH);
}
delay(100); //Esperamos
}
No hay comentarios:
Publicar un comentario