Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Controle qualquer Eletrônico com um Controle Remoto de TV | Tutorial de IR do Arduino


Neste tutorial Arduino IR vamos aprender como controlar dispositivos eletrônicos usando um controle remoto de TV e um Arduino. Faremos alguns exemplos, começando pelo controle de um LED simples, depois controlando a velocidade de uma ventoinha CC, até o controle de eletrodomésticos de alta tensão. Você pode assistir ao vídeo a seguir ou ler o tutorial escrito abaixo.

Como funciona


Podemos notar que o LED na frente do controle remoto da TV pisca quando pressionamos um botão. Na verdade, só podemos ver isso através de uma câmera porque esta é uma luz infravermelha e não é visível ao olho humano.

Portanto, a cintilação significa que, quando pressionamos um botão, o LED infravermelho está enviando uma explosão de luz ou pulsos que precisamos recebê-los com um receptor infravermelho.

Neste tutorial usaremos o Receptor IR V 34838 que possui o seguinte diagrama de blocos de onde podemos ver que ele amplificará, filtrará e demodulará o sinal recebido e fornecerá uma saída lógica limpa que é aceitável para a entrada digital da Placa Arduino.

Em seguida, usando a biblioteca Arduino-IRremote de Ken Shirriff e seu exemplo de demonstração, podemos ver no monitor serial um código hexadecimal exclusivo para cada pressionamento de botão que podemos usá-lo ao fazer nosso programa.

Link para a biblioteca Arduino-IRremote de Ken Shirriff:https://github.com/z3t0/Arduino-IRremote

Controlando um LED RGB com um controle remoto de TV



Você pode obter os componentes em qualquer um dos sites abaixo:
  • Receptor IR……………………………… 
  • LED RGB………………………………… 
  • 3x resistores de 220 Ohms………….…… 
  • Placa Arduino ……………………………..
  • Breadboard e jump wires …….. 

Então vamos controlar a cor do LED usando os 4 botões coloridos do controle remoto da TV. Isso significa que primeiro precisamos ver os códigos hexadecimais para cada um desses botões carregando o exemplo IRrecvDemo e executando o Serial Monitor. Vamos pressionar cada um desses botões e anotar seus códigos.

Agora vamos modificar o código de demonstração assim e adicionar instruções if que serão executadas se um botão específico for pressionado. Portanto, para cada botão, definiremos valores RGB apropriados e o setColor() função acenderá o LED na cor específica. Para mais detalhes sobre como um LED RGB funciona com o Arduino, você pode conferir meu tutorial RGB do Arduino.
/*  
 *  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)

Aqui estão os esquemas de circuito do LED RGB controlado por IR do Arduino:

Controlando a velocidade de uma ventoinha DC com um controle remoto de TV



Componentes necessários para este exemplo:
  • Motor CC……………….
  • ou fã da DC……………….
  • Transistor NPN………
  • Díodo……………………….
  • Capacitor – 1uF ……..
  • Resistor – 1k Ohms ..

Neste exemplo, controlará a velocidade de uma ventoinha DC usando os botões de avanço e retrocesso do controle remoto da TV. Usaremos este esquema de circuito para controlar a velocidade da ventoinha ou, na verdade, controlaremos o sinal PWM usando os botões. Para mais detalhes sobre como funciona este esquema de circuito, você pode conferir meu tutorial de motores Arduino.

Aqui está o código-fonte para este exemplo. Então, usando o analogWrite() função enviaremos sinal PWM para a base do transistor. O botão PLAY iniciará o motor na velocidade máxima, ou o ciclo de trabalho do sinal PWM será de 100% e o botão STOP o interromperá. O botão de avanço aumentará a velocidade do ventilador a cada pressão, aumentando o ciclo de trabalho do sinal PWM, e o botão de retrocesso o diminuirá.
/*  
 *  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)

Controle de eletrodomésticos de alta tensão com um controle remoto de TV



Componentes necessários para este tutorial:
  • Módulo de relé de 5V……. Amazon / Banggood / AliExpress
  • Cabo, plugue, soquete

O exemplo final será o controle de eletrodomésticos de alta tensão usando o controle remoto da TV. Para isso, precisaremos de um módulo de relé. Vou usar o módulo de relé HL-52S que tem uma classificação de 10 A em 250 e 125 V AC. Aqui estão os esquemas de circuito do exemplo de eletrodomésticos de alta tensão controlados por IR do Arduino. Com o pino número 7 da placa Arduino, controlaremos o relé no qual há um soquete para conectar qualquer dispositivo eletrônico de alta tensão.

Como usaremos ALTA TENSÃO, devemos ser muito cautelosos e estou avisando aqui que o uso impróprio ou incorreto pode resultar em ferimentos graves ou morte e não assumo qualquer responsabilidade por suas ações. Para mais detalhes sobre como usar o relé e como fazer um soquete para conectar qualquer dispositivo eletrônico, você pode conferir meu tutorial de relé do Arduino.

Aqui está o código-fonte deste exemplo:
/*  
 *  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)

Processo de manufatura

  1. Controle remoto universal usando Arduino, 1Sheeld e Android
  2. Aceitar moeda de controle com Arduino
  3. Controle remoto de TV a bateria com caixa impressa em 3D
  4. Arduino com Bluetooth para controlar um LED!
  5. Arduino Nano:Controle 2 motores de passo com joystick
  6. Anime uma boca de Billy Bass com qualquer fonte de áudio
  7. ThimbleKrox - Controle do mouse com os dedos
  8. Controle uma barata com Arduino por menos de $ 30
  9. Controle do carro com Arduino Uno e Bluetooth
  10. Controle de ventilador PWM de 4 pinos de 25 kHz com Arduino Uno