ESP8266 - Plusieurs boutons
Ce tutoriel vous explique comment programmer un ESP8266 pour qu'il fonctionne avec plusieurs boutons en même temps, sans dépendre de la fonction delay(). En détail, nous apprendrons :
- Comment programmer l'ESP8266 pour gérer plusieurs boutons avec anti-rebond.
- Comment programmer l'ESP8266 pour gérer plusieurs boutons avec anti-rebond en utilisant des tableaux.
Nous utiliserons trois boutons comme exemples. Vous pouvez facilement le modifier pour l'adapter à deux boutons, quatre boutons, ou même plus.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | PCB-mount Button | |
1 | × | Panel-mount Button | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Optional) ESP8266 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du bouton
Si vous n'êtes pas familier avec le bouton (brochage, fonctionnement, programmation...), les tutoriels suivants peuvent vous fournir plus d'informations :
- ESP8266 - Button tutorial
- ESP8266 - Button Debounce tutorial
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Code ESP8266 - Plusieurs boutons avec anti-rebond
Lorsque vous utilisez plusieurs boutons, les choses peuvent se compliquer dans certains scénarios :
- Applications nécessitant l'anti-rebond des boutons (voir pourquoi nous avons besoin de déparasiter les boutons)
- Applications nécessitant de détecter les changements d'état (appuyé/relâché)
Heureusement, la bibliothèque ezButton simplifie ce processus en gérant en interne le debounce et les événements des boutons. Cela décharge les utilisateurs de la tâche de gestion des horodatages et des variables lors de l'utilisation de la bibliothèque. De plus, l'utilisation d'un tableau de boutons peut améliorer la clarté et la concision du code.
Étapes rapides
Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
- Connectez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur via un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Faites le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP8266 à votre PC via un câble USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP8266 (par exemple ESP8266 Uno) et le port COM.
- Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
- Recherchez "ezButton", puis trouvez la bibliothèque de boutons par ESP8266GetStarted.
- Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
- Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
- Compilez et téléchargez le code sur la carte ESP8266 en cliquant sur le bouton Upload dans l'IDE Arduino.
- Ouvrez le moniteur série sur Arduino IDE
- Appuyez et relâchez le bouton un par un
Code ESP8266 - Plusieurs boutons utilisant un tableau
Nous pouvons améliorer le code ci-dessus en utilisant un tableau de boutons. Le code suivant utilise ce tableau pour gérer les objets bouton.