26 de agosto de 2023

ButtonControl - Controlando os cliques dos botões

Em diversos projetos precisamos agilizar o controle de cliques em push buttons e, então, fiz essa biblioteca para me auxiliar.

Com a ButtonControl é possível controlar cliques rápidos e também cliques duplos, triplos, longos e sequenciais. Além de retornar os tempos dos cliques em milissegundos.

Adicionando a biblioteca no projeto e declarando o botão conectado ao pino 4:

#include <ButtonControl.h>
ButtonControl btn(4);

Por padrão, a biblioteca já efetuará a configuração do pino para INPUT_PULLUP. É possível alterar através dos parâmetros opcionais:

ButtonControl btn(buttonPin, internalPullup = true, logicSignal = LOW);

Utilizando o modo de verificação de clique rápido:

if (btn.fastClick()) {
  Serial.println("Clicou!");
}

Modo de clique normal:

if (btn.click()) {
  Serial.println("Clicou!");
  Serial.print("Quantidade de cliques: ");
  Serial.println(btn.getButtonClicks());
}

Modo de clique longo:

if (btn.longClick()) {
  Serial.println("Clique longo!");
  Serial.print("Tempo do clique longo em milissegundos: ");
  Serial.println(btn.getLongClickTime());
}

Junto com a biblioteca estão disponíveis os códigos com os exemplos de funcionamento.

A biblioteca está disponível em:

E a sua instalação pode ser realizada através do gerenciador de bibliotecas da IDE Arduino:


2 comentários:

  1. Tem limitações de quantidade botões? Obrigado pela lib!

    ResponderExcluir
    Respostas
    1. Bom dia! Possui limitação de hardware. Quantos pinos tiver disponível no projeto. Abraços!

      Excluir