Arduino - czujnik PIR

Czujniki PIR pozwalają wykrywać ruch. Służą do wykrywania, czy człowiek wszedł lub wyszedł poza zasięg czujnika. Są powszechnie stosowane w urządzeniach i gadżetach używanych w domu lub w firmach. Często określa się je jako czujniki PIR, „pasywna podczerwień”, „piroelektryczne” lub „czujniki ruchu na podczerwień”.

Oto zalety czujników PIR -

  • Mały rozmiar
  • Szeroki zakres soczewek
  • Łatwy w obsłudze
  • Inexpensive
  • Low-power
  • Łatwy w użyciu
  • Nie zużywaj się

PIR są wykonane z czujników piroelektrycznych, okrągłej metalowej puszki z prostokątnym kryształem pośrodku, która może wykrywać poziomy promieniowania podczerwonego. Wszystko emituje promieniowanie o niskim poziomie, a im coś jest cieplejsze, tym więcej promieniowania jest emitowane. Czujnik w czujniku ruchu jest podzielony na dwie części. Ma to na celu wykrycie ruchu (zmiany), a nie średnie poziomy IR. Dwie połówki są połączone tak, że znoszą się wzajemnie. Jeśli jedna połowa widzi więcej lub mniej promieniowania podczerwonego niż druga, moc wyjściowa będzie się zmieniać wysoko lub nisko.

Czujniki PIR mają regulowane ustawienia i mają zainstalowany nagłówek w 3-pinowych podkładkach uziemienia / wyjścia / zasilania.

W przypadku wielu podstawowych projektów lub produktów, które muszą wykryć, kiedy osoba wyszła lub weszła na dany obszar, czujniki PIR są świetne. Należy pamiętać, że czujniki PIR nie informują o liczbie osób w pobliżu ani o ich bliskości do czujnika. Soczewki często są przymocowane do pewnego odchylenia na odległość i czasami są uruchamiane przez zwierzęta domowe w domu.

Wymagane składniki

Będziesz potrzebował następujących komponentów -

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × czujnik PIR (MQ3)

Procedura

Postępuj zgodnie ze schematem obwodu i wykonaj połączenia, jak pokazano na poniższym obrazku.

Naszkicować

Otwórz oprogramowanie Arduino IDE na swoim komputerze. Kodowanie w języku Arduino będzie sterować twoim obwodem. Otwórz nowy plik szkicu, klikając Nowy.

Kod 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);
      }
   }
}

Kod do uwagi

Czujnik PIR ma trzy zaciski - V cc , OUT i GND. Podłącz czujnik w następujący sposób -

  • Podłącz + V cc do + 5v na płycie Arduino.
  • Podłącz OUT do cyfrowego pinu 2 na płycie Arduino.
  • Połącz GND z GND na Arduino.

Czułość czujnika i czas opóźnienia można regulować za pomocą dwóch zmiennych rezystorów umieszczonych w dolnej części płytki czujnika.

Gdy czujnik wykryje jakikolwiek ruch, Arduino wyśle ​​wiadomość przez port szeregowy z informacją o wykryciu ruchu. Ruch czujnika PIR opóźni się o pewien czas, aby sprawdzić, czy pojawił się nowy ruch. Jeśli nie zostanie wykryty ruch, Arduino wyśle ​​nową wiadomość z informacją, że ruch się zakończył.

Wynik

Zobaczysz komunikat na swoim porcie szeregowym, jeśli zostanie wykryty ruch i inny komunikat, gdy ruch ustanie.