ESP8266 - Compteur de Bouton - LCD

Ce tutoriel vous explique comment utiliser l'ESP8266 pour compter les pressions sur un bouton et afficher le nombre compté sur un écran LCD. Il est possible de modifier cela pour l'utilisation avec différents capteurs au lieu du bouton.

Dans ce tutoriel, nous allons supprimer le rebond du bouton sans utiliser la fonction delay(). Pour plus d'informations, veuillez consulter Pourquoi avons-nous besoin de supprimer le rebond ?

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Push Button
1×(Optional) Panel-mount Push Button
1×LCD I2C
1×Breadboard
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de l'écran LCD I2C et du bouton

Si vous ne connaissez pas le LCD I2C et les boutons (brochage, fonctionnement, programmation...), les tutoriels suivants peuvent vous aider à apprendre :

Diagramme de câblage

Schéma de câblage ESP8266 NodeMCU Bouton LCD I2C

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 - affichage du nombre de clics sur un LCD I2C

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp8266/esp8266-button-count-lcd */ #include <LiquidCrystal_I2C.h> #include <ezButton.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows ezButton button(13); // create ezButton object for pin 13; unsigned long prev_count = 0; void setup() { Serial.begin(9600); lcd.init(); // Initialize the LCD I2C display lcd.backlight(); // open the backlight button.setDebounceTime(50); // set debounce time to 50 milliseconds button.setCountMode(COUNT_FALLING); } void loop() { button.loop(); // MUST call the loop() function first unsigned long count = button.getCount(); if (prev_count != count) { Serial.println(count); // print count to Serial Monitor lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Count: "); lcd.print(count); prev_count != count; } }

É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 votre première utilisation de l'ESP8266.
  • Connectez les composants comme indiqué dans 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, telle que (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Recherchez "ezButton" et localisez la bibliothèque de boutons de ArduinoGetStarted.
  • Appuyez sur le bouton Install pour installer la bibliothèque ezButton.
Bibliothèque de boutons ESP8266 NodeMCU
  • Recherchez « LiquidCrystal I2C » et trouvez la bibliothèque LiquidCrystal_I2C créée par Frank de Brabander.
  • Ensuite, cliquez sur le bouton Install pour ajouter la bibliothèque.
Bibliothèque LiquidCrystal I2C ESP8266 NodeMCU
  • Copiez le code et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload pour envoyer le code à l'ESP8266.
  • Appuyez plusieurs fois sur le bouton.
  • Observez le compteur sur l'écran LCD changer.

※ NOTE THAT:

L'adresse de l'écran LCD peut varier selon le fabricant. Nous avons utilisé 0x27 dans notre code, comme spécifié par DIYables.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!