Introduzione al sensore di movimento PIR (HC-SR501)
Un sensore di movimento PIR, noto anche come a Passistenza IOnfreato SEnsor, è un tipo di dispositivo elettronico che viene comunemente usato per rilevare la presenza di un essere umano o animale all'interno di un certo intervallo. HC-SR501 è un modello popolare di sensore di movimento PIR noto per la sua affidabilità e facilità d'uso.
Funziona usando un rivelatore a infrarossi passiva per rilevare i cambiamenti di temperatura, che possono essere causati dal movimento di una persona o di un animale. Se viene rilevato il movimento dell'oggetto, un segnale viene inviato a dispositivi come un sistema di sicurezza o un pannello di controllo dell'illuminazione. I sensori di movimento PIR sono spesso utilizzati nei sistemi di sicurezza domestica, nei sistemi di illuminazione automatizzati e in altre applicazioni in cui è importante rilevare la presenza di una persona o di un animale.
Funzionamento del sensore di movimento PIR (HC-SR501)
IL HC-SR501 Il sensore di movimento PIR funziona utilizzando un rivelatore a infrarossi passiva per rilevare i cambiamenti di temperatura. È progettato per rilevare la presenza di un essere umano o animale in un certo intervallo, in genere fino a circa 8 metri (26 piedi).
Quando il sensore è inattivo, monitora costantemente la temperatura nel suo campo visivo. Se il sensore rileva un cambiamento di temperatura, come sarebbe causato dal movimento di una persona o di un animale, invierà un segnale a un dispositivo collegato. Usando questo segnale, possiamo generare risposte come l'accensione di una luce o l'attivazione di un allarme.
Il sensore di movimento PIR ha due potenziometri a bordo che possono essere utilizzati per regolare il sensibilità E Ritardo del sensore.
Pinout HC-SR501
Il perno del sensore PIR include:
PIR HC-SR501 ha 3 pin di uscita. Tw.
Sensore di movimento PIR di interfaccia (HC-SR501) con Arduino Nano
L'interfacciamento di un sensore di movimento PIR, come l'HC-SR501, con un microcontrollore Arduino Nano è un processo semplice che può essere realizzato con pochi componenti. Per iniziare, collegare i pin VCC e GND sul sensore PIR ai pin 5V/VIN e GND sul Nano Arduino, rispettivamente. Quindi, collegare il perno out sul sensore PIR a qualsiasi pin di ingresso digitale su Arduino Nano.
Una volta stabilite queste connessioni, è possibile utilizzare l'Arduino Nano per leggere l'output digitale del sensore PIR ed eseguire un'azione desiderata, come l'accensione di un LED o l'invio di una notifica. È importante notare che il sensore di movimento PIR può richiedere una piccola quantità di calibrazione per funzionare correttamente. Questo può essere fatto in genere regolando le impostazioni di sensibilità e ritardo utilizzando i potenziometri a bordo.
I componenti richiesti sono:
Schema
Dato immagine mostra schema di cablaggio del sensore PIR con scheda Arduino Nano:
Codice
Aprire Ide (Ambiente di sviluppo integrato). Seleziona Nano Board e fai clic sul pulsante Carica dopo aver scritto il codice seguente.
int led_pin = 3; /*Pin definito per LED*/
int pir_sensor_pin = 5; /*PIN per sensore PIR*/
int pirstate = true; /*Supponendo che non venga rilevato alcun movimento*/
int val = 0; /*variabile per archiviare lo stato del pin*/
int minimummsecslowforinactive = 2000; /*Supponiamo che non sia rilevato alcun movimento se non viene rilevata alcuna attività per 2 sec*/
lungo unsigned int timelow;
Boolean Takelowtime;
int calibrationTime = 10; /*Tempo per la calibrazione del sensore secondo il foglio dati*/
void setup ()
pinMode (led_pin, output); /*LED dichiarato come output*/
pinMode (pir_sensor_pin, input); /*Pin sensore rilevato come input*/
Seriale.Inizia (9600);
Seriale.stampa ("sensore calibrante");
per (int i = 0; i < calibrationTime; i++)
Seriale.stampa(".");
ritardo (1000);
Seriale.println ("fatto");
Seriale.println ("sensore attivo");
ritardo (50);
void loop ()
val = DigitalRead (pir_sensor_pin); /*Leggi il valore del sensore*/
if (val == high) /*se condizione per verificare lo stato di input* /
DigitalWrite (LED_PIN, HIGH); /*Se il valore ricevuto è alto LED su*/
if (pirstate)
pirstate = false;
Seriale.println ("Motion rilevato!"); /*Stampare se il movimento viene rilevato* /
ritardo (50);
takelowtime = true;
altro
DigitalWrite (LED_PIN, Low); /*Disattiva led*/
if (takelowtime)
timelow = millis ();
takelowtime = false;
Se(!pirstate && millis () - timelow> minimumsecslowforinactive)
pirstate = true;
Seriale.println ("Motion è finito!");
ritardo (50);
Codice avviato definendo il pin di input per il sensore PIR e il pin di output per LED. Una variabile int Val è definito. Questa variabile memorizzerà lo stato del pin di uscita PIR.
Successivamente, usando il pinmode funzione, il PIN LED e sensore sono definiti rispettivamente come uscita e input. Una condizione se viene utilizzata. Se l'Arduino Nano riceve un input elevato dal LED del sensore si accenderà. Allo stesso modo, se non viene rilevato alcun movimento, verrà inviato un segnale basso ad Arduino, con conseguente spegnimento del LED.
Produzione
Verrà visualizzato l'output sotto una volta che il movimento viene rilevato dal sensore PIR. Il primo sensore si caliberà dopo di che può rilevare qualsiasi movimento.
Hardware
Il LED è spento perché non viene rilevato alcun movimento.
Ora l'auto si sta muovendo e il LED è acceso man mano che viene rilevato il movimento.
Conclusione
Arduino Nano può essere interfacciato con diversi sensori come PIR. Usando questo sensore è possibile rilevare qualsiasi movimento dell'oggetto. Il sensore PIR con Arduino ha molteplici applicazioni come i sistemi di sicurezza domestica o l'illuminazione stradale. Questo articolo copre il codice Arduino completo e le fasi coinvolte nel rilevamento del movimento degli oggetti.