L’objectif de ce tutoriel est de concevoir un système permettant de piloter deux LEDs à distance à l’aide d’une télécommande infrarouge (IR) et d’une carte ESP8266 NodeMCU.
L’utilisateur apprendra à configurer le récepteur infrarouge pour capter les signaux émis par la télécommande, à identifier les codes des touches, puis à programmer la carte ESP8266 en MicroPython afin d’associer chaque bouton à une action précise : allumer, éteindre ou changer l’état des LEDs.
Ce projet a pour but de :
Comprendre le fonctionnement de la communication infrarouge entre une télécommande et un récepteur.
Découvrir comment interfacer un récepteur IR avec la carte ESP8266 NodeMCU.
Apprendre à contrôler plusieurs sorties numériques (les LEDs) à partir des signaux reçus.
Développer un programme MicroPython capable d’interpréter les codes IR et d’exécuter les commandes correspondantes.
En fin de tutoriel, l’utilisateur sera capable de créer un système de commande à distance simple et efficace, réutilisable pour d’autres applications comme la gestion de relais, de moteurs ou d’appareils domotiques.
1- Carte ESP8266 NodeMCU
C’est le microcontrôleur principal du projet. Il reçoit les signaux du capteur infrarouge et contrôle l’allumage des deux LEDs selon les commandes envoyées par la télécommande.
2- Récepteur infrarouge (IR) (KY-032)
Ce module reçoit les signaux émis par la télécommande IR et les transmet à la carte ESP8266 sous forme de codes numériques.
3- Télécommande infrarouge (IR Remote)
Il Sert à envoyer les signaux infrarouges. Chaque bouton envoie un code unique qui sera interprété par l’ESP8266 pour allumer ou éteindre une LED.
4- Deux LEDs (rouge et bleue, par exemple)
Ces LEDs seront commandées individuellement à distance à l’aide de la télécommande.
Deux résistances de 220 Ω
Elles sont utilisées pour limiter le courant dans les LEDs et éviter de les endommager.
5- Plaque d’essai (breadboard)
La plaque d'essai permet de connecter facilement tous les composants sans soudure.
6- Fils de connexion
Les fils de connexion Utilisés pour relier la carte ESP8266, les LEDs et le capteur IR sur la plaque d’essai.
1. Connexion des deux LEDs
Chaque LED doit être reliée à une broche numérique différente de la carte ESP8266 via une résistance de 220 Ω pour limiter le courant.
LED 1 (rouge) :
Anode (+) → D16 (GPIO0) via résistance 220 Ω
Cathode (–) → GND
LED 2 (bleue) :
Anode (+) → D1 (GPIO5) via résistance 220 Ω
Cathode (–) → GND
2. Connexion du récepteur infrarouge (IR)
Le récepteur IR possède généralement trois broches :
VCC → à connecter au 3.3V de la carte ESP8266
GND → à connecter au GND de la carte ESP8266
OUT → à connecter à une broche numérique (par exemple D2 (GPIO 4) de l’ESP8266
Tout d'abord vous devez télécharger cette bibliothèque ir_rx.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# More details can be found in TechToTinker.blogspot.com # George Bantique | tech.to.tinker@gmail.com from machine import Pin from ir_rx import NEC_16 led_rouge=Pin(16, Pin.OUT) led_bleue=Pin(5, Pin.OUT) ir_gpio=Pin(4, Pin.IN) def ir_callback(data, addr, ctrl): global ir_data global ir_addr if data > 0: ir_data = data ir_addr = addr print('Data {:02x} Addr {:04x}'.format(data, addr)) ir = NEC_16(ir_gpio, ir_callback) ir_data = 0 ir_addr = 0 led_rouge.value(0) # eteindre LED rouge led_bleue.value(0) # eteindre LED bleue while True: if ir_data > 0: # # Lecture du signal reçu par la telecommande if ir_data==0x0C: # on appuie sur la touche 1 de la telEcommande led_rouge.value(1) # allumer LED rouge led_bleue.value(1) # allumer LED bleue if ir_data==0x18: # on appuie sur la touche 2 de la telecommande led_rouge.value(0) # eteindre LED rouge led_bleue.value(0) # eteindre LED bleue if ir_data==0x08: # on appuie sur la touche 4 de la telecommande led_rouge.value(1) # allumer LED rouge led_bleue.value(0) # eteindre LED bleue if ir_data==0x1C: # on appuie sur la touche 5 de la telecommande led_rouge.value(0) # eteindre LED rouge led_bleue.value(1) # allumer LED bleue ir_data = 0 |
Explications
- Les deux broches D0 et D1 sont utilisées pour commander les deux LEDs.
- La broche D2 est connectée à la sortie du capteur IR.
- La variable ir_data sert à stocker le code numérique envoyé par la télécommande IR et reçu par le capteur infrarouge.
- À chaque appui sur un bouton de la télécommande, le programme change l’état des LEDs.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info