Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos iluminar LEDs a distancia con Arduino, los cuales controlaremos con un mando a distancia con infrarrojos, además, hablaremos de los diferentes materiales empleados en su construcción, se mostrará un esquema de conexiones y finalmente podréis encontrar el código para poder encender y apagar LEDs a distancia con Arduino.
Tabla de contenidos
Materiales
A continuación veremos los diferentes materiales que se van a utilizar para realizar este proyecto de LEDs a distancia usando la placa de Arduino y una breve descripción de los mismos. Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.
Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.
Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.
Mando a distancia: Se trata de un dispositivo que envía distintas señales infrarrojas en función del botón que hayamos pulsado.
LED: Elemento emisor de luz mediante una unión p-n.
Cables con pines: Estos cables tienen unos pines (macho o hembra) los cuales nos permitirán hacer las conexiones entre los diferentes elementos ya mencionados.
Componentes necesarios para este proyecto
Kit iniciación ArduinoESUS |
Placa Arduino UnoESUS |
Kit de LEDsESUS |
Cables Macho HembraESUS |
ProtoboardESUS |
Video explicación del proyecto
Si lo que buscas es ver de una forma mucho más detallada de como realizar este proyecto desde el inicio hasta el final, a continuación se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉
Esquema de conexiones Arduino para la construcción de los LEDs controlados a distancia
Una de las partes más importantes a la hora de realizar nuestro montaje de los LEDs y el receptor para controlarlos con el mando a distancia pasa por conectar correctamente los diferentes elementos. Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.
Código de Arduino para la programación de los LEDs controlados a distancia
A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.
Si quieres una explicación más detallada de las diferentes partes del código empleado para programar estos LEDs y de su funcionamiento para ser controlados con un mando de infrarrojos, te recomiendo que te veas el video que te hemos dejado más arriba.
Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino
//Canal YouTube -> RobotUNO //Proyecto 1 #include "IRremote.h" #define LED1 2 #define LED2 3 #define LED3 4 #define LED4 5 #define LED5 6 #define LED6 7 #define LED7 8 #define LED8 9 #define LED9 10 #define LED10 12 int receiver = 11; IRrecv irrecv(receiver); decode_results results; void translateIR(){ switch(results.value){ case 0xFFA25D: Serial.println("POWER"); digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); digitalWrite(LED4, LOW); digitalWrite(LED5, LOW); digitalWrite(LED6, LOW); digitalWrite(LED7, LOW); digitalWrite(LED8, LOW); digitalWrite(LED9, LOW); digitalWrite(LED10, LOW); break; case 0xFFC23D: Serial.println("FAST FORWARD"); digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, HIGH); digitalWrite(LED4, HIGH); digitalWrite(LED5, HIGH); digitalWrite(LED6, HIGH); digitalWrite(LED7, HIGH); digitalWrite(LED8, HIGH); digitalWrite(LED9, HIGH); digitalWrite(LED10, HIGH); break; case 0xFF6897: Serial.println("0"); pinMode(LED1, OUTPUT); digitalWrite(LED1, HIGH); break; case 0xFF30CF: Serial.println("1"); pinMode(LED2, OUTPUT); digitalWrite(LED2, HIGH); break; case 0xFF18E7: Serial.println("2"); pinMode(LED3, OUTPUT); digitalWrite(LED3, HIGH); break; case 0xFF7A85: Serial.println("3"); pinMode(LED4, OUTPUT); digitalWrite(LED4, HIGH); break; case 0xFF10EF: Serial.println("4"); pinMode(LED5, OUTPUT); digitalWrite(LED5, HIGH); break; case 0xFF38C7: Serial.println("5"); pinMode(LED6, OUTPUT); digitalWrite(LED6, HIGH); break; case 0xFF5AA5: Serial.println("6"); pinMode(LED7, OUTPUT); digitalWrite(LED7, HIGH); break; case 0xFF42BD: Serial.println("7"); pinMode(LED8, OUTPUT); digitalWrite(LED8, HIGH); break; case 0xFF4AB5: Serial.println("8"); pinMode(LED9, OUTPUT); digitalWrite(LED9, HIGH); break; case 0xFF52AD: Serial.println("9"); pinMode(LED10, OUTPUT); digitalWrite(LED10, HIGH); break; case 0xFFFFFFFF: Serial.println("ERROR");break; default: Serial.println("Otro botón"); } delay(500); } void setup() { Serial.begin(9600); Serial.println("IR Receiver Button Decode"); irrecv.enableIRIn(); } void loop(){ if (irrecv.decode(&results)) { translateIR(); irrecv.resume(); } }
hola este codigoarduino es el que puedoutilizar para mi poryecto???
Si! Este es el código de programación para este proyecto.
hola q programa es ese?
hola que hay que hacer cuando sale que no hay ningun archivo o directorio #include "IRremote.h"
Debes instalar la libreria "IRremote.h".
Un saludo Michael
como realizo la instalacionde esta libreria?
Es muy sencillo, hay muchos tutoriales en youtube
QUE LIBRERIA HAY QUE DESCARGARSE?
Lo pone en la primera fila del codigo de programacion. Es la libreria para poder utilizar el mando a distancia.
Hola, me aparecen estos errores. AYUDA
C:\Users\WIN10~1\AppData\Local\Temp\ccNNdmD8.ltrans0.ltrans.o: In function `main':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `setup'
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compilando para la tarjeta Arduino Uno
Puedes enviarme una captura de pantalla por mi correo electronico? manualidadesyarmas@gmail.com
me sucedio lo mismo, como se soluciona?
Que debo hacer si me dice: a function-definition is not allowed here before '{' token
Comprueba si has copiado bien. Utiliza el boton para copiarlo todo a la vez
hola me aparece este error que hago?
Missing FQBN (Fully Qualified Board Name)
Compilation error: Missing FQBN (Fully Qualified Board Name
Hola me pueden decir que Liberia tengo que descargar y como porfavor
IRremote.h es muy fácil de descargar, en YouTube hay muchos tutoriales. Un saludo!
saludos.
De que valor son las resistencias?
220 Ohm
Arduino:1.8.13 (Windows 10), Tarjeta:"Arduino Uno"
C:\Users\jonathan\AppData\Local\Temp\ccMJuKXd.ltrans0.ltrans.o: In function `main':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `setup'
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compilando para la tarjeta Arduino Uno.
Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
según lo que dice del error, dice que esta mal ya que le falta el void loop y setup
que puedo hacer?
Hola, perdon habia puesto mal el código, muchas gracias por decirmelo, ya lo he corregido. Un saludo!