Arduino Nano - Botão - LED
Este tutorial ensina você a usar o Arduino Nano e um botão para controlar o LED. Vamos aprender duas aplicações diferentes:
Aplicação 1 - O estado do LED é sincronizado com o estado do botão. Em detalhes:
- O Arduino Nano acende o LED enquanto o botão está sendo pressionado.
- O Arduino Nano apaga o LED quando o botão NÃO está sendo pressionado.
Aplicação 2 - O estado do LED é alternado cada vez que o botão é pressionado. Mais especificamente:
- Se o Arduino Nano detectar que o botão foi pressionado (mudando de um estado HIGH para um estado LOW), ele vai ACENDER o LED se ele estiver apagado no momento, ou APAGAR o LED se ele estiver aceso.
- Soltar o botão não afeta o estado do LED.
Na Aplicação 2, precisamos fazer o debounce do botão para garantir que ele funcione corretamente. Vamos entender por que isso é importante comparando o comportamento do LED quando usamos o código Arduino com e sem debounce do botão.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED e o Botão
Se você não conhece o LED e o botão (incluindo pinagem, funcionamento e programação), os tutoriais a seguir podem ajudar:
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.
Aplicação 1 - O estado do LED está sincronizado com o estado do botão
Código Arduino Nano
Passos Rápidos
- Conecte um Arduino Nano ao seu computador com um cabo USB.
- Abra o Arduino IDE e selecione a placa e a porta corretas.
- Copie o código e abra-o no Arduino IDE.
- Clique no botão Upload do Arduino IDE para compilar e fazer o upload do código para o Arduino Nano.

- Pressione o botão e segure-o por alguns segundos.
- Observe a mudança no estado do LED.
Você vai ver que o estado do LED está sincronizado com o estado do botão.
Explicação do Código
Veja a explicação linha por linha contida nos comentários do código-fonte!
Aplicação 2 - O botão alterna o LED
Código Arduino Nano - Botão Alterna o LED Sem Debounce
Explicação do Código
Você pode encontrar a explicação nas linhas de comentário do código do Arduino Nano acima.
No código, a expressão led_state = !led_state é equivalente ao código a seguir:
Passos Rápidos
- Copie o código e abra-o no Arduino IDE.
- Faça o upload do código para o Arduino Nano.
- Pressione e solte o botão várias vezes.
- Observe a mudança no estado do LED.
Você pode notar que o estado do LED é alternado toda vez que o botão é pressionado. No entanto, esse comportamento nem sempre é consistente. Às vezes, o estado do LED pode ser alternado rapidamente várias vezes em um único pressionamento do botão, ou pode não alternar de forma alguma (alternando duas vezes em sucessão rápida, o que é difícil de ver a olho nu).
⇒ Para resolver esse problema, precisamos fazer o debounce do botão.
Código Arduino Nano - Botão Alterna o LED Com Debounce
Fazer o debounce de um botão pode ser desafiador para iniciantes. Felizmente, a biblioteca ezButton torna isso fácil.
Por que o debounce é necessário? Veja o Arduino Nano - Tutorial de Debounce de Botão para mais informações.
Passos Rápidos
- Instale a biblioteca ezButton. Consulte o Como Fazer para ver as instruções.
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano.
- Pressione e solte o botão várias vezes.
- Observe a mudança no estado do LED.
Você vai ver que o estado do LED é alternado exatamente uma vez a cada vez que o botão é pressionado.