Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôlez n'importe quel appareil électronique avec une télécommande TV | Tutoriel IR Arduino

Dans ce tutoriel Arduino IR, nous apprendrons à contrôler des appareils électroniques à l'aide d'une télécommande TV et d'un Arduino. Nous ferons quelques exemples en partant du contrôle d'une simple LED, puis en contrôlant la vitesse d'un ventilateur CC, jusqu'au contrôle des appareils électroménagers à haute tension. Vous pouvez regarder la vidéo suivante ou lire le didacticiel ci-dessous.

Comment ça marche

Nous pouvons remarquer que la LED devant la télécommande du téléviseur clignote lorsque nous appuyons sur un bouton. En fait, nous ne pouvons voir cela qu'à travers une caméra car il s'agit d'une lumière infrarouge et elle n'est pas visible à l'œil humain.

Ainsi, le scintillement signifie que lorsque nous appuyons sur un bouton, la LED infrarouge envoie une rafale de lumière ou des impulsions dont nous avons besoin pour les recevoir avec un récepteur infrarouge.

Dans ce tutoriel, nous utiliserons le récepteur IR V 34838 qui a le schéma fonctionnel suivant d'où nous pouvons voir qu'il va amplifier, filtrer et démoduler le signal reçu et fournir une sortie logique propre qui est acceptable pour l'entrée numérique de la carte Arduino.

Ensuite, en utilisant la bibliothèque Arduino-IRremote de Ken Shirriff et son exemple de démonstration, nous pouvons voir sur le moniteur série un code hexadécimal unique pour chaque pression sur un bouton que nous pouvons utiliser lors de la création de notre programme.

Lien vers la bibliothèque Arduino-IRremote de Ken Shirriff : https://github.com/z3t0/Arduino-IRremote

Contrôle d'une LED RVB avec une télécommande TV


Vous pouvez obtenir les composants sur l'un des sites ci-dessous :

  • Récepteur IR……………………………… 
  • DEL RVB……………………………… 
  • 3 résistances de 220 Ohms………….…… 
  • Carte Arduino …………………………..
  • Breadboard et Jump Wires …….. 

Nous contrôlerons donc la couleur de la LED à l'aide des 4 boutons colorés de la télécommande du téléviseur. Cela signifie que nous devons d'abord voir les codes hexadécimaux pour chacun de ces boutons en téléchargeant l'exemple IRrecvDemo et en exécutant le moniteur série. Nous allons appuyer sur chacun de ces boutons et noter leurs codes.

Nous allons maintenant modifier le code de démonstration comme ceci et ajouter des instructions if qui seront exécutées si un bouton particulier est enfoncé. Ainsi, pour chaque bouton, nous définirons les valeurs RVB appropriées, et le setColor() La fonction allumera la LED dans la couleur particulière. Pour plus de détails sur le fonctionnement d'une LED RGB avec Arduino, vous pouvez consulter mon tutoriel 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)

Voici les schémas de circuit de la LED RVB contrôlée par infrarouge Arduino :

Contrôle de la vitesse d'un ventilateur DC avec une télécommande TV


Composants nécessaires pour cet exemple :

  • Moteur à courant continu……………….
  • ou ventilateur CC……………….
  • Transistor NPN………
  • Diode…………………….
  • Condensateur – 1uF ……..
  • Résistance - 1k Ohms ..

Dans cet exemple, vous contrôlerez la vitesse d'un ventilateur CC à l'aide des boutons avant et arrière de la télécommande du téléviseur. Nous utiliserons ce schéma de circuit pour contrôler la vitesse du ventilateur, ou en fait nous contrôlerons le signal PWM à l'aide des boutons. Pour plus de détails sur le fonctionnement de ce schéma de circuit, vous pouvez consulter mon tutoriel sur les moteurs Arduino.

Voici le code source de cet exemple. Donc, en utilisant le analogWrite() fonction, nous enverrons un signal PWM à la base du transistor. Le bouton PLAY démarrera le moteur à la vitesse maximale, ou le rapport cyclique du signal PWM sera de 100 % et le bouton STOP l'arrêtera. Le bouton avant augmentera la vitesse du ventilateur à chaque pression en augmentant le rapport cyclique du signal PWM, et le bouton arrière le diminuera.

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

Contrôle des appareils électroménagers haute tension avec une télécommande TV


Composants nécessaires pour ce didacticiel :

  • Module relais 5 V……. Amazon/Banggood/AliExpress
  • Câble, fiche, prise

Le dernier exemple sera le contrôle des appareils électroménagers à haute tension à l'aide de la télécommande du téléviseur. Pour cela nous aurons besoin d'un module relais. J'utiliserai le module de relais HL-52S qui a une capacité de 10 A à 250 et 125 V AC. Voici les schémas de circuit d'un exemple d'appareils électroménagers haute tension contrôlés par Arduino IR. Avec la broche numéro 7 de la carte Arduino, nous contrôlerons le relais sur lequel se trouve une prise pour connecter tout appareil électronique haute tension.

Comme nous utiliserons la HAUTE TENSION, nous devons être très prudents et je vous préviens ici qu'une utilisation inappropriée ou incorrecte pourrait entraîner des blessures graves ou la mort et je n'assume aucune responsabilité pour vos actions. Pour plus de détails sur l'utilisation du relais et sur la création d'une prise pour brancher n'importe quel appareil électronique, vous pouvez consulter mon tutoriel sur le relais Arduino.

Voici le code source de cet exemple :

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

Processus de fabrication

  1. Télécommande universelle utilisant Arduino, 1Sheeld et Android
  2. Contrôler l'accepteur de pièces avec Arduino
  3. Télécommande TV alimentée par batterie avec boîtier imprimé en 3D
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Arduino Nano :contrôler 2 moteurs pas à pas avec joystick
  6. Animer une bouche de Billy Bass avec n'importe quelle source audio
  7. Dé à coudre - Contrôle de la souris avec vos doigts
  8. Contrôler un cafard avec Arduino pour moins de 30 $
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno