DOMOTICA: RELE+IR





0.- TEORÍA: EL RELÉ
¿Qué es un relé?
Un relé es un dispositivo electromecánico que funciona como interruptor controlado por un circuito eléctrico en el que por medio de una bobina o electroimán, se acciona un juego de contactos que permiten abrir o cerrar otros circuitos eléctricos.

La siguiente imagen muestra un esquema del funcionamiento de un relé de forma interna:


Para el tutorial de hoy vamos a trabajar con los siguientes componentes:
- Arduino UNO
- Un relé
- Cables
- Una lámpara con interruptor
- un sensor IR
- Un mando de control remoto universal
- una resistencia de 220 ohmios



Para el primer ejercicio usaremos el "Hola mundo" de Arduino. El programa Blink.
Tan sólo realizaremos las conexiones de la siguiente manera:

 Para ello previamente habremos preparado la lampara para su conexión como muestra la siguiente imagen:





Hemos desmontado previamente el interruptor de una lamparita de mesa. Dentro del interruptor encontraremos un cable continuo y el otro cortado el cual usaremos para hacer la conexión mostrada arriba.

Como hemos dicho antes, usaremos el ejemplo de Blink para hacer funcionar nuestra lámpara mediante un relé.
CÓDIGO BLINK PARA ENCENDER EL RELÉ
 /*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
 */
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}


 PRACTICA: ENCENDIDO POR CONTROL REMOTO RELE-IR



CÓDIGO:
#include <Arduino.h>
#include <NECIRrcv.h> // Descargar la librería de los tutoriales del control IR
#define IRPIN 13   // pin donde está conectado el IR
int light = 8; // Definimos como luz, dónde antes estaba nuestro LED.
static int aux = 1;
NECIRrcv ir(IRPIN) ;
void setup(){
  pinMode(light, OUTPUT);
  ir.begin() ;
}
void loop(){
  unsigned long ircode ;
  while (ir.available()) {
  ircode = ir.read() ;
  // Establecemos qué tiene que pasar cuando el código emitido coincida con el del ON.
    if(ircode == 3125149440){ 
     if(aux == 0){
        digitalWrite(light, LOW);
        aux = 1;
      }
      else{
        digitalWrite(light, HIGH);
        aux = 0;
      }
    }
    }
}