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.

Chave ON/OFF com ESP32

É importante observar que a chave ON/OFF é diferente dos itens a seguir e não deve ser confundida com eles:

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.

Pinagem da Chave ON/OFF

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
Diagrama de Ligação da Chave ON/OFF com ESP32

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

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.
/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-switch */ #include <ezButton.h> ezButton mySwitch(19); // create ezButton object that attach to ESP32 pin GPIO19 void setup() { Serial.begin(9600); mySwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { mySwitch.loop(); // MUST call the loop() function first if (mySwitch.isPressed()) Serial.println("The switch: OFF -> ON"); if (mySwitch.isReleased()) Serial.println("The switch: ON -> OFF"); int state = mySwitch.getState(); if (state == HIGH) Serial.println("The switch: OFF"); else Serial.println("The switch: ON"); }

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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The switch: OFF The switch: OFF The switch: OFF The switch: OFF -> ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON -> OFF The switch: OFF The switch: OFF The switch: OFF
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!