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

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

En este tutorial Arduino IR aprenderemos a controlar dispositivos electrónicos usando un mando a distancia de TV y un Arduino. Haremos algunos ejemplos empezando por controlar un simple LED, luego controlar la velocidad de un ventilador DC, hasta controlar electrodomésticos de alto voltaje. Puedes ver el siguiente video o leer el tutorial escrito a continuación.

Cómo Funciona

Podemos notar que el LED frente al mando de TV 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 al ojo humano.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

Así que 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 infrarrojo.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

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

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

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

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

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

Controlando un LED RGB con un Mando TV


Puedes conseguir los componentes en cualquiera de los siguientes sitios:

  • Receptor IR………………………………
  • LED RGB…………………………………
  • 3x resistencias 220 Ohmios………….……
  • Placa Arduino …………………………..
  • Protoboard y cables jumpers ……..

Así que controlaremos el color del LED usando los 4 botones de colores del mando de TV. Eso significa que 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.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

Ahora modificaremos el código demo como esto y añadiremos sentencias if que se ejecutarán si se presiona un botón particular. Así que para cada botón estableceremos valores RGB apropiados, y la función setColor() encenderá el LED en el color particular. Para más detalles sobre cómo funciona un LED RGB con Arduino, puedes consultar mi Tutorial Arduino RGB.

/* 
 * Controlando un LED RGB con un Mando TV
 * 
 * Ejemplo IRrecvDemo modificado de la librería IRremote de Ken Shirriff
 * Ken Shirriff
 * https://arcfn.com
 * 
 * Modificado por Dejan Nedelkovski,
 * www.HowToMechatronics.com
 * */
#include <IRremote.h>
int RECV_PIN = 8; // Receptor IR - Pin Arduino Número 8
IRrecv irrecv(RECV_PIN);
decode_results results;
int redPin = 5;
int greenPin = 6;
int bluePin = 7;
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Iniciar el receptor
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}
void loop() {
  if (irrecv.decode(&results)) {
    if (results.value == 0xF21D7D46) { // Botón Rojo
      setColor(255, 0, 0); // Establece color rojo al LED RGB
      delay(100);
    }
    if (results.value == 0x87CF1B29) { // Botón Verde
      setColor(0, 255, 0); // Color verde
      delay(100);
    }
    if (results.value == 0x6623D37C) { // Botón Amarillo
      setColor(255, 255, 0); // Color amarillo
      delay(100);
    }
    if (results.value == 0x854115F2) { // Botón Azul
      setColor(0, 0, 255); // Color azul
      delay(100);
    }
    if (results.value == 0x1639AB6E) { // Botón Stop
      setColor(0, 0, 0); // APAGADO
      delay(100);
    }
    irrecv.resume(); // Recibir el siguiente valor
  }
  delay(100);
}
// Función personalizada para activar el LED RGB
void setColor(int red, int green, int blue) {
  analogWrite(redPin, red); // Envía señal PWM al pin rojo
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}Lenguaje: Arduino (arduino)

Aquí está el esquema del circuito de Arduino IR controlando LED RGB:

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

Controlando la Velocidad de un Ventilador DC con un Mando TV


Componentes necesarios para este ejemplo:

  • Motor DC……………….
  • o Ventilador DC……………….
  • Transistor NPN………
  • Diodo…………………….
  • Capacitor – 1uF ……..
  • Resistencia – 1k Ohmios ..

En este ejemplo controlaremos la velocidad de un ventilador DC usando los botones de avance y retroceso del mando de TV. Usaremos este esquema de circuito para controlar la velocidad del ventilador, o en realidad controlaremos la señal PWM usando los botones. Para más detalles sobre cómo funciona este esquema de circuito, puedes consultar mi Tutorial de Motores Arduino.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

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

/* 
 * Controlando la Velocidad de un Ventilador DC con un Mando TV
 * 
 * Ejemplo IRrecvDemo modificado de la librería IRremote de Ken Shirriff
 * Ken Shirriff
 * https://arcfn.com
 * 
 * Modificado por Dejan Nedelkovski,
 * www.HowToMechatronics.com
 * */
#include <IRremote.h>
int RECV_PIN = 8; // Receptor IR - Pin Arduino Número 8
int pwmPin = 7; // Pin Arduino Número 7 a la Base del Transistor
int pwmValue;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Iniciar el receptor
  pinMode(pwmPin, OUTPUT);
  pwmValue = 0; // Inicia el programa con el motor apagado
}
void loop() {
  if (irrecv.decode(&results)) {
    analogWrite(pwmPin, pwmValue);
    if (results.value == 0xAFAF8374) { // Botón PLAY
      pwmValue = 255; // 100% Ciclo de Trabajo | Velocidad Máxima
    }
    if (results.value == 0x98519C65) { // Botón STOP
      pwmValue = 0; // 0% Ciclo de Trabajo | Apagado
    }
    if (results.value == 0x93F1BA08) { // Botón ADELANTE
      if(pwmValue <= 245){
        pwmValue = pwmValue + 10; // Aumenta el ciclo de trabajo de la señal PWM
        delay(20);
      }
    }
    if (results.value == 0x71D086FF) { // Botón ATRÁS
      if(pwmValue >= 20){
        pwmValue = pwmValue - 10; // Disminuye el ciclo de trabajo de la señal PWM
        delay(20);
      }
    }
    Serial.print(pwmValue);
    Serial.print(" ");
    Serial.println(results.value, HEX);
    irrecv.resume(); // Recibir el siguiente valor
  }
  delay(100);
} Lenguaje: Arduino (arduino)

Controlando Electrodomésticos de Alto Voltaje con un Mando TV


Componentes necesarios para este tutorial:

  • Módulo Relé 5V……. Amazon / Banggood / AliExpress
  • Cable, enchufe, zócalo

El ejemplo final será controlar electrodomésticos de alto voltaje usando el mando de TV. Para eso necesitaremos un módulo relé. Usaré el módulo relé HL-52S que tiene una capacidad de 10 A a 250 y 125 V AC. Aquí está el esquema del circuito del ejemplo Arduino IR controlando electrodomésticos de alto voltaje. 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 alto voltaje.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

Como usaremos ALTO VOLTAJE, debemos ser muy cautelosos y te advierto aquí que el uso incorrecto o inadecuado podría resultar en lesiones graves o la muerte y no me hago responsable de tus acciones. Para más detalles sobre cómo usar el relé y cómo hacer un zócalo para enchufar cualquier dispositivo electrónico, puedes consultar mi Tutorial Arduino Relé.

Controla Cualquier Dispositivo con tu Mando TV usando Arduino IR: Tutorial Paso a Paso

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

/* 
 * Controlando Electrodomésticos de Alto Voltaje con un Mando TV
 * 
 * Ejemplo IRrecvDemo modificado de la librería IRremote de Ken Shirriff
 * Ken Shirriff
 * https://arcfn.com
 * 
 * Modificado por 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(); // Iniciar el receptor
  pinMode(relayOut, OUTPUT);
  buttonState = HIGH; // Inicia el programa con el relé apagado. La entrada del relé funciona inversamente, así que estado HIGH significa relé desactivado
}
void loop() {
  buttonState = digitalRead(relayOut);
  if (irrecv.decode(&results)) {
    if (results.value == 0xAFAF8374) { // Botón PLAY
      digitalWrite(relayOut, LOW); // Activa el relé
    }
    if (results.value == 0x98519C65) { // Botón STOP
      digitalWrite(relayOut, HIGH); // Desactiva el relé
    }
    irrecv.resume(); // Recibir el siguiente valor
  }
  Serial.print(" ");
  Serial.println(results.value, HEX);
  delay(100);
}Lenguaje: Arduino (arduino)

Proceso de manufactura

  1. Mando universal Android con Arduino, 1Sheeld y control IR
  2. Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
  3. Mando a Distancia TV Personalizado con Arduino UNO: Alimentado por Batería, Carcasa Impresa en 3D
  4. Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
  5. Controla Dos Motores Paso a Paso con Arduino Nano y Joystick - Tutorial Sencillo
  6. Anima tu Pez Billy Bass con Cualquier Fuente de Audio: Guía Paso a Paso
  7. ThimbleKrox: Control de ratón montado en el dedo con Arduino Micro y MPU-6050
  8. Sistema DIY de Control de Cucarachas con Arduino – Construcción por Menos de $30
  9. Control remoto de coche con Arduino Uno y Bluetooth: Guía paso a paso
  10. Controla tu brazo robótico Arduino con app Android dedicada
  11. Control de Ventilador PWM de 4 Pines a 25 kHz con Arduino Uno – Montaje, Código y Pruebas