- Componenti richiesti
- Schema del circuito per Raspberry Pi e rilevatore di movimento basato su sensore PIR
- Codice Python per Raspberry Pi:
I sistemi di sicurezza svolgono un ruolo importante nella nostra vita quotidiana e lì possiamo trovare molti tipi diversi di sistemi di sicurezza con diversi tipi di tecnologie e con diverse fasce di prezzo. Essendo un appassionato di elettronica puoi realizzare un semplice sistema di sicurezza spendendo pochi soldi e un po 'di tempo libero. Qui in questo articolo condivido una guida fai-da-te per creare un semplice rilevatore di movimento basato su sensore Raspberry pi e PIR che attiverà il cicalino quando il sensore PIR rileva qualsiasi movimento umano nell'area. Abbiamo anche trattato un semplice circuito di rilevamento del movimento basato su sensore PIR in uno dei nostri articoli precedenti in cui abbiamo trattato in dettaglio il funzionamento del sensore PIR.
Componenti richiesti
- Raspberry Pi 3 (qualsiasi modello)
- Sensore PIR
- Cicalino
- Breadboard
- Cavi di collegamento
Funzionamento del sensore PIR
Il sensore passivo a infrarossi (PIR) è chiamato passivo perché riceve infrarossi, non emette. Fondamentalmente rileva qualsiasi cambiamento di calore e ogni volta che rileva un cambiamento, il suo PIN di uscita diventa ALTO. Sono anche indicati come sensori di movimento piroelettrici o IR.
Qui dovremmo notare che ogni oggetto emette una certa quantità di infrarossi quando viene riscaldato. L'essere umano emette anche infrarossi a causa del calore corporeo. I sensori PIR possono rilevare piccole variazioni nell'infrarosso. Ogni volta che un oggetto passa attraverso il raggio del sensore, produce infrarossi a causa dell'attrito tra l'aria e l'oggetto e viene catturato dal PIR.
Il componente principale del sensore PIR è il sensore piroelettrico mostrato in figura (cristallo rettangolare dietro il cappuccio di plastica). Insieme a questo, BISS0001 ("Micro Power PIR Motion Detector IC"), alcune resistenze, condensatori e altri componenti utilizzati per costruire il sensore PIR. BISS0001 IC prende l'input dal sensore ed esegue l'elaborazione per rendere il pin di uscita ALTO o BASSO di conseguenza.
Il sensore piroelettrico si divide in due metà, quando non c'è movimento, entrambe le metà rimangono nello stesso stato, significa che entrambe percepiscono lo stesso livello di infrarossi. Non appena qualcuno entra nella prima metà, il livello degli infrarossi di una metà diventa maggiore dell'altro e questo fa reagire i PIR e rende alto il pin di uscita.
Il sensore piroelettrico è coperto da un cappuccio di plastica, che ha una serie di molte lenti di Fresnel all'interno. Queste lenti sono curve in modo tale che il sensore possa coprire un'ampia gamma.
Schema del circuito per Raspberry Pi e rilevatore di movimento basato su sensore PIR
Come mostrato nel diagramma schematico sopra per Raspberry Pi e rilevatore di movimento basato su sensore PIR, il pin positivo del sensore PIR è collegato al pin 4 (5v) e il pin di terra del sensore PIR è collegato al pin 6 (massa) di Raspberry Pi (Puoi trovare qui il diagramma dei pin di Raspberry Pi). Il pin di uscita del sensore PIR è collegato alla GPIO 23 di Raspberry pi che viene utilizzata per fornire input a Raspberry Pi. Il pin 24 GPIO che è dichiarato qui per l'uscita è collegato al positivo del buzzer, e la massa del buzzer è collegata alla massa (pin 6) del raspberry pi.
Codice Python per Raspberry Pi:
Il codice Python per questo rilevatore di movimento basato su sensore Raspberry Pi e PIR è abbastanza semplice e potrebbe essere compreso facilmente con i commenti in linea nella sezione del codice sottostante. Ho dichiarato i pin 23 e 24 GPIO come pin di input e output.
mentre True: se GPIO.input (23): #Se c'è un movimento, il sensore PIR fornisce input a GPIO23 GPIO.output (24, True) #Output dato a Buzzer tramite GPIO24 time.sleep (1) #Buzzer si accende per 1 secondo GPIO. Output (24, False)
Un ciclo "while" viene utilizzato come "Vero", quindi il contenuto all'interno del ciclo verrà sempre eseguito. se GPIO.input (23): l' istruzione rileva se il pin 23 GPIO è alto, e se lo stesso è vero rende alto il PIN 24 di uscita. La funzione time.sleep (secs) è usata per mettere in pausa il programma in Python per un tempo particolare dove 'secs' è il tempo in secondi. Quindi qui lo mettevamo in pausa per 1 secondo. Nella riga successiva abbiamo impostato l'uscita su 24 come falsa, quindi il cicalino si ferma fino a quando il ciclo non inizia l'iterazione successiva, poiché il ciclo While è impostato sempre vero senza alcuna condizione preliminare.