O que é Bouncing (Efeito de Repique)?

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 bloqueante delay(). 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.
Voltar para o blog