Utiliser une télécommande infrarouge IR GT017 – Arduino

Les télécommandes infrarouges sont couramment utilisées pour contrôler divers équipements électroniques, tels que les téléviseurs, les lecteurs de DVD et les systèmes de son.

Les modules infrarouges, qui sont des récepteurs capables de lire les signaux envoyés par les télécommandes, sont utilisés pour permettre à une carte Arduino de recevoir les données envoyées par une télécommande infrarouge.

J’utilise une télécommande infrarouge miniature livrée avec un récepteur IR 38 kHz. Cette télécommande est disponible sur le site de Gotronic.

Nous allons utiliser la bibliothèque IRremote pour communiquer avec le module infrarouge et lire les signaux de la télécommande. Nous allons également utiliser un code simple pour allumer et éteindre une LED en fonction des signaux reçus.

 

Télécharger la librairie IRremote 

Pour installer la librairie, dans Arduino, se rendre dans :
–> Croquis
–> Inclure une bibliothèque
–> Ajouter une bibliothèque .zip
et rechercher la bibliothèque que vous venez de télécharger.

Une fois que la bibliothèque est installée, vous pouvez utiliser le code suivant pour recevoir les signaux de la télécommande. Il est déjà conseillé de récupérer le code hexadécimal pour chacun des boutons. Pour le faire, vous pouvez utiliser le code suivant :

#include <IRremote.h>

const byte IR_RECEIVE_PIN = 11;

unsigned long code;

void setup() {
Serial.begin(9600);
IrReceiver.begin(IR_RECEIVE_PIN);
}

void loop() {
if (IrReceiver.decode()) {
code = IrReceiver.decodedIRData.command;
Serial.println(code, HEX);
IrReceiver.resume();
}
}
Récupérer le code hexa des boutons

 

Une fois les codes réceptionnés, nous pouvons tester des conditions afin de valider le fonctionnement du système. J’ai récupéré les codes des boutons 1 et 2 de la télécommande :

BOUTON Code hexadécimal
1 0x16
2 0x19

Avec le code suivant, si j’appuie sur le bouton 1, j’allume la LED 13.

Si j’appuie sur le bouton 2, j’éteins la LED 13. Il est à noter que la LED 13 est directement visible sur la carte Arduino (généralement noté L).

#include <IRremote.h>

const byte IR_RECEIVE_PIN = 11;
const byte LED_PIN = 13; // Broche de la LED
unsigned long code;

void setup() {
Serial.begin(9600);
IrReceiver.begin(IR_RECEIVE_PIN);
pinMode(LED_PIN, OUTPUT); // Configure la broche de la LED en sortie
}

void loop() {
if (IrReceiver.decode()) {
code = IrReceiver.decodedIRData.command;
Serial.println(code, HEX);
IrReceiver.resume();

// Vérifie la valeur de la variable "code" et allume ou éteint la LED en conséquence
if (code == 0x16) // Si le code est égal à 16
{
digitalWrite(LED_PIN, HIGH); // Allume la LED

} else if (code == 0x19) // Si le code est égal à 19
{
digitalWrite(LED_PIN, LOW); // Éteint la LED
}
}
}
Allumer/Eteindre LED - Télécommande infrarouge

 

Démarrez une conversation

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. En savoir plus sur comment les données de vos commentaires sont utilisées.