Arduino contrôle de LED 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.

Ce projet est divisé en deux parties :
- Vous décoderez les signaux IR transmis par votre télécommande
- 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 :

- Arduino UNO
- 1x planche à pain
- 1x télécommande
- 1x récepteur IR (j’utiliserai TSOP4838)
- 3x LED
- 3 résistances 220 Ohm
- Fils de cavalier
Vous pouvez utiliser les liens précédents ou vous rendre directement sur ocraelec.com pour trouver toutes les pièces pour vos projets au meilleur prix !
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.

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.

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.

Code
Pour contrôler le récepteur IR, vous devez installer la bibliothèque IRremote dans l’IDE Arduino.
Installation de la bibliothèque IRremote
- Cliquez ici pour télécharger la bibliothèque IRremote . Vous devriez avoir un dossier .zip dans vos téléchargements
- Décompressez le dossier .zip et vous devriez obtenir le dossier IRremote-master
- Renommez votre dossier de
IRremote-maîtreà IRtélécommande - Déplacez le dossier IRremote vers votre dossier de bibliothèques d’installation Arduino IDE
- 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);
}
Ouvrez le moniteur série à un débit en bauds de 9600.

Dans ce projet, vous souhaitez contrôler 3 LED. Choisissez 6 boutons pour les tâches suivantes :
- LED1 – ALLUMÉ
- LED1 – ÉTEINT
- LED2 – ALLUMÉ
- LED2 – ÉTEINT
- LED3 – ALLUMÉ
- 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.

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.

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 :

Répétez ce processus pour toutes vos valeurs hexadécimales et enregistrez les valeurs décimales . 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 les lignes de cas 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);
}
Demonstration
Au final, vous pouvez contrôler chaque LED individuellement à l’aide des boutons de votre télécommande.
