Arduino UNO R4 - Botón - Antirrebote
Al programar el Arduino Uno R4 para detectar un evento de pulsación de un botón, puede ocurrir que una única pulsación se detecte varias veces. Esto sucede porque, debido a factores mecánicos, el botón o interruptor puede cambiar rápidamente entre BAJO y ALTO varias veces. A esto se le llama "rebote". El rebote puede hacer que una pulsación de botón se detecte como múltiples pulsaciones, lo que puede causar errores en algunas aplicaciones. Este tutorial explica cómo corregir este problema, un proceso conocido como el filtrado de rebotes del botón.

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del Botón
Aprende sobre los botones (disposición de pines, funcionamiento, programación) en los siguientes tutoriales si no estás familiarizado con ellos:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Examinemos y comparemos el código del Arduino UNO R4 sin y con anti-rebote, y observemos sus comportamientos.
Arduino Uno R4 - Botón sin rebote
Antes de aprender sobre la técnica de debouncing, echemos un vistazo al código sin ella y veamos cómo se comporta.
Pasos R\u00e1pidos
Sigue estas instrucciones paso a paso:
- Si esta es la primera vez que usas Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
- Conecte los componentes de acuerdo con el diagrama proporcionado.
- Conecte la placa Arduino Uno R4 a su computadora usando un cable USB.
- Inicie el IDE de Arduino en su computadora.
- Seleccione la placa Arduino Uno R4 adecuada (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
- Copie el código anterior y ábralo en el IDE de Arduino.
- Haga clic en el botón Subir en el IDE de Arduino para enviar el código a Arduino UNO R4.

- Abre el Monitor Serial.
- Mantén presionado el botón durante unos segundos y suéltalo.
- Revisa el Monitor Serial para ver el resultado.
Como puedes ver, presionaste y soltaste el botón solo una vez. Sin embargo, Arduino lo reconoce como varias pulsaciones y liberaciones.
※ Nota:
El valor de DEBOUNCE_TIME varía según las diferentes aplicaciones. Cada aplicación podría usar un valor único.
Arduino Uno R4 - Botón con antirrebote
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con el IDE de Arduino.
- Pulsa el botón Subir en el IDE de Arduino para enviar el código al Arduino UNO R4.
- Abre el Monitor serie.
- Mantén pulsado el botón durante unos segundos antes de soltarlo.
- Revisa el Monitor serie.
Como se puede ver, pulsaste y soltaste el botón una vez. El Arduino lo detecta correctamente como una única pulsación y liberación, eliminando cualquier rebote.
Lo Hicimos Sencillo: Código de Debounce de Botón para Arduino UNO R4 Usando una Biblioteca
Creamos una forma más simple para los principiantes que usan muchos botones al crear una biblioteca llamada ezButton. Puedes obtener más información sobre la biblioteca ezButton aquí.
Veamos algunos códigos de ejemplo.
Código de anti-rebote de botón para Arduino UNO R4 para un solo botón
Código antirrebote de botones para Arduino UNO R4
Vamos a implementar antirrebote para 3 botones. Aquí está el diagrama de cableado entre Arduino UNO R4 y tres botones:

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.
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.