Arduino UNO R4 - Botão - LED
Este tutorial ensina como usar o Arduino UNO R4 e um botão para controlar um LED. Vamos aprender duas maneiras diferentes de fazer isso:
Aplicação 1 - O LED acompanha o estado do botão:
- O Arduino UNO R4 acende o LED quando o botão é pressionado.
- O Arduino UNO R4 apaga o LED quando o botão não está pressionado.
Aplicação 2 - O LED muda de estado cada vez que o botão é pressionado:
- Se o Arduino UNO R4 detectar que o botão foi pressionado (mudando de HIGH para LOW), ele acende o LED se estiver apagado, ou apaga se estiver aceso.
- Soltar o botão não muda o estado do LED.
Para a Aplicação 2, precisamos fazer o debounce do botão para garantir que ele funcione corretamente. Vamos ver por que isso é importante comparando o comportamento do LED com e sem debounce no código Arduino.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 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 Uno R4 e outros componentes.
Aplicação 1 - O LED acompanha o estado do botão
Código Arduino UNO R4
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
- Faça a ligação dos componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Copie o código e abra-o na Arduino IDE.
- Clique no botão Upload na Arduino IDE para compilar e enviar o código ao Arduino UNO R4.

- Pressione o botão e mantenha-o pressionado por alguns segundos.
- Observe a mudança no estado do LED.
Você vai ver que o estado do LED fica sincronizado com o estado do botão.
Explicação do Código
Veja a explicação linha por linha nos comentários do código-fonte!
Aplicação 2 - O LED muda de estado cada vez que o botão é pressionado
Código Arduino UNO R4 - Botão Alterna o LED Sem Debounce
Explicação do Código
Você encontra a explicação nas linhas de comentário do código Arduino UNO R4 acima.
No código, a expressão led_state = !led_state equivale ao código a seguir:
Passos Rápidos
- Copie o código e abra-o na Arduino IDE.
- Faça o upload do código para o Arduino UNO R4.
- Pressione e solte o botão várias vezes.
- Observe a mudança no estado do LED.
Você pode notar que o LED muda toda vez que o botão é pressionado. Porém, isso nem sempre funciona perfeitamente. Às vezes, o LED muda muitas vezes rapidamente quando você pressiona o botão uma única vez, ou não muda nada (ele muda duas vezes muito rápido, o que é difícil de ver).
⇒ Para resolver esse problema, precisamos fazer o debounce do botão.
Código Arduino UNO R4 - Botão Alterna o LED Com Debounce
Fazer o debounce de um botão pode ser difícil para iniciantes. Felizmente, a biblioteca ezButton torna isso fácil.
Por que o debounce é necessário? Veja o Arduino UNO R4 - Tutorial de Debounce de Botão para saber mais.
Passos Rápidos
- Instale a biblioteca ezButton. Consulte a biblioteca ezButton para ver as instruções.
- Copie o código e abra-o na Arduino IDE.
- Clique no botão Upload na Arduino IDE para enviar o código ao Arduino UNO R4.
- 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.