ESP32 - Fechadura Solenoide

A fechadura solenoide também é conhecida como fechadura eletromecânica (Electric Strike Lock). Ela pode ser usada para trancar/destrancar armários, gavetas e portas. Este tutorial ensina como usar o ESP32 para controlar a fechadura solenoide.

Uma alternativa à fechadura solenoide é a fechadura eletromagnética. Você pode aprender mais em ESP32 - Tutorial de Fechadura Eletromagnética

Sobre a Fechadura Solenoide

Pinagem

A fechadura solenoide possui dois fios:

  • Fio positivo (+) (vermelho): precisa ser conectado ao 12V da fonte de alimentação DC
  • Fio negativo (-) (preto): precisa ser conectado ao GND da fonte de alimentação DC
Pinagem da fechadura solenoide

Como Funciona

  • Quando a fechadura solenoide é alimentada, a lingueta da fechadura é estendida ⇒ a porta fica trancada
  • Quando a fechadura solenoide NÃO é alimentada, a lingueta da fechadura é recolhida ⇒ a porta fica destrancada

※ Nota:

A fechadura solenoide normalmente usa uma fonte de alimentação de 12V, 24V ou 48V. Portanto, NÃO podemos conectar a fechadura solenoide diretamente a um pino do ESP32. Precisamos conectá-la ao pino do ESP32 por meio de um relé

Se conectarmos a fechadura solenoide a um relé (modo normalmente aberto):

  • Quando o relé está aberto, a porta fica destrancada
  • Quando o relé está fechado, a porta fica trancada

Ao conectar o ESP32 ao relé, podemos programar o ESP32 para controlar a fechadura solenoide. Saiba mais sobre relé em ESP32 - Tutorial de Relé.

Diagrama de Ligação

  • Como conectar o ESP32 e a fechadura solenoide usando uma protoboard (alimentado via cabo USB)
Diagrama de ligação do ESP32 com fechadura solenoide

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 fechadura solenoide usando uma protoboard (alimentado via pino Vin)
Diagrama de ligação do ESP32 com fechadura solenoide

This image is created using Fritzing. Click to enlarge image

Como conectar o ESP32 e a fechadura solenoide
Como ligar o ESP32 e a fechadura solenoide

Código ESP32

O código abaixo tranca/destranca a porta a cada 5 segundos

/* * 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-solenoid-lock */ #define RELAY_PIN 16 // ESP32 pin GPIO16, which connects to the solenoid lock via the relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // unlock the door delay(5000); digitalWrite(RELAY_PIN, LOW); // lock the door delay(5000); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
  • Faça a ligação conforme a imagem acima.
  • Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Copie o código acima e cole-o na Arduino IDE
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload na Arduino IDE
  • Veja o estado da lingueta da fechadura

ESP32 - Botão Controla Fechadura Solenoide

Veja o ESP32 - Tutorial de Botão Controla Fechadura Solenoide

※ Nota:

No código acima, usamos a função delay. Portanto, não precisamos fazer debounce do botão. No entanto, ainda fornecemos o código com debounce caso você queira realizar mais tarefas sem usar a função delay. Veja Como usar millis() em vez de delay()

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!