Accueil Arduino Arduino créer une télécommande infrarouge

Arduino créer une télécommande infrarouge

Aujourd’hui on va apprendre à comment créer une télécommande arduino.
On ne va pas créer réellement une télécommande, mais utiliser une led infrarouge pour commander un appareil.

Câblage de la LED infrarouge avec Arduino vs1838b

Matériel Nécessaire

  • 1 arduino
  • 1 capteur infrarouge VS1838B
  • 1 led infrarouge émettrice
  • 1 résistance 330Ω
  • 1 bouton et une résistance

Câblage

Pour le câblage du récepteur, la branche 1 de l’infrarouge est le signal reçu branché sur le pin 11 de l’arduino, la branche 2 le gnd et la branche 3 le 5V.
Pour la led émettrice je branche le coté positif sur le pin 3 de l’arduino, le coté négatif relié à une résistance elle même relié à la masse.
Le bouton est branché au pin 7 de l’arduino.

Pour le code on se base sur la librairie IRremote déjà utilisé pour le capteur VS1838B.
J’appelle la librairie, je définis le pin de réception infrarouge à 11 avec “#define RECV_PIN 11” et je n’oublie pas le bouton au pin 7.

J’ai quelques variables que je vais utiliser plus tard comme boolBouton pour éviter que le bouton d’active plusieurs fois ainsi que des variables utilisés pour les données IR.

On active l’ir en réception avec “IRrecv irrecv(RECV_PIN)” sur le pin 11 ici et encore une variable pour les données réceptionnées “decode_results results ” .

Pour utiliser l’IR en émission on appelle “IRsend irsend”, mais ici pas de choix de pin, le pin 3 sera utilisé.

Partie setup , on active le sérial, on démarre la réception IR avec “irrecv.enableIRIn()” et on met le bouton en mode INPUT.

Dans la boucle j’ai une première fonction, receiveCode qui se charge de réceptionner les données IR et afficher les informations que l’on à besoin pour émettre la même valeur.
Dans La fonction on récupère les informations de données transmises, le type de donnée et la longueur en bit.
On aura besoin de la valeur décimale transmise et non la valeur hexadécimale, on fait bien sur attention au type de donnée (NEC,SONY, etc … )
Suivant les modèles on pourra ou non utiliser cette librairie , je t’invite à regarder les exemples de la librairie car il y à plus de type.

On retourne à notre boucle loop, j’ai après la fonction une condition il qui contrôle le passage du bouton à l’état HAUT.
A l’état haut j’appelle la fonction sendCode qui inclus les valeurs que l’on a récupéré avec la fonction receiveCode, on aura noté toutes les valeurs des IR que l’on souhaite utiliser et il suffira d’appeller la fonction avec les valeurs.

Dans la fonction qui envoie les données on va aiguiller la valeur au bon système d’envoi ( NEC, SONY,etc … )

Il n’y a rien de compliqué, tu récupère les informations IR et tu les utilises a bon escient pour les transmettre.

Télécharger le code :

Conclusion

Avec ce tutoriel, vous savez maintenant comment créer une télécommande infrarouge avec un Arduino. Vous pouvez adapter et étendre ce projet pour contrôler différents appareils en utilisant les codes IR appropriés.

Exemple code arduino led infrarouge

 

// Made By https://retroetgeek.com

#include <IRremote.h>
#define RECV_PIN 11
#define BOUTON_PIN 7

bool boolBouton = 0 ;

int codeType;
int codeLen;
// pour recevoir sur l'ir PIN 11
IRrecv irrecv(RECV_PIN);
decode_results results;

// pour envoyer sur l'ir PIN 3
IRsend irsend;

void setup()
{
  Serial.begin(57600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(BOUTON_PIN,INPUT);
}

void loop()
{
  receiveCode();

  if(digitalRead(BOUTON_PIN)== HIGH && boolBouton == 0){
    Serial.println("bout");
    // Code decimal,Type,Bits
    sendCode (16753245,NEC,32);
    boolBouton = 1 ;
  }
  else if (digitalRead(BOUTON_PIN)== LOW){
    boolBouton = 0 ;
  }
}

void receiveCode(){

  // catch IR
  if (irrecv.decode(&results))
    {
      //recupere le type de codage, la logueur
      int codeType = results.decode_type;
      int codeLen = results.bits;
    Serial.println("-------------------");
    Serial.print("ValueHex ");   
    Serial.println(String(results.value, HEX));
    Serial.print("ValueDec ");  
    Serial.println(results.value);
    Serial.print("CodeLen ");  
    Serial.println(codeLen);
     irrecv.resume(); // Receive the next value

    // De quel type est le signal IR ?
   if (codeType == UNKNOWN) {
      Serial.println("Unknow Type");
    }
    else {
      if (codeType == NEC) {
         Serial.println("Type NEC ");
      } 
      else if (codeType == SONY) {
        Serial.println("Type SONY ");
      } 
      else if (codeType == PANASONIC) {
        Serial.println("Type PANASONIC ");
      }
      else if (codeType == JVC) {
        Serial.println("Type JVC ");
      } 
      else if (codeType == SAMSUNG) {
        Serial.println("Type SAMSUNG ");
      } 
      else {
        Serial.print("Unexpected codeType ");
        Serial.print(codeType, DEC);
        Serial.println("");
      }
    }
  }  
}

void sendCode (long codeValue , int codeType , int codeLen){
  if (codeType == NEC) {
      irsend.sendNEC(codeValue, codeLen);
      Serial.print("Sent NEC ");
      Serial.println(codeValue, HEX);
  } 
  else if (codeType == SONY) {
    irsend.sendSony(codeValue, codeLen);
    Serial.print("Sent Sony ");
    Serial.println(codeValue, HEX);
  } 
  else if (codeType == PANASONIC) {
    irsend.sendPanasonic(codeValue, codeLen);
    Serial.print("Sent Panasonic");
    Serial.println(codeValue, HEX);
  }
  else if (codeType == JVC) {
    irsend.sendJVC(codeValue, codeLen, false);
    Serial.print("Sent JVC");
    Serial.println(codeValue, HEX);
  }
  else if (codeType == SAMSUNG) {
    irsend.sendSAMSUNG(codeValue, codeLen);
    Serial.print("Sent SANSUNG");
    Serial.println(codeValue, HEX);
  }
}

📌 FAQ – Créer une télécommande infrarouge avec Arduino

Q : Quel composant faut-il pour envoyer des signaux infrarouges ?
R : Tu as besoin d’une LED infrarouge (IR émettrice). Elle est généralement pilotée via une broche numérique de l’Arduino, souvent avec une résistance en série.


Q : Peut-on utiliser n’importe quelle télécommande IR avec Arduino ?
R : Oui, tant qu’elle fonctionne sur un protocole courant (NEC, Sony, etc.). Tu peux capturer ses codes avec un récepteur infrarouge (comme le TSOP4838) et les réutiliser.


Q : Quelle bibliothèque utiliser pour envoyer ou lire les codes IR ?
R : La bibliothèque IRremote est la plus utilisée. Elle permet de décoder les signaux entrants, mais aussi d’en émettre en simulant une vraie télécommande.


Q : Est-ce que la portée est bonne avec une LED IR ?
R : En ligne droite, sans obstacle, tu peux atteindre jusqu’à 5 à 10 mètres avec une LED bien alimentée et dirigée. Pour plus de portée, tu peux utiliser un transistor en amplification.


Q : Ce projet peut-il contrôler une TV ou un appareil du commerce ?
R : Oui, si tu récupères les bons codes IR et les reproduis fidèlement. Tu peux même reprogrammer une télécommande universelle en fonction de tes besoins Arduino.

🔗 À découvrir aussi sur Retro&Geek

👉 Configurer le module HC-05 pour Arduino (Bluetooth)
Une alternative moderne à l’infrarouge : sans fil, bidirectionnel, et compatible Android.

👉 Créer une application Android avec AppInventor pour piloter un Arduino
Transforme ton smartphone en télécommande connectée grâce à une interface graphique personnalisée.

👉 Fabriquer un capteur connecté avec ESP8266
Pour aller plus loin dans la domotique et déclencher des actions à distance.

👉 Créer un piège d’Halloween motorisé avec Arduino
Un projet fun et interactif où une télécommande IR peut très bien servir de déclencheur surprise 🎃

N’hésitez pas à poser vos questions sur les réseaux sociaux de la chaîne instagramtwitter , facebook ,youtube ; si vous ne comprenez pas certaines parties du tutoriel n’hésitez pas , me dire ce que vous aimeriez que je crée pour en faire des vidéos tutoriel  et à partager les projets que vous aimeriez créer etc…

Comme toujours allez sur la page de C’est quoi Retro et Geek pour connaître tout ce que je recherche à faire sur la chaîne.

Merci les RetroGeeker et RetroGeekeuse

Sur une échelle de 1 à 5, comment évalueriez-vous la convivialité de notre site Web?
J'ai besoin de ton avis
Envoyer mon avis
Quel genre de contenu aimeriez-vous voir plus souvent sur RetroetGeek ?
Quel aspect de RetroetGeek aimeriez-vous voir amélioré en priorité ?
Autre chose à dire ?
______________________________________________________________________________
Sur une échelle de 1 à 5, comment évalueriez-vous la convivialité de notre site Web?
J'ai besoin de ton avis
Envoyer mon avis
Quel genre de contenu aimeriez-vous voir plus souvent sur RetroetGeek ?
Quel aspect de RetroetGeek aimeriez-vous voir amélioré en priorité ?
Autre chose à dire ?
______________________________________________________________________________
Rejoignez la Newsletter!
Soyez informé des nouveautés directement dans votre boite email
S'abonner
Rejoignez la Newsletter!
Soyez informé des nouveautés directement dans votre boite email
S'abonner
Newsletter
Cookie
Ce site utilise des cookies pour vous garantir la meilleure expérience sur notre site. Vous pouvez changer les paramètres que vous souhaitez.
Mentions légales & cookies
Paramètres Cookies
Oui, j'aime les Cookies !
Beurk ! ( non )
cookie
Cookie
Ce site utilise des cookies pour vous garantir la meilleure expérience sur notre site. Vous pouvez changer les paramètres que vous souhaitez.
Mentions légales & cookies
Paramètres Cookies
Oui, j'aime les Cookies !
Beurk ! ( Non )
cookie