O que é Bouncing (Efeito de Repique)?
Share
O Bouncing (Efeito de Repique) é a geração transitória de ruído elétrico que ocorre na ativação de chaves e interruptores mecânicos quando os contatos internos colidem e ricocheteiam gerando falsos pulsos digitais.
Como Lidar com o Efeito de Bouncing no Arduino
Em sistemas digitais rápidos construídos com o Arduino Uno R3 SMD ou o Módulo ESP32 NodeMCU, o bouncing é problemático. Quando o usuário clica uma única vez em um botão montado na Protoboard MB-102, o microcontrolador pode registrar dezenas de acionamentos falsos.
- Origem Física: Molas e contatos metálicos vibram mecanicamente por alguns milissegundos antes de assentarem e estabelecerem contato contínuo estável.
- Solução por Software (Debouncing): A técnica insere um pequeno atraso (geralmente entre 10ms e 50ms) via código após registrar a primeira mudança de estado, ignorando o ruído inicial.
- Solução por Hardware: Conectar um pequeno filtro passa-baixa RC (composto por um resistor e um capacitor em paralelo) para suavizar a transição brusca de sinal elétrico.
O tratamento correto de bouncing é indispensável ao lidar com interrupções externas por hardware (External Interrupts), que reagem de maneira imediata a qualquer transição de borda lógica rápida.
Perguntas Frequentes (FAQ)
- O que é debounce por software não-bloqueante?
- É o tratamento feito utilizando a contagem de tempo via função
millis()em vez da função bloqueantedelay(). Isso permite que a placa continue executando outras tarefas críticas enquanto limpa o ruído do botão. - Qual o capacitor ideal para implementar um debounce físico básico por hardware?
- Um capacitor cerâmico comum de 100 nF (0.1 µF) associado a um resistor de 10 kΩ costuma eliminar com perfeição a maioria dos ruídos em chaves mecânicas e push buttons.