Tabla de contenido
En los sistemas digitales, los pulsadores mecánicos son una de las formas más comunes de entrada para interactuar con un microcontrolador. Sin embargo, al presionar o soltar un botón, los contactos metálicos no cambian instantáneamente de estado. En lugar de una transición limpia de “0” a “1”, se producen pequeñas fluctuaciones de voltaje conocidas como rebotes o bouncing, que pueden provocar lecturas erróneas o múltiples detecciones de una sola pulsación.
La imagen muestra este fenómeno:

Para eliminar este problema, puede aplicarse una técnica de anti-rebote por software, que consiste en ignorar temporalmente las lecturas fluctuantes inmediatamente después de una pulsación válida.
En el circuito mostrado, el interruptor se conecta entre la entrada del microcontrolador y tierra, mientras que una resistencia pull-up mantiene la línea en un nivel lógico alto (5 V) cuando el botón está en reposo.
Cuando el usuario presiona el interruptor, el nodo de entrada se conecta a GND, produciendo un nivel bajo (0 V).
Esto garantiza que la entrada nunca quede “flotando” y siempre tenga un valor definido, evitando lecturas inestables.
De forma complementaria, también se puede usar una resistencia pull-down (conexión inversa), donde la entrada está normalmente en bajo y pasa a alto al presionar el botón.