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.
Entonces>
En>
Usando>
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.
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:
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.
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.
Como>
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)
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!
¡Qué manera genial de simplificar todo! Nunca pensé que se pudiera hacer esto con el mando a distancia del televisor. Gracias por el tutorial, definitivamente lo voy a probar.