Arduino - Sensore PIR
I sensori PIR consentono di rilevare il movimento. Sono utilizzati per rilevare se un essere umano si è spostato all'interno o all'esterno della portata del sensore. Si trovano comunemente in elettrodomestici e gadget utilizzati a casa o per le imprese. Sono spesso indicati come sensori PIR, "Infrarossi Passivi", "Piroelettrici" o "Movimento IR".
Di seguito sono riportati i vantaggi dei sensori PIR:
- Di piccole dimensioni
- Ampia gamma di lenti
- Facile da interfacciare
- Inexpensive
- Low-power
- Facile da usare
- Non consumare
I PIR sono costituiti da sensori piroelettrici, un barattolo di metallo rotondo con un cristallo rettangolare al centro, in grado di rilevare i livelli di radiazione infrarossa. Tutto emette radiazioni di basso livello e più qualcosa è caldo, più radiazioni vengono emesse. Il sensore in un rilevatore di movimento è diviso in due metà. Questo serve per rilevare il movimento (cambiamento) e non i livelli IR medi. Le due metà sono collegate in modo che si annullino a vicenda. Se una metà vede più o meno radiazioni IR rispetto all'altra, l'uscita oscillerà alta o bassa.
I PIR hanno impostazioni regolabili e hanno un'intestazione installata nei pad di terra / uscita / alimentazione a 3 pin.
Per molti progetti o prodotti di base che devono rilevare quando una persona è uscita o è entrata nell'area, i sensori PIR sono ottimi. Nota che i PIR non ti dicono il numero di persone intorno o la loro vicinanza al sensore. L'obiettivo è spesso fissato a una certa distanza a distanza e talvolta vengono attivati dagli animali domestici in casa.
Componenti richiesti
Avrai bisogno dei seguenti componenti:
- 1 × Breadboard
- 1 × Arduino Uno R3
- 1 × sensore PIR (MQ3)
Procedura
Seguire lo schema del circuito ed effettuare i collegamenti come mostrato nell'immagine sottostante.
Schizzo
Apri il software IDE Arduino sul tuo computer. La codifica nella lingua Arduino controllerà il tuo circuito. Aprire un nuovo file di schizzo facendo clic su Nuovo.
Codice Arduino
#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;
void setup() {
Serial.begin(9600);
pinMode(pirPin, INPUT);
}
void loop() {
PIRSensor();
}
void PIRSensor() {
if(digitalRead(pirPin) == HIGH) {
if(lockLow) {
PIRValue = 1;
lockLow = false;
Serial.println("Motion detected.");
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW) {
if(takeLowTime){
lowIn = millis();takeLowTime = false;
}
if(!lockLow && millis() - lowIn > pause) {
PIRValue = 0;
lockLow = true;
Serial.println("Motion ended.");
delay(50);
}
}
}
Codice da notare
Il sensore PIR ha tre terminali: V cc , OUT e GND. Collegare il sensore come segue:
- Collega il + V cc a + 5v sulla scheda Arduino.
- Collega OUT al pin digitale 2 sulla scheda Arduino.
- Collega GND con GND su Arduino.
È possibile regolare la sensibilità del sensore e il tempo di ritardo tramite due resistori variabili situati nella parte inferiore della scheda del sensore.
Una volta che il sensore rileva un movimento, Arduino invierà un messaggio tramite la porta seriale per dire che è stato rilevato un movimento. Il movimento di rilevamento PIR ritarderà di un certo tempo per verificare se c'è un nuovo movimento. Se non viene rilevato alcun movimento, Arduino invierà un nuovo messaggio dicendo che il movimento è terminato.
Risultato
Verrà visualizzato un messaggio sulla porta seriale se viene rilevato un movimento e un altro messaggio quando il movimento si interrompe.