Skip to content

AldairAvelino/no-debounce-error

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Botão Sem Erro De Debounce

Debounce é o processo de eliminar ou reduzir os efeitos de oscilações elétricas que podem ocorrer quando um botão de pressão é pressionado ou liberado. Essas oscilações são causadas pela natureza mecânica dos botões, que podem saltar ou vibrar por um curto período de tempo antes de fazerem um contato elétrico sólido.

Problemática

Quando você liga um botão a um pino digital do Arduino e tenta ler seu estado, se o botão foi (pressionado ou não pressionado) diretamente, você pode enfrentar problemas de instabilidade.

Tip

O Arduino é tão rápido em ler os estados que pode capturar essas oscilações momentâneas como múltiplos pressionamentos ou liberações do botão, levando a resultados inconsistentes.

Solução

Existem várias maneiras de resolver esse problema:

  1. Hardware debounce: você pode usar componentes eletrônicos, como resistores de pull-up ou pull-down e capacitores, para poder criar um circuito de debouncer no hardware. Isso filtra as oscilações antes mesmo de chegarem ao Arduino.

Note

O uso de um capacitor em paralelo ao botão é uma técnica comum para criar esse filtro.

  1. Software debounce: isso envolve a escrita de código que ignora leituras de botões que ocorrem muito rapidamente após uma mudança de estado inicial.

Warning

Você pode implementar o debounce no teu código Arduino.

  1. Bibliotecas de debounce: existem bibliotecas prontas disponíveis para Arduino, como a Bounce2, que facilitam a implementação do debounce de software.

Lidar com o problema de debounce é importante, sempre que você estiver trabalhando com botões de pressão para garantir a precisão das leituras.

Tip

A abordagem que você escolher dependerá das necessidades do seu projeto e da sua preferência pessoal.

About

Botão Sem Erro de Debounce

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages