proyecto LEDs con mando a distancia

Proyecto "LEDs con mando a distancia con Arduino"

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.

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 ArduinoKit iniciación ArduinoESUS
Placa Arduino UnoPlaca Arduino UnoESUS
Kit de LEDsKit de LEDsESUS
Cables Macho HembraCables Macho HembraESUS
ProtoboardProtoboardESUS

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.

esquema de conexiones leds con mando a distancia

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();
  }  
}
Publicado en Proyectos con Arduino, Proyectos con LEDs, Proyectos con sensores, Proyectos de domótica y automatización, Proyectos de electrónica.

22 Comentarios

  1. 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

  2. hola me aparece este error que hago?

    Missing FQBN (Fully Qualified Board Name)

    Compilation error: Missing FQBN (Fully Qualified Board Name

  3. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *