Arduino Nano - Botón - Pulsación Larga y Pulsación Corta
Este tutorial te enseña cómo usar Arduino Nano para detectar el pulsado largo y el pulsado corto del botón. En detalle, veremos los siguientes ejemplos:
- Arduino Nano detecta una pulsación corta del botón
- Arduino Nano detecta una pulsación larga del botón
- Arduino Nano detecta tanto una pulsación larga como una pulsación corta del botón
- Arduino Nano filtra el rebote para pulsaciones largas y cortas
En la última sección, aprenderemos cómo usar la técnica de anti-rebote para detectar pulsaciones de botones en aplicaciones prácticas. Para obtener más información sobre por qué es necesario el anti-rebote en los botones, consulte este artículo. Sin él, podríamos detectar erróneamente una pulsación corta del botón.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del botón
Si no está familiarizado con los botones (incluidos los pinouts, la funcionalidad y la programación), los siguientes tutoriales pueden ayudarle:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
En este tutorial, utilizaremos la resistencia pull-up interna. Como resultado, el estado del botón es ALTO en su estado normal y BAJO cuando se presiona.
Cómo detectar pulsación corta
Calculamos el intervalo entre los eventos de pulsación y liberación. Si la duración es menor que un tiempo predefinido, entonces se identifica el evento de pulsación corta.
Especifica la duración de una pulsación corta.
- Identificar cuándo se ha pulsado el botón y registrar la hora en que se pulsó.
- Detectar cuándo se suelta el botón y registrar el momento de la liberación.
- Presión
- Calcule la duración y la cantidad de presión aplicada.
- Compara la duración de la pulsación con el tiempo de pulsación corto especificado para identificar una pulsación corta.
Código de Arduino Nano para detectar la pulsación corta
Pasos R\u00e1pidos
- Carga el código al Arduino Nano usando el IDE de Arduino.
- Presiona el botón brevemente varias veces.
- Verifica la salida en el monitor serie.
※ Nota:
El Monitor Serial puede mostrar múltiples detecciones de pulsaciones cortas para una sola pulsación. Este es el comportamiento esperado del botón, conocido como el “fenómeno de rebote”. Abordaremos este problema en la parte final de este tutorial.
Cómo detectar una pulsación larga
Hay dos escenarios para detectar una pulsación larga:
- El evento de pulsación larga se identifica una vez que el botón ha sido soltado.
- El evento de pulsación larga se identifica mientras el botón está presionado, incluso antes de que haya sido soltado.
- I. Para la aplicación inicial, calcularemos el período de tiempo entre los eventos de pulsación y liberación. 2. Si la duración es mayor que una cantidad predeterminada de tiempo, entonces se identifica el evento de pulsación larga.
En el segundo caso de uso, cuando se pulsa el botón, el tiempo de pulsación se mide de forma continua y se verifica el evento de pulsación prolongada hasta que se suelte el botón. Mientras se mantiene pulsado el botón, si la duración excede un tiempo predefinido, se detecta el evento de pulsación prolongada.
Código de Arduino Nano para detectar pulsación larga al soltar
Pasos R\u00e1pidos
- Sube el código al Arduino Nano usando el IDE de Arduino.
- Espera un segundo y luego pulsa y suelta el botón.
- Consulta el resultado en el Monitor Serial.
El evento de pulsación prolongada solo se identifica cuando se suelta el botón.
Código de Arduino Nano para detectar pulsación prolongada durante la pulsación
Pasos R\u00e1pidos
- Sube el código al Arduino Nano usando el IDE de Arduino.
- Presiona y mantén presionado el botón durante unos segundos.
- Verifica la salida en el Monitor Serial.
El evento de mantener pulsado solo se registra cuando el botón no ha sido liberado.
Cómo Detectar Tanto una Pulsación Larga como una Pulsación Corta
Pulsación corta y pulsación larga después de soltar
Pasos R\u00e1pidos
- Sube el código al Arduino Nano usando el IDE de Arduino.
- Presiona el botón durante un corto o un largo periodo de tiempo.
- Verifica la salida en el Monitor Serial.
※ Nota:
El Monitor Serial puede mostrar múltiples detecciones de pulsaciones cortas cuando se realiza una pulsación larga. Este es el comportamiento esperado del botón y se le conoce como el "fenómeno de rebote". Una solución a este problema se proporcionará en la sección de conclusiones de este tutorial.
Pulsación corta y pulsación larga durante la pulsación
Pasos R\u00e1pidos
- Carga el código al Arduino Nano usando el IDE de Arduino.
- Mantén pulsado el botón durante un tiempo largo y luego durante un tiempo corto.
- Consulta el resultado en el Monitor Serial.
※ Nota:
El Monitor Serial puede detectar múltiples pulsaciones cortas cuando se realiza una pulsación prolongada. Este es el comportamiento esperado del botón y se conoce como el “fenómeno de rebote”. Este problema se abordará en la sección final de este tutorial.
Pulsación larga y pulsación corta con anti-rebote
Es esencial implementar el antirrebote en el botón en numerosas aplicaciones.
La eliminación del rebote puede ser complicada, especialmente cuando hay varios botones involucrados. Para hacerlo más sencillo para los principiantes, hemos desarrollado una biblioteca, conocida como ezButton.
Usaremos esta biblioteca en los códigos que aparecen a continuación.
Pulsación corta y pulsación larga con eliminación de rebote tras soltar
Pasos R\u00e1pidos
- Instala la biblioteca ezButton.
- Consulta Cómo hacerlo para obtener instrucciones.
- Carga el código en Arduino Nano usando el IDE de Arduino.
- Presiona y mantén presionado el botón durante un período corto o largo.
- Consulta los resultados en el Monitor Serial.
Pulsación corta y pulsación larga con antirrebote durante la pulsación
Pasos R\u00e1pidos
- Incluye la biblioteca ezButton en tu proyecto. Consulta Cómo para instrucciones.
- Compila y sube el código a tu placa Arduino Nano usando el IDE de Arduino.
- Mantén pulsado el botón durante un periodo corto o prolongado.
- Consulta la salida en el Monitor Serial.
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 necesita la pulsación larga y la pulsación corta
- Para minimizar la cantidad de botones, un solo botón puede tener múltiples funciones. Por ejemplo, una pulsación corta se puede usar para cambiar el modo de operación, mientras que una pulsación larga se puede usar para apagar el dispositivo.
- La pulsación prolongada se utiliza para evitar activaciones accidentales. Por ejemplo, algunos dispositivos usan un botón para el restablecimiento de fábrica. Si se pulsa involuntariamente, podría ser peligroso. Para evitar esto, el dispositivo está diseñado para que el restablecimiento de fábrica solo se active cuando el botón se mantiene presionado durante un tiempo determinado (p. ej. 5 segundos).