ESP32 - Sensor de Porta Alterna Relé

Este tutorial ensina como usar o ESP32 para alternar o estado do relé cada vez que a porta é fechada.

Podemos expandir este tutorial para usar o sensor de porta para controlar uma fita LED, uma sirene, uma lâmpada ou um atuador... conectando-os ao relé.

Sobre o Relé e o Sensor de Porta

Temos tutoriais específicos sobre relé e sensor de porta. Cada tutorial contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação ao ESP32, o código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Diagrama de ligação do ESP32 com sensor de porta e relé

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.

Código ESP32 - Sensor de Porta Alterna Relé

/* * 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-door-sensor-toggle-relay */ #define DOOR_SENSOR_PIN 16 // ESP32 pin GPIO16 connected to door sensor's pin #define RELAY_PIN 26 // ESP32 pin GPIO26 connects to the IN pin of relay // variables will change: int relayState = LOW; // the current state of relay int lastDoorState; // the previous state of door sensor int currentDoorState; // the current state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode currentDoorState = digitalRead(DOOR_SENSOR_PIN); } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected, toggles state of relay"); // toggle state of relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

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
  • Aproxime o ímã da chave reed e depois afaste-o da chave reed. Repita isso várias vezes
  • Veja a mudança de estado do relé

Explicação do Código Linha por Linha

O código ESP32 acima contém explicações linha por linha. Por favor, leia os comentários no código!

No código, relayState = !relayState é equivalente ao seguinte código:

if(relayState == LOW) relayState = HIGH; else relayState = LOW;

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!