EVITANDO O EFEITO “SWITCH-BOUNCING” AO UTILIZAR BOTÃO DE TOQUE OU “PUSH-BUTTON”

O indesejado efeito "switch-bouncing" ao pressionar um push-button

O indesejado efeito “switch-bouncing” ao pressionar um push-button

 

Fala Pessoal! Tudo bem?  😀 

 

Bom, neste post vamos falar sobre um efeito conhecido como “switch-bouncing” (uma espécie de trepidação elétrica – vide a imagem de abertura deste post – a imagem do osciloscópio), que acontece ao pressionarmos ou deixarmos de pressionar um “push-button“, chave-de-toque, botão de pressão e até mesmo interruptores comuns!  💡 
O indesejado efeito "switch-bouncing" ao pressionar um push-button

O fenômeno “switch-bouncing” ao pressionar do push-button

O que a gente percebe observando as imagens “do osciloscópio” (sim, digo isso porque poderíamos ter utilizado aqui gráficos simplórios mostrando o mesmo efeito deswitch-bouncing“, mas que poderiam não condizer com a verdade e a realidade absoluta a mesma obtida através de um osciloscópio – ainda que tivéssemos utilizado programas de alta reputação no mercado para realizar os gráficos) desse mesmo efeito de “trepidação“, “pulso“, “bouncing” de um botão.

Bom, vamos falar do que a gente espera ao pressionar um simples push-button:

Ao pressionarmos o botão, esperaríamos que o estado do botão fosse imediatamente lido como um nível lógico alto (ou baixo). MAS, na realidade, quando pressionamos, o botão pulsa para cima e para baixo muito rapidamente antes de se estabilizar (as imagens acima mostram isso).

 

Então…sabendo disso tudo que conversamos até aqui pessoal, o que a gente precisa fazer agora? Tem ideia?  🙄 

 

Bom, o lance é que desejamos a todo custo “eliminar” o sinistro fenômeno de “switch-bouncing” do nosso circuito eletrônico (claro! esse tal fenômeno aí só serve pra causar dor de cabeça futura, acreditem), então, pra conseguir este feito, temos diferentes saídas, ideias distintas e por aí vai, MAS, já que aqui estamos trabalhando com nosso querido ARDUINO e sua respectiva IDE, então que tal a gente obter justamente o efeito que desejamos, que neste caso é o efeito-contrário ao do “switch-bouncing“, sendo conhecido popularmente como “debouncing” via código, sketch, programação?!  😉 

 

O CÓDIGO (SKETCH) DO PROGRAMA PARA REMOVER “TREPIDAÇÕES” DO PUSH-BUTTON:

 

O resultado que devemos obter ao utilizar o código acima, é o de alterar o estado do LED toda vez que o nosso push-button/botão for pressionado.

 💡  ❗ Se tentarmos realizar a mesma coisa, o mesmo experimento, SEMfazer o debouncing do botão“, vamos nos deparar com resultados imprevisíveis, com o LED funcionando algumas vezes como o esperado e outras vezes não, dando a crer que temos um verdadeiro “mal-contato” no nosso circuito eletrônico, enquanto na verdade não é nada disso, mas apenas um fenômeno estranho chamado e conhecido por “switch-bouncingestragando nosso protótipo e colocando nossos neurônios para raciocinar ainda mais!  🙄 

 

O ESQUEMÁTICO DO CIRCUITO ELETRÔNICO – DEBOUNCING PUSH-BUTTON:
O ESQUEMÁTICO DO CIRCUITO ELETRÔNICO - DEBOUNCING PUSH-BUTTON:

O ESQUEMÁTICO DO CIRCUITO ELETRÔNICO – DEBOUNCING PUSH-BUTTON

 

VIDEO COMPLETO MOSTRANDO TODO O ASSUNTO, CIRCUITO E “DEBOUNCING” NA PRÁTICA:

 

Gostou? Então Compartilha! 🙂

Rodrigo Costa
Sigam-me

Esse espaço é Seu! Comenta Aí! ;-)