Arduino Nano ESP32 - Botón - Pulsación larga / Pulsación corta
Este tutorial proporciona instrucciones sobre cómo usar Arduino Nano ESP32 para detectar la pulsación larga y la pulsación corta. En detalle, aprenderemos:
- Cómo detectar la pulsación corta en el botón
- Cómo detectar la pulsación larga en el botón
- Cómo detectar tanto la pulsación larga como la pulsación corta
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de Botón
Tenemos tutoriales específicos sobre el botón. Cada tutorial contiene información detallada e instrucciones paso a paso sobre el pinout de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para Arduino Nano ESP32... Aprende más sobre ellos en los siguientes enlaces:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Este tutorial utilizará la resistencia pull-up interna. El estado del botón es ALTO cuando está en reposo y BAJO cuando se pulsa.
Cómo Detectar una Pulsación Corta
- Medir el tiempo entre los eventos de pulsación y liberación.
- Si la duración es menor que un tiempo predefinido, se detecta el evento de pulsación corta.
Veamos paso a paso:
- Define cuánto dura la pulsación corta máxima.
- Detectar cuándo se pulsa el botón y guardar la hora en que se pulsó
- Detectar cuando se suelta el botón y guardar el tiempo de liberación.
- Calcular la duración de la presión y
- Determina la pulsación corta comparando la duración de la pulsación con el tiempo de pulsación corto definido.
Código de Arduino Nano ESP32 para detectar la pulsación corta.
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
- Carga el código anterior al Arduino Nano ESP32 a través del IDE de Arduino.
- Presiona el botón brevemente varias veces.
- Consulta el resultado en el Monitor Serial. Se ve como a continuación:
※ Nota:
El Monitor Serial puede mostrar varias pulsaciones cortas por una sola pulsación. Esto es un comportamiento normal del botón. Este comportamiento se conoce como el “fenómeno de rebote”. Aprenderemos cómo eliminar este problema más adelante en este tutorial.
Cómo Detectar un Toque Largo
Hay dos casos de uso para detectar la pulsación larga.
- El evento de pulsación larga se detecta justo después de que se suelte el botón.
- El evento de pulsación larga se detecta mientras se está pulsando el botón.
En el primer caso:
- Medir la duración entre el evento presionado y el evento liberado.
- Si la duración es mayor que un tiempo predefinido, se detecta el evento de pulsación larga.
En el segundo caso: durante el tiempo en que se mantiene presionado el botón, realiza a continuación el siguiente proceso repetidamente:
- Mida el tiempo de pulsación.
- Si la duración es mayor que el tiempo predefinido, se detecta el evento de pulsación larga.
- De lo contrario, repita el proceso hasta que se suelte el botón.
Código para Arduino Nano ESP32 para detectar pulsación larga al soltar
Pasos R\u00e1pidos
- Si es la primera vez que utiliza Arduino Nano ESP32, consulte cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Cargue el código anterior en Arduino Nano ESP32 mediante Arduino IDE
- Presione y suelte el botón después de un segundo.
- Verifique el resultado en el Monitor Serial. Se muestra a continuación:
Código de Arduino Nano ESP32 para detectar pulsación prolongada
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Carga el código anterior en Arduino Nano ESP32 mediante Arduino IDE
- Presiona y suelta el botón después de varios segundos.
- Consulta el resultado en el Monitor Serial. Se ve como lo siguiente:
Cómo detectar tanto la pulsación larga como la pulsación corta
Pulsación corta y pulsación larga después de soltar
Pasos R\u00e1pidos
- Si esta es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
- Carga el código anterior en Arduino Nano ESP32 a través del IDE de Arduino.
- Realiza una pulsación larga y una pulsación corta del botón.
- Consulta el resultado en el Monitor Serial. Se muestra a continuación:
※ Nota:
El Monitor Serial puede mostrar varias detecciones de pulsaciones cortas cuando se mantiene pulsado. Este es el comportamiento normal del botón. Este comportamiento se llama “fenómeno de rebote”. El problema se resolverá en la última parte de este tutorial.
Pulsación corta y pulsación larga al pulsar
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Carga el código anterior a Arduino Nano ESP32 mediante Arduino IDE
- Realiza una pulsación larga y una pulsación corta del botón.
- Consulta el resultado en el Monitor Serial. Se ve de la siguiente manera:
Pulsación larga y pulsación corta con antirrebote
Es muy importante eliminar el rebote del botón en muchas aplicaciones.
El anti-rebote es un poco complicado, especialmente cuando se usan varios botones. Para hacerlo más sencillo para los principiantes, creamos una biblioteca, llamada ezButton.
Usaremos esta biblioteca en los códigos siguientes.
Pulsación corta y pulsación larga con antirrebote tras la liberación
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Instala la biblioteca ezButton. Consulta Cómo hacerlo
- Carga el código anterior en Arduino Nano ESP32 a través de Arduino IDE
- Realiza una pulsación larga y una pulsación corta del botón.
- Consulta el resultado en el Monitor Serial. Se ve como se muestra a continuación:
Pulsación corta y pulsación larga con anti-rebote durante la pulsación
Pasos R\u00e1pidos
- Si esta es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
- Instala la biblioteca ezButton. Ver Cómo hacerlo
- Carga el código anterior al Arduino Nano ESP32 a través del IDE de Arduino.
- Realiza una pulsación larga y una pulsación corta del botón.
- Consulta el resultado en el Monitor Serial. Se muestra a continuación:
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.
Por qué se necesitan pulsaciones largas y cortas
- Para reducir la cantidad de botones y pines de entrada digital. Un solo botón puede cumplir dos o más funciones. Por ejemplo, una pulsación corta para encender la luz, una pulsación larga para encender el ventilador.
- Utiliza la pulsación larga en lugar de la pulsación corta para evitar pulsar el botón por accidente. Por ejemplo, algunos tipos de dispositivos utilizan el botón para el restablecimiento de fábrica. Si se pulsa el botón por accidente, es peligroso.