Arduino Nano - Botão - Relé
Este tutorial ensina você a usar o Arduino Nano e um botão para controlar o relé. Ao conectar o relé a uma trava solenoide, lâmpada, fita LED, motor ou atuador..., podemos usar um botão para controlá-los. Vamos aprender duas aplicações diferentes:
Aplicação 1 - O estado do relé é sincronizado com o estado do botão. Em detalhes:
- O Arduino Nano liga o relé enquanto o botão está sendo pressionado.
- O Arduino Nano desliga o relé quando o botão NÃO está sendo pressionado.
Aplicação 2 - O estado do relé é 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 LIGAR o relé se ele estiver desligado no momento, ou DESLIGAR o relé se ele estiver ligado.
- Soltar o botão não afeta o estado do relé.
Na 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 relé 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) |
Sobre o Relé e o Botão
Se você não conhece o relé 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 relé 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 relé.
Você vai ver que o estado do relé 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 Relé
Código Arduino Nano - Botão Alterna o relé 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 relay_state = !relay_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 relé.
Você pode notar que o relé liga ou desliga toda vez que você pressiona o botão, mas isso nem sempre acontece da mesma forma. Às vezes ele pode alternar rapidamente várias vezes com apenas um pressionamento do botão, ou pode não alternar de forma alguma (alternar duas vezes muito rápido, o que não dá para ver a olho nu).
⇒ Para resolver esse problema, precisamos fazer o debounce do botão.
Código Arduino Nano - Botão Alterna o relé 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 relé.
Você vai notar que o relé liga ou desliga apenas uma vez sempre que você pressiona o botão.