Tutoriel ESP32 29/55 - Lecture de l'appui sur la touche de la télécommande IR avec ESP32 | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 29/55 - Lecture de l'appui sur la touche de la télécommande IR avec ESP32 | Kit d'apprentissage IoT ESP32 de SunFounder

Dans ce tutoriel, nous allons apprendre à détecter les signaux infrarouges (IR) en utilisant le module ESP32 et un récepteur IR compatible. Lorsque nous appuyons sur un bouton de la télécommande, l'ESP32 reconnaîtra le signal et exécutera des actions spécifiques, comme faire sonner un buzzer pour certaines touches. Ce projet est idéal pour ceux qui souhaitent intégrer des capacités de télécommande dans leurs applications ESP32 (dans la vidéo à 02:15).

à distance

L'ESP32 est un microcontrôleur puissant qui combine des capacités Wi-Fi et Bluetooth, ce qui le rend adapté à un large éventail d'applications IoT. Dans ce projet, nous utiliserons un récepteur IR pour interpréter les signaux d'une télécommande. Les touches pressées seront traitées dans le code, ce qui nous permettra d'agir en fonction des commandes reçues.

Matériel expliqué

Les principaux composants de ce projet incluent le microcontrôleur ESP32, un module récepteur IR et un buzzer. L'ESP32 sert de cerveau à l'opération, traitant les signaux reçus du récepteur IR. Le récepteur IR détecte les signaux infrarouges de la télécommande et les convertit en signaux électriques que l'ESP32 peut comprendre.

ir_receiver_sl838

Le récepteur IR a généralement trois broches : VCC (alimentation), GND (masse) et OUT (signal). La broche VCC est connectée à une source d'alimentation (3,3 V ou 5 V), tandis que le GND est connecté à la terre. La broche OUT envoie le signal décodé à l'ESP32, qui peut ensuite être utilisé pour déclencher diverses actions, comme activer un buzzer lorsqu'une touche spécifique est enfoncée.

Détails de la fiche technique

Fabricant Aiguisé
Numéro de pièce GP1UXC41
Tension Logique/IO 3,3 - 5,0 V
Tension d'alimentation 3,3 V (typ.)
Courant de sortie (par canal) 20 mA (max)
Courant de pointe (par canal) 50 mA (max)
Directives sur la fréquence PWM 38 kHz
Seuils de logique d'entrée 0,3 Vcc (haut), 0,2 Vcc (bas)
Chute de tension / RDS(on)/ saturation 0,5 V (max)
Limites thermiques 85 °C (max)
Colis TO-92
Notes / variantes Disponible en plusieurs configurations

  • Assurez une alimentation électrique correcte pour éviter d'endommager.
  • Utilisez des fils courts pour minimiser les interférences de signal.
  • Vérifiez l'orientation du récepteur IR avant de le connecter.
  • Confirmez que la batterie de la télécommande fonctionne.
  • Utilisez des résistances de tirage si nécessaire pour la stabilité.

Instructions de câblage

ESP32-29-IR-remote-wiring

Pour connecter le récepteur IR à l'ESP32, commencez par identifier les trois broches sur le récepteur IR : VCC, GND et OUT. Connectez la broche VCC à une source d'alimentation de 3,3 V sur l'ESP32. Ensuite, connectez la broche GND à l'une des broches de masse (GND) sur l'ESP32. Enfin, connectez la broche OUT à la broche GPIO 14 sur l'ESP32, qui est désignée pour le récepteur IR dans le code.

ESP32-29-IR-télécommande-schéma

Une fois les connexions établies, assurez-vous que le câblage est sécurisé. Si vous utilisez une plaque de prototypage, insérez le récepteur IR de sorte que le côté plat soit face à vous et que le renflement soit de l'autre côté. Cette orientation vous aidera à identifier correctement les broches. Assurez-vous de vérifier les connexions avant d'allumer l'ESP32.

Exemples de code et guide étape par étape

IR_recepteur_lib

installer leIRremoteESP8266bibliothèque par David Conran, Sébastien.

Dans le code, nous définissons la broche du récepteur IR en utilisant la constante.IR_RECEIVE_PIN, qui est réglé sur 14. Nous créons également une instance deIRrecvpour traiter les signaux IR.

const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

Cette configuration nous permet de recevoir des signaux de la télécommande IR. Dans lesetup()fonction, nous initialisons la communication série et activons le récepteur IR.

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
}

Dans leloop()fonction, nous vérifions si un signal IR a été reçu. Si c'est le cas, nous décodons la valeur de la clé et l'imprimons sur le moniteur série.

if (irrecv.decode(&results)) {
    String key = decodeKeyValue(results.value);
    Serial.println(key);
    irrecv.resume(); 
}

Ce morceau de code montre comment nous décodons le signal reçu et imprimons la valeur de clé correspondante sur le moniteur série.decodeKeyValue()La fonction mappe le signal reçu à des valeurs de bouton spécifiques, telles que "0", "1", "EQ" et d'autres. Vous pouvez trouver le code complet chargé en bas de l'article.

Démonstration / À quoi s'attendre

Une fois le câblage terminé et le code téléversé, appuyer sur un bouton de la télécommande devrait afficher la valeur de la touche correspondante sur le moniteur série. Par exemple, appuyer sur le bouton "2" imprimera "2" sur le moniteur. Si la touche n'est pas reconnue, cela renverra "ERREUR". Le buzzer émettra un son lorsque la touche désignée (par exemple, "EQ") est pressée, fournissant un retour immédiat.

Soyez attentif aux pièges courants, tels que la polarité inversée dans vos connexions ou l'utilisation de niveaux de tension incorrects. Assurez-vous que la télécommande fonctionne correctement et dispose d'une batterie fonctionnelle avant de tester votre installation (dans la vidéo à 15:30).

Horodatages vidéo

  • 00:00 Début
  • 2:05 Introduction au récepteur IR
  • 4:24 Explication du câblage
  • 6:08 Explication du code Arduino pour récepteur IR
  • 10:06 Sélectionner la carte ESP32 et le port COM dans l'IDE Arduino
  • 11:48 Démonstration de projet
  • 13:09 Buzzer actif directement connecté à l'ESP32
  • 14:40 prendre des mesures lorsqu'une touche est pressée
  • 15:30 Code Arduino pour passer à l'action
  • 16:54 Démonstration de pression de touche et de buzzer

Images

IR_receiver_lib
IR_receiver_lib
ir_receiver_sl838
ir_receiver_sl838
remote
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Fichiers📁

Fiche technique (pdf)