A desbooneração é uma técnica usada na programação do microcontrolador para garantir uma leitura confiável das entradas de botões. Quando um botão é pressionado ou liberado, ele pode gerar múltiplos sinais devido a vibrações mecânicas, causando falsos gatilhos. A implementação desbooneramento ajuda a filtrar esses sinais indesejados e garante a detecção precisa de pressionamentos de botões.

O que é o Debouncing?

A desboonação é o processo de eliminação do ruído causado pelo reboote de contato físico de um botão. Quando um botão é pressionado, o contato pode se conectar rapidamente e desconectar várias vezes antes de se estabelecer. Sem desboote, estes sinais rápidos podem ser interpretados incorretamente como várias prensas.

Métodos de desembolso

Existem dois métodos comuns para implementar o desbouncing em Arduino:

  • Debuncing de software: Envolve adicionar um atraso ou verificar o estado do botão ao longo do tempo para confirmar um sinal estável.
  • Debuncing Hardware:] Utiliza componentes eletrônicos como filtros RC ou gatilhos Schmitt para suavizar o sinal.

Implementando desboonning de software

A desboncagem de software é comumente usada em projetos Arduino. Envolve ler o estado do botão, esperando por um curto período, e então verificando se o estado permanece inalterado. Este processo reduz os gatilhos falsos causados pelo salto.

Excerto de código de exemplo:

const int buttonPin = 2;

[[FLT: 0]] int buttonState = 0;]

não assinados por muito tempo de descontinuação: = 0;

desalojamento longo não assinadoDelay = 50;]

[[FLT: 0]]void loop () {]

int reading = digitalRead(bottonPin);

[[FLT: 0]] se (ler != botãoEstado) {

lastDebounceTime = milis();

] }

[[FLT: 0]] se (( millis () - lastDebounceTime) > debounceDelay) {

[[FLT: 0]] botãoEstado = leitura;

}

}