Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Controle cualquier dispositivo electrónico con un control remoto de TV | Tutorial de infrarrojos de Arduino

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

Cómo funciona

Podemos notar que el LED frente al control remoto del televisor parpadea cuando presionamos un botón. En realidad, solo podemos ver esto a través de una cámara porque es una luz infrarroja y no es visible para el ojo humano.

Entonces, el parpadeo significa que cuando presionamos un botón, el LED infrarrojo está enviando una ráfaga de luz o pulsos que necesitamos recibir con un receptor de infrarrojos.

En este tutorial usaremos el receptor IR V 34838 que tiene el siguiente diagrama de bloques desde donde podemos ver que amplificará, filtrará y demodulará la señal recibida y proporcionará una salida lógica limpia que sea aceptable para la entrada digital de la placa Arduino.

Luego, usando la biblioteca Arduino-IRremote de Ken Shirriff y su ejemplo de demostración, podemos ver desde el monitor en serie un código hexadecimal único para cada botón presionado que podemos usar al hacer nuestro programa.

Enlace a la biblioteca Arduino-IRremote de Ken Shirriff:https://github.com/z3t0/Arduino-IRremote

Controlar un LED RGB con un control remoto de TV


Puede obtener los componentes en cualquiera de los siguientes sitios:

  • Receptor de infrarrojos……………………………… 
  • LED RGB…………………………………… 
  • 3 resistencias de 220 ohmios………….…… 
  • Placa Arduino …………………………..
  • Protoboard y cables de salto …….. 

Entonces controlaremos el color del LED usando los 4 botones de colores del control remoto de TV. Eso significa que primero necesitamos ver los códigos hexadecimales para cada uno de estos botones cargando el ejemplo IRrecvDemo y ejecutando Serial Monitor. Pulsaremos cada uno de estos botones y anotaremos sus códigos.

Ahora modificaremos el código de demostración de esta manera y agregaremos declaraciones if que se ejecutarán si se presiona un botón en particular. Entonces, para cada botón, estableceremos los valores RGB apropiados y el setColor() La función encenderá el LED en el color particular. Para obtener más detalles sobre cómo funciona un LED RGB con Arduino, puede consultar 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 esquemas del circuito del LED RGB controlado por infrarrojos de Arduino:

Controlar la velocidad de un ventilador de CC con un control remoto de TV


Componentes necesarios para este ejemplo:

  • Motor CC……………….
  • o ventilador de CC……………….
  • Transistor NPN………
  • Diodo…………………….
  • Condensador – 1uF ……..
  • Resistencia – 1k ohmios ..

En este ejemplo, controlará la velocidad de un ventilador de CC con los botones de avance y retroceso del control remoto del televisor. Usaremos este esquema de circuito para controlar la velocidad del ventilador, o en realidad controlaremos la señal PWM usando los botones. Para obtener más detalles sobre cómo funciona este esquema de circuito, puede consultar mi tutorial de Arduino Motors.

Aquí está el código fuente para este ejemplo. Entonces usando analogWrite() función enviaremos señal PWM a la base del transistor. El botón PLAY arrancará el motor a la velocidad máxima, o el ciclo de trabajo de la señal PWM será del 100 % y el botón STOP lo detendrá. El botón de avance aumentará la velocidad del ventilador con cada pulsación aumentando el ciclo de trabajo de la señal PWM, y el botón de retroceso la disminuirá.

/*  
 *  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)

Control de electrodomésticos de alto voltaje con un control remoto de TV


Componentes necesarios para este tutorial:

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

El último ejemplo será el control de electrodomésticos de alto voltaje con el control remoto de TV. Para eso necesitaremos un módulo de relé. Usaré el módulo de relé HL-52S que tiene una clasificación de 10 A a 250 y 125 V CA. Aquí está el esquema del circuito del ejemplo de electrodomésticos de alto voltaje controlados por infrarrojos de Arduino. Con el pin número 7 de la placa Arduino controlaremos el relé en el que hay un zócalo para conectar cualquier dispositivo electrónico de alta tensión.

Como usaremos ALTA TENSIÓN, debemos ser muy cautelosos y le advierto aquí que el uso inadecuado o incorrecto podría provocar lesiones graves o la muerte y no asumo ninguna responsabilidad por sus acciones. Para obtener más detalles sobre cómo usar el relé y cómo hacer un enchufe para enchufar cualquier dispositivo electrónico, puede consultar mi Tutorial de Arduino Relay.

Aquí está el código fuente de este ejemplo:

/*  
 *  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)

Proceso de manufactura

  1. Control remoto universal usando Arduino, 1Sheeld y Android
  2. Controlar el aceptador de monedas con Arduino
  3. Control remoto de TV a batería con carcasa impresa en 3D
  4. ¡Arduino con Bluetooth para controlar un LED!
  5. Arduino Nano:Controla 2 motores paso a paso con joystick
  6. Animar una boca de Billy Bass con cualquier fuente de audio
  7. ThimbleKrox - Control del mouse con los dedos
  8. Controla una cucaracha con Arduino por menos de $ 30
  9. Control de coche con Arduino Uno y Bluetooth
  10. Controla el brazo del robot Arduino con la aplicación de Android
  11. Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno