Arduino Nano - Botão - Pressão Longa e Pressão Curta
Este tutorial ensina como usar o Arduino Nano para detectar a pressão longa e a pressão curta de um botão. Em detalhes, vamos passar pelos seguintes exemplos:
- O Arduino Nano detecta uma pressão curta do botão
- O Arduino Nano detecta uma pressão longa do botão
- O Arduino Nano detecta tanto uma pressão longa quanto uma pressão curta do botão
- O Arduino Nano faz debounce para pressão longa e pressão curta
Na última seção, vamos aprender como usar o debounce para detectar pressionamentos de botão em aplicações práticas. Para saber mais sobre por que o debouncing é necessário para botões, consulte este artigo. Sem ele, podemos detectar por engano uma pressão curta do botão.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Botão
Se você não está familiarizado com botões (incluindo pinagens, funcionamento e programação), os tutoriais a seguir podem ajudar você:
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Neste tutorial, vamos usar o resistor de pull-up interno. Como resultado, o estado do botão é HIGH na condição normal e LOW quando ele é pressionado.
Como Detectar a Pressão Curta
Calculamos o intervalo entre os eventos de pressionar e soltar. Se a duração for menor que um tempo predefinido, o evento de pressão curta é identificado.
Especifique a duração de uma pressão curta.
- Identifique quando o botão foi pressionado e registre o momento em que ele foi apertado.
- Detecte quando o botão é solto e registre o momento da liberação.
- Pressão
- Calcule o intervalo de tempo e a quantidade de pressão aplicada.
- Compare a duração do pressionamento com o tempo de pressão curta especificado para identificar uma pressão curta.
Código do Arduino Nano para detectar a pressão curta
Passos Rápidos
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Pressione o botão rapidamente várias vezes.
- Confira a saída no Serial Monitor.
※ Nota:
O Serial Monitor pode exibir várias detecções de pressão curta para um único pressionamento. Esse é o comportamento esperado do botão, conhecido como “fenômeno de chattering”. Vamos tratar desse problema na parte final deste tutorial.
Como Detectar a Pressão Longa
Há dois cenários para detectar uma pressão longa:
- O evento de pressão longa é identificado depois que o botão é solto
- O evento de pressão longa é identificado enquanto o botão está sendo mantido pressionado, mesmo antes de ser solto.
- Na aplicação inicial, vamos calcular o intervalo de tempo entre os eventos de pressionar e soltar. 2. Se a duração for maior que um tempo predeterminado, o evento de pressão longa é identificado.
No segundo caso de uso, quando o botão é pressionado, o tempo de pressionamento é medido continuamente e o evento de pressão longa é verificado até o botão ser solto. Enquanto o botão está sendo pressionado, se a duração ultrapassar um tempo predefinido, o evento de pressão longa é detectado.
Código do Arduino Nano para detectar a pressão longa ao soltar
Passos Rápidos
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Espere um segundo e depois pressione e solte o botão.
- Confira o resultado no Serial Monitor.
O evento de pressão longa só é identificado quando o botão é solto.
Código do Arduino Nano para detectar a pressão longa durante o pressionamento
Passos Rápidos
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Pressione e segure o botão por alguns segundos.
- Confira a saída no Serial Monitor.
O evento de pressão longa só é registrado quando o botão não foi solto.
Como Detectar a Pressão Longa e a Pressão Curta
Pressão Curta e Pressão Longa após soltar
Passos Rápidos
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Pressione o botão por pouco tempo ou por muito tempo.
- Confira a saída no Serial Monitor.
※ Nota:
O Serial Monitor pode exibir várias detecções de pressão curta quando é feita uma pressão longa. Esse é o comportamento esperado do botão e é chamado de "fenômeno de chattering". Uma solução para esse problema será apresentada na seção final deste tutorial.
Pressão Curta e Pressão Longa Durante o pressionamento
Passos Rápidos
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Pressione o botão por muito tempo e depois por pouco tempo.
- Confira o resultado no Serial Monitor.
※ Nota:
O Serial Monitor pode exibir várias pressões curtas detectadas quando é feita uma pressão longa. Esse é o comportamento esperado do botão e é chamado de “fenômeno de chattering”. Esse problema será tratado na seção final deste tutorial.
Pressão Longa e Pressão Curta com Debouncing
É essencial implementar o debouncing no botão em inúmeras aplicações.
O debouncing pode ser complicado, principalmente quando há vários botões envolvidos. Para facilitar para os iniciantes, desenvolvemos uma biblioteca, conhecida como ezButton.
Vamos usar essa biblioteca nos códigos abaixo.
Pressão Curta e Pressão Longa com debouncing após soltar
Passos Rápidos
- Instale a biblioteca ezButton.
- Consulte Como Fazer para ver as instruções.
- Carregue o código no Arduino Nano usando a Arduino IDE.
- Pressione e segure o botão por um período curto ou longo.
- Confira os resultados no Serial Monitor.
Pressão Curta e Pressão Longa com debouncing Durante o Pressionamento
Passos Rápidos
- Inclua a biblioteca ezButton no seu projeto. Consulte Como Fazer para ver as instruções.
- Compile e carregue o código na sua placa Arduino Nano usando a Arduino IDE.
- Pressione e segure o botão por um período curto ou longo.
- Confira a saída no Serial Monitor.
Vídeo
Por Que Precisamos de Pressão Longa e Pressão Curta
- Para reduzir o número de botões, um único botão pode ter várias funções. Por exemplo, uma pressão curta pode ser usada para trocar o modo de operação, enquanto uma pressão longa pode ser usada para desligar o dispositivo.
- A pressão longa é usada para evitar acionamentos acidentais. Por exemplo, alguns dispositivos usam um botão para a restauração de fábrica. Se ele for pressionado sem querer, isso pode ser perigoso. Para evitar isso, o dispositivo é projetado para que a restauração de fábrica só seja acionada quando o botão é mantido pressionado por um certo tempo (por exemplo, 5 segundos).