En este proyecto de domótica, veremos como hacer un control de luces con cualquier control remoto de infrarrojos que tengamos en casa.
Desde encendido de luces, manejo de robot, y control de electrodomésticos, los mandos infrarrojos nos permiten controlar diversos dispositivos, que encontramos en nuestro hogar.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Para este proyecto necesitaremos de un arduino uno, un módulo de infrarrojos, un módulos relay, cables, porta focos y focos.
Librería IRremote.h
Esta librería la podemos descargar desde el IDE de arduino, por favor mirar las siguientes capturas de pantalla, para ver que pasos seguir.
Una vez instalada esta librería, ahora vamos a subir el siguiente código a nuestro arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
//Más proyectos en www.rogerbit.com #include <IRremote.h> #define RECV_PIN 11 //indicamos el pin por el que recibimos los datos del //sensor TSOP1838 IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600);//Velocidad del puerto pinMode(10,OUTPUT); //Pin 10 como salida pinMode(9,OUTPUT); //Pin 9 como salida digitalWrite(9,LOW); digitalWrite(10,LOW); irrecv.enableIRIn(); // Iniciamos la recepcion } void loop() { //Si tenemos datos de lectura debido a que se pulsa una tecla en el mando if (irrecv.decode(&results)) { //Mostramos por puerte serie dicho codigo en Hexadecimal(para depuracion) Serial.print("Codigo: 0x") ; Serial.println(results.value,HEX) ; ////////////////////////////////////////// if(results.value==0x820||results.value==0x20)//Encendido { digitalWrite(9,HIGH); } if(results.value==0x821||results.value==0x21)//Apagado { digitalWrite(9, LOW); } if(results.value==0x810||results.value==0x10)//Encendido { digitalWrite(10,HIGH); } if(results.value==0x811||results.value==0x11)//Apagado { digitalWrite(10,LOW); } delay(50); //retardo de 50 ms para evitar que el codigo se lea dos veces //en una pulsacion irrecv.resume(); // Recibimos el siguiente valor del sensor } } |
Es código nos permite encender o apagar dos focos de 110/220 voltios, es muy simple. Resumiendolo un poco, se puede decir que compara los códigos que obtuvimos con IRrecvDump, de cumplirse la condición encenderá o apagara el foco, según la tecla presionada en el mando a distancia.
Por favor mirar los comentarios para ver que hace cada segmento del código fuente.
Ahora vamos a capturar el código que emite el control remoto, al apretar cualquier botón. Copia este código, luego vamos ha usar estos datos en el código fuente que está más abajo.
Materiales
Arduino uno
Cables
Focos
Porta Foco
Módulo Relay
Módulo infrarrojo
Circuito
Tanto el sensor infrarrojo como el módulo relay pueden ser alimentados desde el arduino, los focos los vamos a conectar a los 110/220 voltios según el voltaje que utilicen en tu pais.
Como podemos ver en el circuito los pines 9 y 10 se conectan al relay, por medio de estos comandaremos el encendido de las luces, el pin 11 se conectar el sensor infrarrojo TSOP1838.
Cómo conclusión final, este un proyecto muy simple de armar, ademas tiene una utilidad bastante interesante para nuestro hogar, es económico y didáctico, y los materiales no son difíciles de conseguir, también hay un apoyo audiovisual con el video de youtube presentado al principio, es por todo esto que los invito a desarrollarlo y perfeccionar este proyecto.
SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO
[wysija_form id=”1″]
VIDEO RECOMENDADO
Muchas gracias, muy buen tutorial.
Si no encuentran la librería en el Gestor de librerías pueden bajarla desde acá –> http://z3t0.github.io/Arduino-IRremote/
Saludos y gracias por el aporte