ESP32 - Conteo de botones - LCD

En este tutorial, exploraremos las capacidades del ESP32 para lograr los siguientes objetivos:

Además, este tutorial aborda el antirrebote del botón sin depender de la función delay(). Para una comprensión completa de por qué es crucial el antirrebote, puedes consultar la explicación proporcionada en Why do we need debouncing?.

Este tutorial te guiará a través del proceso para integrar de forma fluida el conteo de pulsaciones de botones, la funcionalidad de la pantalla LCD I2C y las técnicas de antirebote en tu proyecto ESP32.

Acerca de LCD I2C y el botón

¿No está familiarizado con LCD I2C y un botón, incluyendo sus pines, funcionalidad y programación? Explora tutoriales completos sobre estos temas a continuación:

Diagrama de Cableado

Diagrama de cableado de LCD I2C para ESP32 con botón

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Código ESP32 - mostrando el recuento de botones en una LCD I2C

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-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(27); // create ezButton object that attach to the ESP32 pin GPIO27 unsigned long lastCount = 0; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd 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 (lastCount != 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); lastCount != count; } }

Pasos R\u00e1pidos

  • Si es la primera vez que usa ESP32, consulte cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realice el cableado tal como se muestra en la imagen anterior.
  • Conecte la placa ESP32 a su PC mediante un cable micro USB.
  • Abra Arduino IDE en su PC.
  • Seleccione la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Haga clic en el icono Libraries en la barra izquierda del Arduino IDE.
  • Busque “ezButton”, luego encuentre la biblioteca ezButton por ArduinoGetStarted.
  • Haga clic en el botón Install para instalar la biblioteca ezButton.
Biblioteca de botones para ESP32
  • Busca “LiquidCrystal I2C”, luego encuentra la biblioteca LiquidCrystal_I2C de Frank de Brabander
  • Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C para ESP32
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32
  • Presiona el botón varias veces
  • Observa cómo cambia el número que se está contando en la pantalla LCD

※ Nota:

La dirección I2C del LCD puede variar según los fabricantes. En el código, usamos 0x27, que está especificada por el fabricante DIYables.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!