Arduino – LED de contrôle avec télécommande IR

Arduino - LED de contrôle avec télécommande IR

Dans ce projet, vous utiliserez un récepteur infrarouge (IR) et un Arduino pour contrôler 3 LED avec une télécommande. Ceci est utile pour réutiliser d’anciennes télécommandes ou pour en donner fonctionnellement à certains boutons de votre télécommande.

Arduino LED de controle avec telecommande IR

Ce projet est divisé en deux parties :

  1. Vous décoderez les signaux IR transmis par votre télécommande
  2. Vous utiliserez ces informations pour effectuer une tâche avec votre Arduino (contrôlez 3 LED)

Pièces requises

Pour suivre ce projet, vous avez besoin des pièces suivantes :

1641723844 671 Arduino LED de controle avec telecommande IR

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Arduino LED de controle avec telecommande IR

Présentation du récepteur infrarouge (IR)

Le récepteur infrarouge est le composant illustré dans la figure ci-dessous. Il s’agit du TSOP4838.

Étiquettes de récepteur IR

Broches du récepteur infrarouge :

  • Première broche : Vout
  • Deuxième broche : GND
  • Troisième broche : Vcc

Lorsque vous appuyez sur votre télécommande, elle envoie des signaux modulés infrarouges. Ces signaux contiennent des informations que votre récepteur collecte.

1641723844 898 Arduino LED de controle avec telecommande IR

Chaque bouton envoie des informations spécifiques. Ainsi, nous pouvons attribuer ces informations à un bouton spécifique.

Décoder les signaux IR

Dans cette partie du projet, vous devez décoder les signaux IR associés à chaque bouton.

Schémas

Connectez le récepteur IR conformément aux schémas ci-dessous.

1641723844 164 Arduino LED de controle avec telecommande IR

Code

Pour contrôler le récepteur IR, vous devez installer le Bibliothèque IRremote dans l’IDE Arduino.

Installation de la bibliothèque IRremote

  1. Cliquez ici pour télécharger la bibliothèque IRremote. Vous devriez avoir un dossier .zip dans vos téléchargements
  2. Décompressez le dossier .zip et vous devriez obtenir IRremote-maître dossier
  3. Renommez votre dossier de IRremote-maître à IR à distance
  4. Bouge le IR à distance dossier dans votre dossier de bibliothèques d’installation Arduino IDE
  5. Enfin, rouvrez votre IDE Arduino

Copiez le code suivant sur votre IDE Arduino et téléchargez-le sur votre carte Arduino. Assurez-vous que vous avez sélectionné la bonne carte et le bon port COM.

/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

Afficher le code brut

Ouvrez le moniteur série à un débit en bauds de 9600.

1641723844 862 Arduino LED de controle avec telecommande IR

Dans ce projet, vous souhaitez contrôler 3 LED. Choisissez 6 boutons pour les tâches suivantes :

  1. LED1 – ALLUMÉ
  2. LED1 – ÉTEINT
  3. LED2 – ALLUMÉ
  4. LED2 – ÉTEINT
  5. LED3 – ALLUMÉ
  6. LED3 – ÉTEINT

Appuyez par exemple sur le bouton numéro 1 de votre télécommande. Vous devriez voir un code sur le moniteur série. Appuyez plusieurs fois sur le même bouton pour vous assurer d’avoir le bon code pour ce bouton. Si vous voyez quelque chose comme FFFFFFFF, ignorez-le, c’est de la poubelle.

Faites de même pour les autres boutons.

Notez le code associé à chaque bouton, car vous aurez besoin de cette information plus tard.

1641723844 991 Arduino LED de controle avec telecommande IR

Construire le circuit final

Dans cette partie, vous allez construire le circuit avec trois LED qui seront contrôlées à l’aide de votre télécommande.

Schémas

Assemblez toutes les pièces en suivant les schémas ci-dessous.

1641723844 869 Arduino LED de controle avec telecommande IR

Code

Maintenant, récupérez les codes que vous avez capturés à l’étape précédente. Vous devez convertir vos codes hexadécimaux en décimaux.

Pour cela, vous pouvez utiliser le site Web suivant : www.binaryhexconverter.com/hex-to-decimal-converter

Voici un exemple de conversion pour l’un de mes codes :

1641723844 27 Arduino LED de controle avec telecommande IR

Répétez ce processus pour toutes vos valeurs hexadécimales et enregistrez le décimal valeurs. Ce sont ceux que vous devez remplacer dans le code ci-dessous.

Téléchargez ou copiez le croquis suivant sur votre IDE Arduino. Écrivez vos propres valeurs décimales dans le croquis fourni dans le Cas lignes et téléchargez-le sur votre carte Arduino. Assurez-vous que vous avez sélectionné la bonne carte et le bon port COM.

/*
 * Modified by Rui Santos, http://randomnerdtutorialscom
 * based on IRremote Library - Ken Shirriff
*/
 
#include <IRremote.h>
 
int IR_Recv = 11;   //IR Receiver Pin 3
int bluePin = 10;
int greenPin = 9;
int yellowPin = 8;
 
IRrecv irrecv(IR_Recv);
decode_results results;
 
void setup(){
  Serial.begin(9600);  //starts serial communication
  irrecv.enableIRIn(); // Starts the receiver
  pinMode(bluePin, OUTPUT);      // sets the digital pin as output
  pinMode(greenPin, OUTPUT);      // sets the digital pin as output
  pinMode(yellowPin, OUTPUT);      // sets the digital pin as output 

}
 
void loop(){
  //decodes the infrared input
  if (irrecv.decode(&results)){
    long int decCode = results.value;
    Serial.println(results.value);
    //switch case to use the selected remote control button
    switch (results.value){
      case 551520375: //when you press the 1 button
        digitalWrite(bluePin, HIGH);
        break;   
      case 551495895: //when you press the 4 button
        digitalWrite(bluePin, LOW);   
        break;
       case 551504055: //when you press the 2 button
        digitalWrite(greenPin, HIGH);
        break;           
       case 551528535: //when you press the 5 button
        digitalWrite(greenPin, LOW);
        break;       
       case 551536695: //when you press the 3 button
        digitalWrite(yellowPin, HIGH);
        break;       
       case 551512215: //when you press the 6 button
        digitalWrite(yellowPin, LOW);
        break;
    }
    irrecv.resume(); // Receives the next value from the button you press
  }
  delay(10);
}

Afficher le code brut

Manifestation

Au final, vous pouvez contrôler chaque LED individuellement à l’aide des boutons de votre télécommande.

Arduino LED de controle avec telecommande IR

Regardez la vidéo de démonstration

YouTube video

Conclusion

C’est un excellent projet pour en savoir plus sur le récepteur IR. Il y a des possibilités infinies pour ce que vous pouvez faire avec.

Par exemple, vous pouvez remplacer ces LED par un relais pour contrôler vos appareils ménagers.

Cela peut être particulièrement utile car certaines télécommandes ont un tas de boutons que vous n’utilisez jamais. Alors, pourquoi ne pas les utiliser pour faire quelque chose d’utile ?

Ceci est un extrait de notre cours : Projets Arduino étape par étape. Si vous aimez Arduino et que vous souhaitez créer plus de projets, nous vous recommandons de vous inscrire au cours de projets Arduino étape par étape.

  • Kit Keyestudio Infrarouge Ir Télécommande Sans Fil Module De Commande Pour Arduino
    La télécommande ultra-mince Mini dispose de 17 touches de fonction, l'émission infrarouge le plus éloigné jusqu'à 8 mètres. Convient pour commander des dispositifs intérieurs de toutes sortes. module de commande de réception à distance infrarouge peut recevoir des signaux de modulation 38 KHZ standard, en programmant l'Arduino. L'opération de décodage du signal de commande à distance peut être réalisé, qui peut être utilisé dans toutes sortes de robots de contrôle à distance et le travail interactif.
  • ARCELI  CTYRZCH HX1838 Module de télécommande Infrarouge IR Module récepteur Kit DIY HX1838 pour Arduino Raspberry Pi
    Le capteur utilise HX1838, haute sensibilité Tension de fonctionnement 5V Sortie numérique VCC externe tension 3.3V-5V (peut être directement connecté au microcontrôleur 5v et au microcontrôleur 3.3v) GND externe GND DANS un port d'E / S de microcontrôleur externe, le port d'E / S a été conçu avec une résistance de rappel de 10K