Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Imagina poder controlar todos tus dispositivos electrónicos con un solo mando a distancia: ¡Ahora es posible gracias al tutorial de infrarrojos Arduino! En este artículo, te enseñaremos cómo utilizar tu mando a distancia de televisión para controlar tu televisor, reproductor de DVD, aire acondicionado e incluso tu sistema de iluminación. ¡Sigue leyendo para descubrir cómo hacerlo!

En este tutorial de Arduino IR, aprenderemos cómo controlar dispositivos electrónicos usando un control remoto de TV y un Arduino. Haremos algunos ejemplos, desde controlar un LED simple hasta controlar la velocidad de un ventilador de CC y controlar electrodomésticos de alto voltaje. Puede ver el vídeo a continuación o leer el tutorial escrito a continuación.

Cómo funciona

Notamos que el LED delante del mando parpadea cuando pulsamos un botón. En realidad, sólo podemos ver esto a través de una cámara porque es luz infrarroja y no es visible para el ojo humano.

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Entonces>

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

En>

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Usando>

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Enlace>https://github.com/z3t0/Arduino-IRremote

Controlar un LED RGB con el mando a distancia de un televisor


Puede obtener los componentes en uno de los siguientes sitios web:

  • Receptor IR……………………………… Amazon / Banggood / AliExpress
  • LED RGB…………………………………… Amazon / Banggood / AliExpress
  • 3 resistencias de 220 ohmios………….…… Amazon / Banggood / AliExpress
  • Placa Arduino………………………….. Amazon / Banggood / AliExpress
  • Cables de puente y placa de pruebas…….. Amazon / Banggood / AliExpress

Divulgación: estos son enlaces de afiliados. Como asociado de Amazon, gano con compras que califican.

Entonces controlaremos el color del LED usando los 4 botones de colores del control remoto del televisor. Esto significa que primero debemos ver los códigos hexadecimales para cada una de estas claves cargando el ejemplo IRrecvDemo y ejecutando el monitor serie. Pulsaremos cada uno de estos botones y anotaremos sus códigos.

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Ahora>establecerColor() La función hace que el LED se ilumine en el color correspondiente. Para obtener más detalles sobre cómo funciona un LED RGB con Arduino, consulte mi tutorial Arduino RGB.

/*  
 *  Controlling a RGB LED with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by Dejan Nedelkovski,
 *  www.HowToMechatronics.com 
 *  
 */

#include <IRremote.h>

int RECV_PIN = 8; // IR Receiver - Arduino Pin Number 8

IRrecv irrecv(RECV_PIN);

decode_results results;

int redPin = 5;
int greenPin = 6;
int bluePin = 7;
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);  
}
 
void loop() {
  
  if (irrecv.decode(&results)) {   
    
    if (results.value == 0xF21D7D46) { // Red Button
      setColor(255, 0, 0);  // Sets Red Color to the RGB LED
      delay(100);
      }
    if (results.value == 0x87CF1B29) { // Green Button
       setColor(0, 255, 0);  // Green Color
      delay(100);
      }
    if (results.value == 0x6623D37C) { // Yellow Button
      setColor(255, 255, 0);  // Yellow Color
      delay(100);
      }   
    if (results.value == 0x854115F2) { // Blue Button
      setColor(0, 0, 255);  // Blue Color
      delay(100);
      }
     if (results.value == 0x1639AB6E) { // Stop Button
      setColor(0, 0, 0);  // OFF
      delay(100);
      }
      
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}
// Custom made function for activating the RGB LED 
void setColor(int red, int green, int blue)
{
  analogWrite(redPin, red); // Sends PWM signal to the Red pin
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}Code language: Arduino (arduino)

Aquí están los diagramas de circuito del LED RGB controlado por IR de Arduino:

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Controlar la velocidad de un ventilador de CC con el mando a distancia de un televisor


Componentes necesarios para este ejemplo:

  • Motor de corriente continua………………. Amazon / Banggood / AliExpress
  • o ventilador CC………………. Amazon / Banggood / AliExpress
  • Transistor NPN……. Amazon / Banggood / AliExpress
  • Diodo……………………. Amazon / Banggood / AliExpress
  • Condensador – 1uF…….. Amazon / Banggood / AliExpress
  • Resistencia – 1k Ohmios. Amazon / Banggood / AliExpress

En este ejemplo, la velocidad de un ventilador de CC se controla mediante los botones de avance y retroceso del control remoto del televisor. Usamos estos diagramas de circuitos para controlar la velocidad del ventilador o controlamos la señal PWM usando los botones. Para obtener más detalles sobre cómo funcionan estos esquemas, consulte mi tutorial de Arduino Motors.

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Aquí>escritura analógica() Función enviamos una señal PWM a la base del transistor. El botón PLAY arranca el motor a máxima velocidad, o el ciclo de trabajo de la señal PWM es del 100% y el botón STOP lo detiene. El botón de avance aumenta la velocidad del ventilador con cada pulsación al aumentar el ciclo de trabajo de la señal PWM, y el botón de retroceso lo disminuye.

/*  
 *  Controlling a DC Fan Speed with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by Dejan Nedelkovski,
 *  www.HowToMechatronics.com 
 *  
 */
 
#include <IRremote.h>

int RECV_PIN = 8; // IR Receiver - Arduino Pin Number 8
int pwmPin = 7; // Arduino Pin Number 7 to the Base of the Transistor
int pwmValue;

IRrecv irrecv(RECV_PIN);

decode_results results;

 
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode( pwmPin, OUTPUT);  
  pwmValue = 0; // Starts the program with turned off motor
}
 
void loop() {
  
  if (irrecv.decode(&results)) {   
    
    analogWrite(pwmPin, pwmValue);
  
    if (results.value == 0xAFAF8374) { // PLAY Button
        pwmValue = 255; // 100% Duty Cycle | Max Speed
        }
    if (results.value == 0x98519C65) { // STOP Button
        pwmValue = 0; // 0% Duty Cycke | Turned off
        }
    if (results.value == 0x93F1BA08) { // FORWARD Button
        if(pwmValue <= 245){  
        pwmValue = pwmValue + 10; // Increases the Duty Cycle of the PWM Signal
        delay(20);     
      }   
    }
    if (results.value == 0x71D086FF) { // BACKWARD Button
      if(pwmValue >= 20){
        pwmValue = pwmValue - 10; // Decreases the Duty Cycle of the PWM Signal
        delay(20);    
      }
    }   
  Serial.print(pwmValue);
  Serial.print(" ");
  Serial.println(results.value, HEX);
   
  irrecv.resume(); // Receive the next value
  }
  delay(100);
}
Code language: Arduino (arduino)

Controlar electrodomésticos de alto voltaje con el mando a distancia del televisor


Componentes necesarios para este tutorial:

  • Módulo de relé de 5V……. Amazon / Banggood / AliExpress
  • Cable, enchufe, enchufe

El último ejemplo trata sobre el control de electrodomésticos de alto voltaje mediante el mando a distancia del televisor. Para ello necesitamos un módulo de relé. Estoy usando el módulo de relé HL-52S con capacidad nominal de 10 A a 250 y 125 V CA. A continuación se muestran los diagramas de circuito de un ejemplo de un electrodoméstico de alto voltaje controlado con Arduino IR. Usando el pin número 7 de la placa Arduino, controlamos el relé, que tiene un enchufe para conectar cualquier dispositivo electrónico de alto voltaje.

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Como>

Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino

Aquí>

/*  
 *  Controlling High Voltage Home Appliances with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by Dejan,
 *  www.HowToMechatronics.com 
 *  
 */
 
#include <IRremote.h>

int RECV_PIN = 8;
int relayOut = 7;
int buttonState ;

IRrecv irrecv(RECV_PIN);

decode_results results;

 
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode( relayOut, OUTPUT); 
  buttonState = HIGH; // Starts the program with turned off Relay. The relay input works inversly so HIGH state means deactivated relay

}
 
void loop() {
  
  buttonState = digitalRead(relayOut);
        
  if (irrecv.decode(&results)) {   
    
    if (results.value == 0xAFAF8374) { // PLAY Button
        digitalWrite(relayOut, LOW); // Activates the relay
        }
    if (results.value == 0x98519C65) { // STOP Button
        digitalWrite(relayOut, HIGH); // Deactivates the relay
        }   
  
  irrecv.resume(); // Receive the next value
  }
  
  Serial.print(" ");
  Serial.println(results.value, HEX);
   
  
  delay(100);
}Code language: Arduino (arduino)
Categorías tutoriales de arduino
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

En este tutorial de Arduino IR aprenderemos a controlar dispositivos electrónicos utilizando un control remoto de TV y un Arduino. Haremos algunos ejemplos empezando por controlar un LED simple, luego controlar la velocidad de un ventilador DC, hasta controlar electrodomésticos de alto voltaje.

¿Cómo funciona?
Podemos notar que el LED frente al control remoto de TV parpadea cuando presionamos un botón. En realidad, solo podemos ver esto a través de una cámara porque esta es una luz infrarroja y no es visible para el ojo humano. El parpadeo significa que cuando presionamos un botón, el LED infrarrojo envía una ráfaga de luz o pulsos que necesitamos recibirlos con un receptor infrarrojo.

En este tutorial utilizaremos el receptor IR V 34838, que amplificará, filtrará y demodulará la señal recibida y proporcionará una salida lógica limpia que es aceptable para la entrada digital de la placa Arduino. Luego, utilizando la biblioteca Arduino-IRremote de Ken Shirriff y su ejemplo de demostración, podemos ver en el monitor serial un código hexadecimal único para cada botón presionado que podemos usar al hacer nuestro programa.

Controlando un LED RGB con un control remoto de TV
Para controlar el color del LED usando los 4 botones de colores del control remoto de TV, primero necesitamos ver los códigos hexadecimales para cada uno de estos botones subiendo el ejemplo IRrecvDemo y ejecutando el Monitor Serial. Presionaremos cada uno de estos botones y anotaremos sus códigos. Luego modificaremos el código de demostración agregando declaraciones if que se ejecutarán si se presiona un botón en particular. Para cada botón, estableceremos valores RGB apropiados y la función setColor () iluminará el LED en el color correspondiente.

Controlando la velocidad de un ventilador DC con un control remoto de TV
En este ejemplo controlaremos la velocidad de un ventilador DC utilizando los botones de avance y retroceso del control remoto de TV. Enviaremos una señal PWM a la base del transistor para controlar la velocidad del ventilador. El botón de reproducción iniciará el motor a velocidad máxima, o el ciclo de trabajo de la señal PWM será del 100%, y el botón de STOP lo detendrá. El botón de avance aumentará la velocidad del ventilador con cada pulsación incrementando el ciclo de trabajo de la señal PWM, y el botón de retroceso lo disminuirá.

Controlando electrodomésticos de alto voltaje con un control remoto de TV
Para controlar electrodomésticos de alto voltaje con el control remoto de TV, necesitaremos un módulo de relé. Utilizaremos el módulo de relé HL-52S, que tiene una clasificación de 10 A a 250 y 125 V CA. Con el pin número 7 de la placa Arduino controlaremos el relé en el que hay un enchufe para conectar cualquier dispositivo electrónico de alto voltaje.

¡Recuerda tener precaución al usar voltajes altos y asegúrate de seguir todas las medidas de seguridad necesarias! ¡No me responsabilizo por el mal uso de esta información!

Para obtener más detalles sobre estos ejemplos y ver los códigos fuente completos, asegúrate de visitar el sitio web de HowToMechatronics.

¡Disfruta experimentando con Arduino y controles remotos! ¡Diviértete creando proyectos innovadores y controlando dispositivos electrónicos de una manera emocionante!

1 comentario en «Controla cualquier dispositivo electrónico con el mando a distancia del televisor | tutorial de infrarrojos arduino»

Deja un comentario