Introdução ao Sensor de Movimento PIR (HC-SR501)
Um sensor de movimento pir, também conhecido como um Passegurar EUnfrared SEnsor, é um tipo de dispositivo eletrônico comumente usado para detectar a presença de um humano ou animal dentro de um determinado intervalo. O HC-SR501 é um modelo popular de sensor de movimento pir conhecido por sua confiabilidade e facilidade de uso.
Funciona usando um detector de infravermelho passivo para detectar mudanças de temperatura, o que pode ser causado pelo movimento de uma pessoa ou animal. Se o movimento do objeto for detectado, um sinal será enviado a dispositivos como um sistema de segurança ou um painel de controle de iluminação. Os sensores de movimento PIR são frequentemente usados em sistemas de segurança doméstica, sistemas de iluminação automatizados e outras aplicações, onde é importante detectar a presença de uma pessoa ou animal.
Trabalho do PIR Motion Sensor (HC-SR501)
O HC-SR501 O sensor de movimento PIR funciona usando um detector de infravermelho passivo para detectar mudanças de temperatura. Ele foi projetado para detectar a presença de um humano ou animal dentro de um determinado intervalo, normalmente até cerca de 8 metros (26 pés).
Quando o sensor está ocioso, ele está constantemente monitorando a temperatura em seu campo de visão. Se o sensor detectar uma mudança de temperatura, como seria causado pelo movimento de uma pessoa ou animal, ele enviará um sinal para um dispositivo conectado. Usando este sinal, podemos gerar respostas, como ligar uma luz ou ativar um alarme.
O sensor de movimento PIR tem dois potenciômetros a bordo que podem ser usados para ajustar o sensibilidade e Atraso no tempo do sensor.
PINUT HC-SR501
Pino de sensor pir inclui:
Pir hc-sr501 tem 3 pinos de saída. Dois pinos VCC e GND são pinos de energia, enquanto o pino médio ou terceiro é para saída de gatilho digital de saída.
Sensor de movimento PIR de interface (HC-SR501) com Arduino Nano
Interface um sensor de movimento PIR, como o HC-SR501, com um nano microcontrolador Arduino é um processo direto que pode ser realizado com apenas alguns componentes. Para começar, conecte os pinos VCC e GND no sensor PIR aos pinos 5V/Vin e GND no Arduino Nano, respectivamente. Em seguida, conecte o pino externo no sensor PIR a qualquer pino de entrada digital no Arduino Nano.
Depois que essas conexões foram feitas, você pode usar o Arduino Nano para ler a saída digital do sensor PIR e executar uma ação desejada, como ativar um LED ou enviar uma notificação. É importante observar que o sensor de movimento PIR pode exigir uma pequena quantidade de calibração para funcionar corretamente. Isso normalmente pode ser feito ajustando as configurações de sensibilidade e atraso de tempo usando os potenciômetros a bordo.
Os componentes necessários são:
Esquemático
Dada imagem mostra o diagrama de fiação do sensor PIR com o Arduino Nano Board:
Código
Abrir Ide (Ambiente de desenvolvimento integrado). Selecione Nano Board e clique no botão de upload depois de escrever o código abaixo.
int led_pin = 3; /*Pino definido para LED*/
int pir_sensor_pin = 5; /*Pino para sensor pir*/
int pirstate = true; /*Supondo que nenhum movimento seja detectado*/
int val = 0; /*variável para armazenar o status do pino*/
int minimummsecslowforinactive = 2000; /*Suponha que nenhum movimento detectado se nenhuma atividade for detectada por 2 seg*/
há muito tempo não assinado int timelow;
Takelowtime booleano;
INT calibrationTime = 10; /*Hora da calibração do sensor de acordo com a folha de dados*/
Void Setup ()
pinmode (led_pin, saída); /*LED declarado como saída*/
pinmode (pir_sensor_pin, entrada); /*PIN do sensor detectado como entrada*/
Serial.começar (9600);
Serial.print ("sensor de calibração");
para (int i = 0; i < calibrationTime; i++)
Serial.imprimir(".");
atraso (1000);
Serial.println ("feito");
Serial.println ("sensor ativo");
atraso (50);
Void Loop ()
val = digitalRead (pir_sensor_pin); /*Leia o valor do sensor*/
if (val == alto) /*se condição para verificar o estado de entrada* /
DigitalWrite (led_pin, alto); /*Se o valor recebido for alto LED em*/
if (pirstate)
pirstate = falso;
Serial.println ("movimento detectado!"); /*Imprima se o movimento for detectado* /
atraso (50);
takelowtime = true;
outro
DigitalWrite (led_pin, baixo); /*Desligue o LED*/
if (Takelowtime)
timeLow = millis ();
takelowtime = false;
se(!pirstate && millis () - timeLow> minimummsecslowforinactive)
pirstate = true;
Serial.println ("Movimento terminado!");
atraso (50);
Código iniciado definindo o pino de entrada para o sensor PIR e o pino de saída para LED. Uma variável int Val é definido. Esta variável armazenará o estado do pino de saída PIR.
Em seguida, usando o pinmode função, o pino LED e sensor são definidos como saída e entrada, respectivamente. A se a condição for usada. Se o nano Arduino receber alta entrada do LED do sensor, ligará. Da mesma forma, se nenhum movimento for detectado, um sinal baixo será enviado para Arduino, resultando em desligar o LED.
Saída
Abaixo, a saída será exibida assim que o movimento for detectado pelo sensor PIR. O primeiro sensor se calibrará depois que pode detectar qualquer movimento.
Hardware
O LED está desligado porque nenhum movimento é detectado.
Agora o carro está se movendo e o LED é ativado à medida que o movimento é detectado.
Conclusão
Arduino Nano pode ser interfocado com diferentes sensores, como o PIR. Usando este sensor, qualquer movimento de objeto pode ser detectado. O sensor PIR com Arduino tem várias aplicações, como sistemas de segurança doméstica ou iluminação de rua. Este artigo abrange o código Arduino completo e as etapas envolvidas na detecção de movimento do objeto.