ESP32 - Chave Liga/Desliga
Uma chave ON/OFF, ou chave alavanca, tem dois estados: ON (fechada) e OFF (aberta). Cada vez que a chave é pressionada, seu estado alterna entre ON e OFF e ela permanece nesse estado mesmo depois de solta. Este tutorial vai ensinar você a usar uma chave ON/OFF com um microcontrolador ESP32.

É importante observar que a chave ON/OFF é diferente dos itens a seguir e não deve ser confundida com eles:
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Chave ON/OFF
Uma chave ON/OFF é uma chave que, quando pressionada, muda seu estado entre ON e OFF e mantém esse estado mesmo depois de solta. Para mudar o estado novamente, a chave precisa ser pressionada outra vez.
Pinagem
Existem geralmente dois tipos de chaves ON/OFF: a chave de dois pinos e a chave de três pinos. Este tutorial vai focar no uso da chave de dois pinos, em que não é necessário diferenciar os dois pinos.

Como Funciona
Existem dois métodos para usar uma chave ON/OFF. A tabela abaixo mostra a ligação e o estado lido no ESP32 para cada um desses dois métodos:
| pino 1 | pino 2 | Estado do Pino de Entrada do ESP32 | |
|---|---|---|---|
| 1 | GND | Pino de Entrada do ESP32 (com pull-up) | HIGH ⇒ OFF, LOW ⇒ ON |
| 2 | VCC | Pino de Entrada do ESP32 (com pull-down) | HIGH ⇒ ON, LOW ⇒ OFF |
Dos dois métodos, o tutorial vai focar em um; especificamente, o primeiro método será usado como exemplo.
Diagrama de Ligação
- Como conectar o ESP32 e a chave usando uma protoboard

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
- Como conectar o ESP32 e a chave usando uma placa breakout com bornes de parafuso

Para uma conexão estável e segura, é recomendado usar um ferro de solda para soldar os fios aos pinos da chave ON/OFF e, depois, usar tubos termorretráteis para mais segurança.
Código ESP32 - Chave ON/OFF
Assim como um botão, uma chave ON/OFF também precisa de debounce (mais informações podem ser encontradas em Por que é necessário fazer debounce do botão e da chave ON/OFF?). O debounce pode deixar o código mais complexo. Felizmente, a biblioteca ezButton oferece a função de debounce e usa os resistores de pull-up internos, facilitando a programação.
※ Nota:
Dois casos de uso comuns para uma chave ON/OFF são:
- O primeiro caso de uso: se a chave estiver no estado ON, execute uma determinada ação. Se o estado da entrada for OFF, execute a ação oposta.
- O segundo caso de uso: se o estado da chave mudar de ON para OFF (ou de OFF para ON), execute uma ação específica.
Passos Rápidos
- Siga o diagrama de ligação mostrado acima para conectar a chave ON/OFF ao ESP32.
- Conecte o seu ESP32 ao seu PC usando um cabo USB.
- Abra o software Arduino IDE.
- Instale a biblioteca ezButton. Consulte as instruções
- Selecione a placa e a porta corretas no Arduino IDE.
- Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE.
- Teste a chave ON/OFF colocando-a na posição ON.
- Observe a saída no Serial Monitor do Arduino IDE.
- Coloque a chave na posição OFF.
- Observe a saída no Serial Monitor do Arduino IDE.