Arduino - Botón - Pulsación larga Pulsación corta
Aprenderemos:
- Cómo detectar la pulsación corta del botón
- Cómo detectar la pulsación larga del botón
- Cómo detectar tanto la pulsación larga como la pulsación corta del botón
- Pulsación larga y pulsación corta con antirrebote
En las tres primeras partes, aprendemos cómo detectar en principio.
En la última parte, aprendemos cómo detectar en la práctica aplicando el antirrebote. Vea por qué necesitamos aplicar antirrebote para el botón. Sin antirrebote, podemos detectar erróneamente una pulsación corta del botón.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de Botón
Si no sabes sobre los botones (disposición de pines, cómo funcionan, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
En este tutorial, utilizaremos la resistencia de pull-up interna. Por lo tanto, el estado del botón es ALTO cuando está en reposo y BAJO cuando se presiona.
Cómo Detectar una Pulsación Corta
Medimos la duración entre los eventos de pulsación y liberación. Si la duración es menor que un tiempo definido, se detecta el evento de pulsación corta.
Veamos paso a paso:
- Definir la duración máxima de una pulsación corta.
- Detectar cuando se presiona el botón y guardar el momento de la pulsación
- Detecta cuando se suelta el botón y guarda el tiempo de liberación
- Calcule la duración de la pulsació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 para detectar la pulsación corta
Pasos R\u00e1pidos
- Carga el código anterior en Arduino mediante el IDE de Arduino
- Pulsa el botón varias veces de forma breve
- Observa el resultado en el Monitor Serial
※ Nota:
El Monitor Serial puede mostrar varias detecciones de una pulsación corta para una sola pulsación. Este es el comportamiento normal del botón. A este comportamiento se le llama el “fenómeno de rebote”. El problema se resolverá en la última parte de este tutorial.
Cómo detectar una pulsación prolongada
Hay dos casos de uso para detectar la pulsación prolongada.
- El evento de pulsación larga se detecta justo después de que se suelta el botón
- El evento de pulsación larga se detecta durante el tiempo en que se mantiene presionado el botón, incluso si el botón aún no se ha soltado
En el primer caso de uso, medimos la duración entre los eventos de pulsación y liberación. Si la duración es mayor que un tiempo definido, se detecta el evento de pulsación prolongada.
En el segundo caso de uso, después de que se presione el botón, medimos continuamente el tiempo de pulsación y comprobamos el evento de pulsación larga hasta que se libere el botón. Si la duración es mayor que un tiempo definido, se detecta el evento de pulsación larga.
Código de Arduino para detectar una pulsación larga al soltar
Pasos R\u00e1pidos
- Carga el código anterior en Arduino usando el IDE de Arduino.
- Presiona y suelta el botón después de un segundo.
- Mira el resultado en el Monitor Serial.
El evento de pulsación prolongada solo se detecta inmediatamente después de soltar el botón.
Código de Arduino para detectar pulsación larga durante la pulsación
Pasos R\u00e1pidos
- Cargar el código anterior al Arduino mediante el IDE de Arduino
- Presiona y suelta el botón después de varios segundos.
- Ve el resultado en el Monitor Serial
El evento de pulsación prolongada solo se detecta cuando el botón aún no se ha liberado.
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
- Carga el código anterior en Arduino mediante el IDE de Arduino
- Haz una pulsación larga y una pulsación corta del botón
- Ver el resultado en el Monitor Serial
※ Nota:
El Monitor Serial puede mostrar varias detecciones de pulsaciones cortas al realizar una pulsación larga. 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 durante la pulsación
Pasos R\u00e1pidos
- Carga el código anterior en Arduino mediante el IDE de Arduino
- Presiona el botón de forma prolongada y de forma breve.
- Ver el resultado en el Monitor serie
※ 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 el “fenómeno de rebote”. El problema se solucionará en la última parte de este tutorial.
Pulsación Larga y Pulsación Corta con Antirrebote
Es muy importante evitar el rebote del botón en muchas aplicaciones.
El anti-rebote es un poco complicado, especialmente cuando se usan varios botones. Para hacerlo mucho más fácil 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
- Instala la biblioteca ezButton. Consulta Cómo hacerlo
- Carga el código anterior a Arduino mediante el IDE de Arduino
- Realiza una pulsación larga y una pulsación corta del botón.
- Consulta el resultado en el Monitor Serial
Pulsación corta y pulsación larga con eliminación de rebote durante la pulsación
Pasos R\u00e1pidos
- Instala la biblioteca ezButton. Ver Cómo hacerlo
- Carga el código anterior a Arduino mediante el IDE de Arduino.
- Realiza una pulsación larga y una pulsación corta en el botón.
- Ver el resultado 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 requieren pulsaciones prolongadas y cortas
- Para reducir la cantidad de botones. Un solo botón puede manejar dos o más funciones. Por ejemplo, una pulsación corta para cambiar el modo de operación y una pulsación larga para apagar el dispositivo.
- Para evitar pulsaciones cortas accidentales, se utiliza una pulsación larga. Por ejemplo, algunos dispositivos usan el botón para el restablecimiento de fábrica. Si el botón se presiona por accidente, es peligroso. Para evitarlo, el dispositivo está diseñado para realizar un restablecimiento de fábrica solo cuando la pulsación es larga (más de 5 segundos).