Arduino - Chave Liga/Desliga
A chave ON/OFF (liga/desliga), também chamada de chave alavanca (toggle switch), tem dois estados: ON (fechada) e OFF (aberta). O estado da chave ON/OFF alterna entre ON/OFF cada vez que ela é pressionada, e o estado é mantido mesmo depois de soltá-la. Neste tutorial, vamos aprender a usar a chave ON/OFF com o Arduino.

Não confunda com os seguintes componentes:
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Chave ON/OFF
Uma chave ON/OFF é uma chave que muda de estado (de ON para OFF, ou de OFF para ON) quando é pressionada e depois mantém esse estado mesmo quando solta. Para mudar o estado, precisamos pressioná-la de novo.
Pinagem
A chave ON/OFF tem basicamente dois tipos: chave de dois pinos e chave de três pinos
Neste tutorial, vamos usar a chave de dois pinos. Nesse tipo, NÃO precisamos diferenciar os dois pinos.

Como Funciona
Há duas formas de usar a chave ON/OFF. Abaixo está a tabela de ligação da chave ON/OFF e o estado lido no Arduino nas duas formas:
| pino 1 | pino 2 | Estado do Pino de Entrada do Arduino | |
|---|---|---|---|
| 1 | GND | Pino de entrada do Arduino (com pull-up) | HIGH ⇒ OFF, LOW ⇒ ON |
| 2 | VCC | Pino de entrada do Arduino (com pull-down) | HIGH ⇒ ON, LOW ⇒ OFF |
Precisamos escolher apenas uma das duas formas acima. O restante do tutorial vai usar a primeira forma.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para deixar a ligação estável e firme, recomendamos usar um Ferro de Solda para soldar os fios aos pinos da chave ON/OFF e depois usar Tubo Termorretrátil para deixar tudo seguro.
Código Arduino - Chave ON/OFF
Assim como um botão, uma chave ON/OFF também precisa de debounce (veja mais em Por que o botão e a chave ON/OFF precisam de debounce?). O debounce deixa o código complicado. Felizmente, a biblioteca ezButton tem suporte à função de debounce. A biblioteca também usa o resistor de pull-up interno. Isso torna a programação fácil para nós.
※ Nota:
Há dois casos de uso muito comuns:
- O primeiro: se o estado da chave for ON, faça algo. Se o estado da entrada for OFF, faça o contrário.
- O segundo: se o estado da chave mudar de ON para OFF (ou de OFF para ON), faça algo.
Passos Rápidos
- Faça a ligação como no diagrama de ligação acima
- Conecte o Arduino ao PC com o cabo USB
- Abra o Arduino IDE
- Instale a biblioteca ezButton. Veja Como Fazer
- Selecione a placa e a porta corretas
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Pressione a chave para ON.
- Veja o resultado no Serial Monitor.
- Depois, pressione a chave para OFF.
- Veja o resultado no Serial Monitor.