Introduction

Dans cette expérience, nous allons apprendre à utiliser un récepteur infrarouge (IR) et un module émetteur IR. Ces dispositifs jouent un rôle important dans la vie quotidienne, car de nombreux appareils électroménagers utilisent la technologie infrarouge, tels que les climatiseurs, les téléviseurs, les lecteurs DVD et autres équipements électroniques. Cette technologie repose sur une communication sans fil par télécommande, ce qui rend l’utilisation des appareils simple, efficace et très pratique.

Grâce aux modules KY-005 (émetteur infrarouge) et KY-022 (récepteur infrarouge), il est possible de réaliser un système simple de télécommande infrarouge. Ce montage nécessite deux cartes Arduino : l’une est utilisée pour envoyer les signaux infrarouges, l’autre pour les recevoir. Elles fonctionnent donc respectivement comme émetteur et récepteur.

Il est essentiel que les données envoyées par l’émetteur correspondent exactement à celles interprétées par le récepteur. Pour cela, il faut connaître le format des codes transmis et s’assurer que les deux programmes utilisent le même protocole et les mêmes valeurs.

IR Receiver

Ce module permet de capter les rayonnements infrarouges et de les convertir en signaux numériques disponibles sur sa sortie. Lorsqu’un signal est détecté, une diode lumineuse présente sur le module s’allume brièvement afin d’indiquer visuellement que la réception a bien eu lieu.

Il convient parfaitement aux projets faisant appel à des télécommandes infrarouges ou à d’autres sources de signaux infrarouges. Grâce à sa facilité d’intégration et à la fiabilité de son décodage, ce composant peut être utilisé dans de nombreux montages électroniques, notamment pour créer des systèmes de commande à distance ou pour transmettre des informations sans liaison filaire.

Pour mener à bien ce projet, il est nécessaire d’installer la bibliothèque IRemote afin d’assurer le bon fonctionnement du programme. Pour apprendre à installer une bibliothèque dans l’IDE Arduino, vous pouvez consulter notre cours dédié aux bibliothèques.

#include <IRremote.h>
#define IR_RECEIVE_PIN 13   // Broche du KY-022

void setup() {
  Serial.begin(9600);
  Serial.println("Récepteur IR prêt");
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
}

void loop() {
  if (IrReceiver.decode()) {

    uint32_t value = IrReceiver.decodedIRData.decodedRawData;
    uint8_t protocol = IrReceiver.decodedIRData.protocol;

    Serial.print("Code reçu : 0x");
    Serial.println(value, HEX);

    Serial.print("Protocole : ");
    Serial.println(protocol);

    IrReceiver.resume();  // Prêt pour la prochaine réception
  }
}

IR Emission

Ce module est équipé d’une diode LED infrarouge capable d’émettre un rayonnement invisible à l’œil humain. Bien que non perceptible visuellement, cette lumière infrarouge est largement exploitée dans de nombreux domaines, notamment pour les télécommandes, les systèmes de communication optique ou la détection de présence.

La diode fonctionne typiquement sous une tension d’environ 1,1 V avec un courant nominal de 20 mA :

Pour mener à bien ce projet, il est nécessaire d’installer la bibliothèque IRemote afin d’assurer le bon fonctionnement du programme. Pour apprendre à installer une bibliothèque dans l’IDE Arduino, vous pouvez consulter notre cours dédié aux bibliothèques.

#include <IRremote.h>
#define IR_SEND_PIN 7   // Broche où est connecté le KY-005

IRsend irsend(IR_SEND_PIN);

void setup() {
  Serial.begin(9600);
  Serial.println("Emetteur IR prêt");
}

void loop() {
  uint32_t code = 0x20DF10EF;  // Exemple de code IR (format NEC)

  Serial.print("Envoi du code : 0x");
  Serial.println(code, HEX);

  irsend.sendNEC(code, 32);   // Envoi du code sur 32 bits

  delay(2000);
}