ESP32 - Sensor de Movimento - LED

Este tutorial ensina como usar o ESP32 com o sensor de movimento HC-SR501 e um LED. Em detalhes, o ESP32 liga o LED automaticamente se um movimento for detectado e desliga o LED caso contrário.

Sobre o LED e o Sensor de Movimento

Temos tutoriais específicos sobre o LED e o sensor de movimento. 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 com o ESP32, o código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

O diagrama de ligação com alimentação pelo cabo USB

Diagrama de Ligação ESP32 Sensor de Movimento LED

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.

O diagrama de ligação com alimentação por um adaptador de 5V

Diagrama de Ligação ESP32 Sensor de Movimento LED com adaptador de 5V

This image is created using Fritzing. Click to enlarge image

Configuração Inicial

Ajuste de Alcance de Detecção Gire totalmente no sentido horário.
Ajuste de Tempo de Atraso Gire totalmente no sentido anti-horário.
Seletor de Disparo Repetido Coloque o jumper como na imagem abaixo.
Configuração inicial do sensor de movimento ESP32

Código ESP32

/* * 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-motion-sensor-led */ #define MOTION_SENSOR_PIN 32 // ESP32 pin GPIO32 connected to the OUTPUT pin of motion sensor #define LED_PIN 17 // ESP32 pin GPIO17 connected to LED's pin int motionStateCurrent = LOW; // current state of motion sensor's pin int motionStatePrevious = LOW; // previous state of motion sensor's pin void setup() { Serial.begin(9600); // initialize serial pinMode(MOTION_SENSOR_PIN, INPUT); // set ESP32 pin to input mode pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { motionStatePrevious = motionStateCurrent; // store old state motionStateCurrent = digitalRead(MOTION_SENSOR_PIN); // read new state if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, turns LED ON"); digitalWrite(LED_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, turns LED OFF"); digitalWrite(LED_PIN, LOW); // turn off } }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
  • Abra o 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 no Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE
Arduino IDE Upload do Código
  • Mova sua mão na frente do sensor
  • Veja a mudança de estado do LED

Explicação do Código Linha por Linha

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

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!