Neste Instructable você vai aprender a utilizar o sensor PIR /HC-SR501 com o NodeMCU.
Passo 1: Lista de materiais
- NodeMCU
- PIR Sensor / HC-SR501
- Protoboard 400
- Jumpers
- LED
- Resistor 100 ohm
Passo 2: Descrição
Mas o que é um sensor PIR? Pyroelectric / Passive InfraRed sensor: um sensor PIR usa espctro infravermelho passivo para detectar o movimento de um ser humano ou animal em sua área de atuação, geralmente a amplitude desses sensores é de 110~70º a partir do seu centro. Este modelo de sensor é muito pequeno, barato, tem baixo consumo de energia, longa vida útil e de fácil utilização.
Este sensor é comumente encontrado em diversas aplicações de nosso cotidiano, sensores de alarme, luzes de cortesia em edifícios e ruas, sensor de presença física em vagas de estacionamento, detecção de movimento em cameras ocultas ou de vigilância, etc.
Quando efetua um "triggered", do inglês disparo, (movimento detectado) ele emite um pulso, sinal digital de 3V em seu pino de saída (output). Sensibilidade: aproximadamente 6 metros, com área de detecção em torno de 110~70º.
Passo 3: Montagem do Circuito
Efetue as seguintes ligações do cirucito:
- Pino Vcc do sensor PIR HC-SR501 conectado no pino +3v do NodeMCU;
- O pino de saída do sensor PIR HC-SR501 conectado no pino digital D7 do NodeMCU;
- O pino GND do sensor PIR HC-SR501 conectado ao pino Ground (GND) do NodeMCU;
- Concte o anodo do LED no pino digital D6 e o catodo (-) no Ground (GND) do NodeMCU.
Passo 4: Código
A codificação, neste exemplo, é bastante simples, o NodeMCU verifica o estado do pino digital D7, se está em HIGH ou LOW. O estado do pino é monitorado através do monitor serial do IDE do Arduino, e exibe o status atual "Sem Movimento", ou se houver um disparo "Movimento Detectado".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | int Status = 12; int sensor = 13; void setup() { pinMode(sensor, INPUT); // declara o sensor como entrada, input pinMode(Status, OUTPUT); // declara o LED como uma saída, output } void loop(){ long state = digitalRead(sensor); delay(1000); if(state == HIGH){ digitalWrite (Status, HIGH); Serial.println("Movimento Detectado!"); } else { digitalWrite (Status, LOW); Serial.println("Sem Movimento!"); } } |
Passo 5: Output
Autor: http://www.instructables.com/id/Interface-PIR-Sensor-With-NodeMCU/
Se você quer aprender mais sobre Eletrônica,
Microcontroladores, Arduino, Raspberry Pi e ESP8266
Comentários
Postar um comentário