Commande a distance Arduino

Regardons la connexion d’un récepteur IR à l’Arduino. Nous vous indiquerons quelle librarie doit être utilisée pour le récepteur IR, nous ferons la démonstration d’un programme permettant de tester le fonctionnement du récepteur IR à partir de la télécommande et nous décomposerons les commandes Arduino. Notons tout de suite que le capteur IR ne convient pas à toutes les télécommandes car la fréquence du signal peut être différente.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • télécommande et récepteur IR
  • LED et résistance
  • servomoteur
  • breadboard
  • fils de connexion
  • librarie IRremote.h

Matériel supplémentaire sur ce sujet:

  1. Contrôle des LEDs par télécommande IR Arduino
  2. Éclairage intelligent Arduino avec télécommande IR
  3. Comment connecter servo moteur avec Arduino

Fonctionnement récepteur IR (datasheet)

Principe de fonctionnement du récepteur IR
Principe de fonctionnement du capteur infrarouge (datasheet)

Les récepteurs IR sont largement utilisés dans les appareils domestiques en raison de leur prix abordable et de leur facilité d’utilisation. Ces dispositifs permettent de contrôler les appareils à distance et peuvent être trouvés dans tous les types d’appareils. Le récepteur IR est capable de recevoir et de traiter un signal, sous forme d’impulsions d’une durée et d’une fréquence prédéfinies. Malgré cela, le module Bluetooth gagne progressivement en popularité.

Le récepteur IR Arduino a normalement trois pattes et se compose des éléments suivants: Photodiode PIN, amplificateur, filtre passe-bande, détecteur d’amplitude, filtre intégrateur et transistor de sortie. Le signal est envoyé à l’amplificateur puis au filtre passe-bande qui est réglé sur une fréquence fixe de 30, 33, 36, 38, 40 et 56 kilohertz et protège le récepteur des interférences. Cette interférence peut être causée par tout appareil domestique.

Comment brancher capteur infrarouge Arduino Uno

Connecter recepteur IR et LCD Arduino
Comment connecter récepteur IR et LCD à l’Arduino

Pour connecter le récepteur IR à l’Arduino Uno, utilisez trois broches qui se connectent à – GND, 5V et toute broche numérique. Il est conseillé d’utiliser 3,3 V pour commencer, afin de ne pas endommager le capteur IR lors de la mise en place. Connectez le récepteur IR en suivant le schéma ci-dessus et connectez la LED à la broche 12. Avant de télécharger le programme, vous devez installer la bibliothèque IRremote.h, qui ne fait pas partie des libraries standard.

Programme Arduino piloter de LED à distance

#include "IRremote.h"

IRrecv irrecv(A1);
decode_results results;

void setup() {
   Serial.begin(9600); // ouvre le port série
   irrecv.enableIRIn();
   pinMode(12, OUTPUT);  // initialise les broches
}

void loop() {
   if (irrecv.decode(&results)) {
      Serial.println(results.value);
    
      if (results.value == 16718055) { digitalWrite(12, HIGH); }
      if (results.value == 16724175) {  digitalWrite(12, LOW); }
 
      irrecv.resume();
   }
}

Explication du code télécommande IR et capteur infrarouge avec LED:

  1. la fonction irrecv.decode_results() de la bibliothèque IRremote.h attribue le nom de la variable results.value aux signaux reçus de la télécommande;
  2. dans les conditions if (results.value == 16724175) vous devez mettre vos valeurs, elles apparaîtront sur le port série lorsque les boutons de la télécommande seront pressés.
Connecter recepteur IR et servo Arduino
Comment connecter récepteur IR et servomoteur à l’Arduino

Le capteur IR peut être utilisé dans de nombreux microcontrôleurs Arduino, notamment pour commander à distance un servo Arduino à partir d’un récepteur IR (commande à distance). Lors de la configuration, vous devez ouvrir le moniteur série du port IDE de l’Arduino et trouver quel signal le bouton de la télécommande envoie. Les codes uniques qui en résultent doivent être utilisés dans l’esquisse après le double signe égal dans la condition if().

Programme Arduino piloter de servo à distance

#include "IRremote.h"
IRrecv irrecv(A1);
decode_results results;

#include "Servo.h"
Servo myservo;  // création de l'objet "myservo"

void setup() {
   Serial.begin(9600); // ouvre le port série
   irrecv.enableIRIn();
   myservo.attach(9);  // attache le servo au pin spécifié
}

void loop() {
   if (irrecv.decode(&results)) {
      Serial.println(results.value);
    
      if (results.value == 16718055) { myservo.write(10); }
      if (results.value == 16724175) { myservo.write(90); }
 
      irrecv.resume();
  }
}

Explication du code télécommande IR et capteur infrarouge avec servo:

  1. dans les conditions if (results.value == 16724175) vous devez mettre votre code unique (surligné en gras), ils apparaîtront sur le moniteur du port série lorsque les boutons de la télécommande seront pressés.

Conclusion. Pour que le signal de la télécommande soit reçu par le récepteur IR de l’Arduino, la télécommande doit être à la même fréquence que le filtre du récepteur IR. Par conséquent, toutes les télécommandes Arduino Nano ne fonctionnent pas. Vous devez sélectionner un récepteur IR et un émetteur IR ayant la même fréquence. Après le filtre, le signal passe par le détecteur d’amplitude, le filtre intégrateur et le transistor de sortie.





12 Replies to “IR receiver, émetteur récepteur infrarouge Arduino”

  1. bonjour,
    le code fonctionne mais j’ai un problème, les bouton de ma télécomande arduino donne tous le même nombre

    1. Bonjour,
      Cela doit être du à la version de la bibliothèque.
      Personnellement, pour ce code, j’utilise la version 3.3.0
      Il existe beaucoup de versions plus récentes
      Bonne journée,

  2. Bonjour, moi j’ai eux le même problème que @apex, mais maintenant ma télécommande ne fonctionne tout simplement pas, aucun signal, aucun code, je n’arrive pas à programmer ma télécommande du tout….

    1. Vérifiez la qualité de la connexion du capteur IR à l’Arduino. Vérifier la charge de la batterie et la fonctionnalité de la télécommande IR.

        1. Bonjour. Chargez n’importe quel programme – les codes seront affichés sur le moniteur série de l’IDE Arduino.

  3. Je viens de commencer l’arduino.

    Pour m’amuser j’ai voulu refaire le schéma avec le detecteur IR mais j’ai recontré un pb. Peut importe la touche sur la quelle j’appui avec ma télécommande, c’est le meme chiffre qui sort a chaque fois, ce qui fait que je ne peux pas programmer correctement.
    Une idée pour résoudre le problème ?
    Merci

    1. Bonjour Raga,
      c’est un problème de la librairie IRremote.h: désinstalle-la et réinstalle une version antérieure (la 3.5 par exemple).

    1. L’Arduino ne peut pas brûler, même si vous court-circuitez « GND » et « 5V », la protection contre les courts-circuits de la carte s’activera. La carte peut griller si vous court-circuitez accidentellement les fils d’alimentation des pattes du processeur.

  4. Bonjour je débute en arduino et a chaque fois que je lance le code
    il m’affiche un message :

    « Thank you for using the IRremote library!
    It seems, that you are using a old version 2.0 code / example.
    This version is no longer supported!
    Please use one of the new code examples from the library,
    available at « File > Examples > Examples from Custom Libraries / IRremote ».
    Or downgrade your library to version 2.6.0. »

    je ne comprends pas
    en plus de cela mon récepteur infrarouge chauffe beaucoup
    merci de votre réponse

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.