ESP8266 - Trava Solenoide

A trava solenoide, também chamada de fechadura elétrica (Electric Strike Lock), pode ser usada para trancar e destrancar armários, gavetas e portas. Neste tutorial, vamos aprender a controlar a trava solenoide usando o ESP8266.

Uma alternativa à trava solenoide é a trava eletromagnética. Para mais informações, consulte o Tutorial ESP8266 - Trava Eletromagnética.

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Fechadura Solenoide
1×Relé
1×Fonte de Alimentação 12V
1×Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre a Trava Solenoide

Pinagem da Trava Solenoide

A trava solenoide tem dois fios:

  • O fio positivo (+) (vermelho) deve ser conectado ao 12V de uma fonte de alimentação DC
  • O fio negativo (-) (preto) deve ser conectado ao GND de uma fonte de alimentação DC
Pinagem da trava solenoide

Como Funciona

  • Quando a trava solenoide recebe energia, a lingueta da trava se estende, e a porta fica trancada.
  • Quando a trava solenoide NÃO recebe energia, a lingueta da trava se retrai, e a porta fica destrancada.

※ Nota:

A trava solenoide normalmente precisa de uma fonte de 12V, 24V ou 48V. Por isso, ela NÃO pode ser conectada diretamente a um pino do ESP8266. É preciso usar um relé para ligar a trava solenoide ao pino do ESP8266.

Se a trava solenoide estiver conectada a um relé (no modo normalmente aberto):

  • Quando o relé não está ativado, a porta está destrancada
  • Quando o relé está ativado, a porta está trancada

Conectar o ESP8266 a um relé permite programar o ESP8266 para controlar a trava solenoide. Para mais informações sobre relés, consulte o Tutorial ESP8266 - Relé.

Diagrama de Ligação

Diagrama de ligação do ESP8266 NodeMCU com trava solenoide

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Código ESP8266

Este código faz a porta ser trancada e destrancada a cada cinco segundos.

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-solenoid-lock */ #define RELAY_PIN D8 // The ESP8266 pin connected to the IN pin of relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, LOW); // unlock the door delay(5000); digitalWrite(RELAY_PIN, HIGH); // lock the door delay(5000); }

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Veja o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload da IDE do Arduino para enviar o código para o ESP8266.
  • Observe o estado da lingueta da trava.

ESP8266 - Botão Controla a Trava Solenoide

  • Diagrama de Ligação
Diagrama de ligação do ESP8266 NodeMCU com trava solenoide

This image is created using Fritzing. Click to enlarge image

  • Escrevendo o código para uma placa ESP8266.
/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-solenoid-lock */ #include <ezButton.h> #define BUTTON_PIN D1 // The ESP8266 pin connected to button's pin #define RELAY_PIN D8 // The ESP8266 pin connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object for pin D8 void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds digitalWrite(RELAY_PIN, HIGH); // lock the door } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); digitalWrite(RELAY_PIN, LOW); // unlock the door in 10 seconds delay(10000); // 10 seconds digitalWrite(RELAY_PIN, HIGH); // lock the door again } }

Passos Rápidos

  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Instale a biblioteca ezButton. Consulte Como Fazer para ver as instruções.
  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload do Arduino IDE para fazer upload do código para o ESP8266.
  • Pressione o botão uma vez.
  • Observe o estado da lingueta da trava por 10 segundos.

※ Nota:

No código acima, usamos a função delay. Por isso, não precisamos implementar debouncing para o botão. Mesmo assim, incluímos o código com debouncing caso você queira executar tarefas adicionais sem usar a função delay. Veja Como usar millis() em vez de delay() para mais informações.

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!