Arduino Nano - Télécommande IR

Vous êtes probablement déjà tombé sur la télécommande infrarouge, également appelée télécommande IR, lors de l'utilisation d'appareils tels que les téléviseurs et les climatiseurs à la maison... Ce tutoriel vous explique comment utiliser la télécommande infrarouge (IR) et un récepteur infrarouge pour contrôler l'Arduino Nano. En détail, nous apprendrons :

Contrôleur IR - Récepteur IR - Arduino Nano

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×IR Remote Controller and Receiver Kit
1×CR2025 Battery
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de la télécommande IR

Un système de contrôle IR comprend deux composants : une télécommande IR et un récepteur IR.

  • La télécommande IR est utilisée pour envoyer des commandes utilisant des signaux infrarouges.
  • Le récepteur IR capte et interprète ces signaux pour contrôler l'appareil.

Un kit IR se compose généralement des deux composants mentionnés ci-dessus : une télécommande IR et un récepteur IR.

Télécommande IR

La télécommande IR est un appareil portable qui émet des signaux infrarouges. Elle est équipée d'un clavier contenant plusieurs boutons :

  • Chaque bouton de la télécommande est assigné à une fonction ou commande spécifique.
  • Lorsqu'un bouton est pressé, la télécommande émet un signal infrarouge invisible. Ce signal transmet un code ou motif distinctif lié au bouton pressé.
  • Ces signaux infrarouges appartiennent au spectre infrarouge et ne peuvent pas être vus par l'œil humain.
Contrôleur IR
image source: diyables.io

Récepteur IR

Le module récepteur IR est un capteur qui détecte et reçoit les signaux infrarouges émis par la télécommande.

Le récepteur infrarouge détecte les signaux infrarouges entrants et les convertit en code (commande) représentant le bouton appuyé sur la télécommande.

Le récepteur IR peut être un capteur ou un module. Vous pouvez utiliser les choix suivants :

  • Module récepteur IR uniquement
  • Capteur récepteur IR uniquement
  • Capteur récepteur IR + Adaptateur
Module de capteur récepteur IR
image source: diyables.io
Adaptateur de capteur de réception IR
image source: diyables.io

Brochage du récepteur IR

Le module ou capteur de réception IR a trois broches :

  • Broche VCC : Connectez cette broche à la broche 3.3V ou 5V de l'Arduino Nano ou à une source d'alimentation externe.
  • Broche GND : Connectez cette broche à la broche GND de l'Arduino Nano ou à une source d'alimentation externe.
  • Broche OUT (Sortie) : Cette broche est la broche de sortie du module récepteur IR. Connectée à une broche d'entrée numérique sur l'Arduino Nano.

Comment ça fonctionne

Lorsqu'un utilisateur appuie sur un bouton de la télécommande IR, les étapes suivantes se produisent :

  • La télécommande IR code la commande associée au bouton en un signal infrarouge en utilisant un protocole spécifique.
  • La télécommande IR émet le signal infrarouge codé.
  • Le récepteur IR capte le signal infrarouge codé.
  • Le récepteur IR décode le signal infrarouge codé, le reconvertissant en la commande originale.
  • L'Arduino Nano lit la commande reçue du récepteur IR.
  • L'Arduino Nano associe la commande reçue à la touche correspondante qui a été pressée sur la télécommande IR.

Ces étapes expliquent le processus par lequel l'appui sur un bouton de la télécommande IR est traduit en une commande reconnaissable par l'Arduino Nano.

Il peut sembler compliqué, mais il n'y a pas de quoi s'inquiéter. Grâce à la bibliothèque DIYables_IRcontroller, cela devient incroyablement facile.

Diagramme de câblage

Schéma de câblage entre Arduino Nano et module récepteur IR

Schéma de câblage de la télécommande IR Arduino Nano

This image is created using Fritzing. Click to enlarge image

Schéma de câblage entre Arduino Nano et capteur de réception IR

Schéma de câblage de la télécommande IR Arduino Nano

This image is created using Fritzing. Click to enlarge image

Schéma de câblage entre Arduino Nano et le capteur récepteur infrarouge et l'adaptateur

Avant de connecter le capteur récepteur IR à l'Arduino Nano, vous avez la possibilité de le connecter à l'adaptateur. Cela permet une installation plus facile et assure une connexion adéquate entre le capteur récepteur IR et l'Arduino Nano.

Vous pouvez également connecter le capteur récepteur IR à l'adaptateur avant de le connecter au.

Adaptateur récepteur de télécommande IR Arduino Nano
image source: diyables.io

Comment programmer pour une télécommande infrarouge

  • Inclure la bibliothèque :
#include <DIYables_IRcontroller.h> // Bibliothèque pour le récepteur IR
  • Déclarez un objet DIYables_IRcontroller_17 ou DIYables_IRcontroller_21 correspondant aux télécommandes IR de 17 touches ou 21 touches :
DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // le temps d'antirebond est de 200ms // OU DIYables_IRcontroller_21 irController(IR_RECEIVER_PIN, 200); // le temps d'antirebond est de 200ms
  • Initialisez le contrôleur IR.
irController.begin();
  • Dans la boucle, vérifiez si une touche est pressée ou non. Si oui, obtenez la touche
Key17 key = irController.getKey(); // si utilisation d'une télécommande IR 17 touches // OU Key21 key = irController.getKey(); // si utilisation d'une télécommande IR 21 touches
  • Lors de la détection d'une pression sur une touche, vous pouvez effectuer des actions spécifiques correspondant à chaque touche.

Code Arduino Nano

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-ir-remote-control */ #include <DIYables_IRcontroller.h> // DIYables_IRcontroller library #define IR_RECEIVER_PIN 7 // The Arduino Nano pin connected to IR controller DIYables_IRcontroller_17 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms void setup() { Serial.begin(9600); irController.begin(); } void loop() { Key17 key = irController.getKey(); if (key != Key17::NONE) { switch (key) { case Key17::KEY_1: Serial.println("1"); // TODO: YOUR CONTROL break; case Key17::KEY_2: Serial.println("2"); // TODO: YOUR CONTROL break; case Key17::KEY_3: Serial.println("3"); // TODO: YOUR CONTROL break; case Key17::KEY_4: Serial.println("4"); // TODO: YOUR CONTROL break; case Key17::KEY_5: Serial.println("5"); // TODO: YOUR CONTROL break; case Key17::KEY_6: Serial.println("6"); // TODO: YOUR CONTROL break; case Key17::KEY_7: Serial.println("7"); // TODO: YOUR CONTROL break; case Key17::KEY_8: Serial.println("8"); // TODO: YOUR CONTROL break; case Key17::KEY_9: Serial.println("9"); // TODO: YOUR CONTROL break; case Key17::KEY_STAR: Serial.println("*"); // TODO: YOUR CONTROL break; case Key17::KEY_0: Serial.println("0"); // TODO: YOUR CONTROL break; case Key17::KEY_SHARP: Serial.println("#"); // TODO: YOUR CONTROL break; case Key17::KEY_UP: Serial.println("UP"); // TODO: YOUR CONTROL break; case Key17::KEY_DOWN: Serial.println("DOWN"); // TODO: YOUR CONTROL break; case Key17::KEY_LEFT: Serial.println("LEFT"); // TODO: YOUR CONTROL break; case Key17::KEY_RIGHT: Serial.println("RIGHT"); // TODO: YOUR CONTROL break; case Key17::KEY_OK : Serial.println("OK"); // TODO: YOUR CONTROL break; default: Serial.println("WARNING: undefined key:"); break; } } }
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-ir-remote-control */ #include <DIYables_IRcontroller.h> // DIYables_IRcontroller library #define IR_RECEIVER_PIN 7 // The Arduino Nano pin connected to IR controller DIYables_IRcontroller_21 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms void setup() { Serial.begin(9600); irController.begin(); } void loop() { Key21 key = irController.getKey(); if (key != Key21::NONE) { switch (key) { case Key21::KEY_CH_MINUS: Serial.println("CH-"); // TODO: YOUR CONTROL break; case Key21::KEY_CH: Serial.println("CH"); // TODO: YOUR CONTROL break; case Key21::KEY_CH_PLUS: Serial.println("CH+"); // TODO: YOUR CONTROL break; case Key21::KEY_PREV: Serial.println("<<"); // TODO: YOUR CONTROL break; case Key21::KEY_NEXT: Serial.println(">>"); // TODO: YOUR CONTROL break; case Key21::KEY_PLAY_PAUSE: Serial.println(">||"); // TODO: YOUR CONTROL break; case Key21::KEY_VOL_MINUS: Serial.println("–"); // TODO: YOUR CONTROL break; case Key21::KEY_VOL_PLUS: Serial.println("+"); // TODO: YOUR CONTROL break; case Key21::KEY_EQ: Serial.println("EQ"); // TODO: YOUR CONTROL break; case Key21::KEY_100_PLUS: Serial.println("100+"); // TODO: YOUR CONTROL break; case Key21::KEY_200_PLUS: Serial.println("200+"); // TODO: YOUR CONTROL break; case Key21::KEY_0: Serial.println("0"); // TODO: YOUR CONTROL break; case Key21::KEY_1: Serial.println("1"); // TODO: YOUR CONTROL break; case Key21::KEY_2: Serial.println("2"); // TODO: YOUR CONTROL break; case Key21::KEY_3: Serial.println("3"); // TODO: YOUR CONTROL break; case Key21::KEY_4: Serial.println("4"); // TODO: YOUR CONTROL break; case Key21::KEY_5: Serial.println("5"); // TODO: YOUR CONTROL break; case Key21::KEY_6: Serial.println("6"); // TODO: YOUR CONTROL break; case Key21::KEY_7: Serial.println("7"); // TODO: YOUR CONTROL break; case Key21::KEY_8: Serial.println("8"); // TODO: YOUR CONTROL break; case Key21::KEY_9: Serial.println("9"); // TODO: YOUR CONTROL break; default: Serial.println("WARNING: undefined key:"); break; } } }

Étapes rapides

  • Cliquez sur l'icône Libraries dans la barre de gauche de l'IDE Arduino.
  • Recherchez "DIYables_IRcontroller", puis trouvez la bibliothèque DIYables_IRcontroller par DIYables.
  • Cliquez sur le bouton Install pour installer la bibliothèque DIYables_IRcontroller.
Bibliothèque Arduino Nano DIYables_IRcontroller
  • Vous serez invité à installer la dépendance de la bibliothèque comme le montre l'image ci-dessous :
Bibliothèque IRremote Arduino Nano
  • Cliquez sur le bouton Install All pour installer la dépendance.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code sur Arduino Nano.
  • Appuyez sur les touches de la télécommande une par une.
  • Consultez le résultat sur le moniteur série.
  • Voici le résultat que vous pouvez attendre lorsque vous appuyez sur les touches d'une télécommande IR de 17 touches, une par une :
COM6
Send
1 2 3 4 5 6 7 8 9 * 0 # UP DOWN LEFT RIGHT OK
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vous pouvez maintenant apporter des modifications au code afin de contrôler des dispositifs tels que des LED, ventilateurs, pompes, actionneurs, et plus encore, en utilisant des télécommandes IR.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!