ESP8266 - Bouton
Ce tutoriel vous explique comment utiliser l'ESP8266 avec un bouton. Plus en détail, nous apprendrons :
- Comment connecter le bouton à ESP8266
- Comment programmer ESP8266 pour lire l'état du bouton
- Comment programmer ESP8266 pour détecter les événements d'appui et de relâchement du bouton.
- Comment prévenir le problème d'entrée flottante lors de l'utilisation du bouton avec ESP8266.
- Comment prévenir le problème de rebond lors de l'utilisation du bouton avec ESP8266.
Le bouton est également connu sous d'autres noms, tels que bouton-poussoir, bouton tactile ou interrupteur momentané. C'est un composant courant utilisé dans de nombreux projets ESP8266 et il est facile à utiliser. Cependant, il peut être déroutant pour les débutants en raison de ses aspects mécaniques et physiques et des différentes manières dont il peut être utilisé. Ce tutoriel facilite l'apprentissage pour ceux qui débutent.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Diagramme de câblage
- Schéma de câblage entre ESP8266 et bouton monté sur PCB
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.
- Schéma de câblage entre ESP8266 et bouton monté sur panneau
This image is created using Fritzing. Click to enlarge image
Comment programmer un bouton
- Utilisez la fonction pinMode() pour configurer la broche ESP8266 en entrée avec pull-up interne. Par exemple, la broche D7 :
- Accédez à l'état de la broche ESP8266 en utilisant la fonction digitalRead().
※ NOTE THAT:
Deux cas d'utilisation courants sont disponibles :
- Le premier consiste à agir si l'état d'entrée est HIGH et à faire quelque chose en inverse si l'état d'entrée est LOW.
- Le second consiste à agir lorsque l'état d'entrée passe de LOW à HIGH (ou de HIGH à LOW).
Nous en sélectionnons un selon l'application. Par exemple, si nous voulons utiliser un bouton pour contrôler une LED :
- Si l'intention est que la LED soit ON lorsque le bouton est pressé et OFF lorsque le bouton n'est pas pressé, le premier cas d'utilisation doit être utilisé.
- Si l'objectif est que la LED alterne entre ON et OFF à chaque fois que le bouton est pressé, le second cas d'utilisation doit être employé.
Comment détecter le changement d'état de LOW à HIGH
Code ESP8266
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme montré sur le diagramme.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'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.
- Connectez l'ESP8266 à votre ordinateur avec un câble USB.
- Lancez Arduino IDE, sélectionnez la bonne carte et le bon port.
- Copiez le code ci-dessous et ouvrez-le dans Arduino IDE.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code sur la carte ESP8266.
- Ouvrez le moniteur série.
- Appuyez et relâchez le bouton plusieurs fois.
- Consultez le résultat dans le moniteur série.
1 est ÉLEVÉ, 0 est BAS.
Explication du code
Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !
Modifier le code ESP8266
Modifions le code afin qu'il puisse détecter lorsqu'un événement d'appui et de relâchement se produit.
Étapes rapides
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Modifiez le code comme suit :
- Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code vers l'ESP8266.
- Ouvrez le moniteur série.
- Appuyez sur le bouton et maintenez-le enfoncé.
- Relâchez le bouton et observez le résultat sur le moniteur série.
※ NOTE THAT:
Même si vous appuyez et relâchez le bouton une seule fois, la sortie sur le moniteur série peut afficher plusieurs événements de pression et de relâchement. Cela est le comportement attendu du bouton. Cela est connu sous le nom de "phénomène de rebond". Pour plus d'informations, veuillez vous référer au tutoriel ESP8266 - Antirebond du bouton.
※ NOTE THAT:
Nous avons développé une bibliothèque, appelée ezButton, pour simplifier l'utilisation, particulièrement pour ceux qui débutent avec plusieurs boutons. Vous pouvez en savoir plus sur la bibliothèque ezButton ici.
Vidéo
Mettez-vous au défi
- Lorsque le bouton est pressé, allumez la LED.
- Lorsque le bouton n'est pas pressé, éteignez la LED.
- Chaque fois que le bouton est pressé, basculez la LED entre ON et OFF.
Connaissances supplémentaires
- À quels moments ne devrions-nous PAS utiliser une résistance de tirage vers le haut ou vers le bas pour une broche d'entrée ? 2. Quand ne devrions-nous pas utiliser une résistance de tirage vers le haut ou vers le bas pour une broche d'entrée ?
- Si le capteur présente des états fermés ou ouverts, une résistance de tirage vers le haut ou vers le bas est requise pour faire passer ces états à BAS et HAUT. Des exemples de tels capteurs incluent le bouton-poussoir, l'interrupteur, l'interrupteur à contact magnétique (capteur de porte).
- D'autre part, si le capteur dispose de deux niveaux de tension définis (BAS et HAUT), une résistance de tirage vers le haut ou vers le bas n'est pas nécessaire. Des exemples de tels capteurs sont le capteur de mouvement et le capteur tactile.