ESP8266 - Sensor de Movimento - Relé

Este tutorial ensina como usar o ESP8266 e um sensor de movimento para controlar um relé. Em detalhes:

Ao conectar um relé a uma lâmpada, uma fita LED, um motor ou um atuador, podemos usar o ESP8266 e um sensor de movimento para controlar a lâmpada, a fita LED, o motor ou o atuador.

Isso pode ser aplicado em um processo de automação que dispara ações ao detectar a presença de uma pessoa.

Sobre o Relé e o Sensor de Movimento

Se você não está familiarizado com o relé e o sensor de movimento (pinagem, funcionamento, programação ...), os tutoriais a seguir podem ajudar:

Diagrama de Ligação

The wiring diagram between ESP8266 NodeMCU and Motion Sensor Relay

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.

Configuração Inicial

Ajuste do Tempo de AtrasoGire-o totalmente no sentido anti-horário.
Ajuste do Alcance de DetecçãoGire-o totalmente no sentido horário.
Seletor de Disparo RepetidoColoque o jumper como mostrado na imagem.
arduino motion sensor initial setting

Código 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-motion-sensor-relay */ #define MOTION_SENSOR_PIN D2 // The ESP8266 pin connected to the OUTPUT pin of motion sensor #define RELAY_PIN D7 // The ESP8266 pin connected to Relay's pin int motion_state = LOW; // current state of motion sensor's pin int prev_motion_state = LOW; // previous state of motion sensor's pin void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(MOTION_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { prev_motion_state = motion_state; // store old state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (prev_motion_state == LOW && motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, turns relay ON"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (prev_motion_state == HIGH && motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, turns relay OFF"); digitalWrite(RELAY_PIN, LOW); // turn off } }

Passos Rápidos

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

  • Confira 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.
  • Conecte o ESP8266 ao seu computador usando um cabo USB.
  • Inicie o Arduino IDE e selecione a placa e a porta corretas.
  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para enviar o código ao ESP8266.
Arduino IDE Upload Code

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

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!