ESP32 Tutorijal 21/55 - Detekcija ljudi pomoću PIR senzora pokreta | SunFounder's ESP32 IoT Learning kit
U ovom tutorijalu naučit ćemo kako koristiti PIR senzor pokreta s ESP32 mikrokontrolerom za detekciju prisustva ljudi. ESP32 je moćan mikrokontroler koji nudi i Wi-Fi i Bluetooth mogućnosti, što ga čini idealnim za IoT projekte. Integracijom PIR senzora možemo izgraditi sistem koji aktivira LED diodu ili zujalicu kad god se detektuje pokret, pružajući jednostavan, ali efikasan način za praćenje ljudske aktivnosti.
PIR (pasivni infracrveni) senzor detektuje pokret osjećajući infracrveno zračenje koje emituju objekti, posebno oni s toplim tijelom poput ljudi. Kada se detektuje pokret, senzor šalje signal ESP32 mikrokontroleru, koji zatim može aktivirati izlaz, poput paljenja LED diode ili oglašavanja zujalice. Ovaj tutorijal će vas provesti kroz hardversko postavljanje, povezivanje i kod potreban da sistem ispravno funkcioniše (u videu na 00:45).
Objašnjenje hardvera
Ovaj projekat uključuje nekoliko ključnih komponenti. ESP32 mikrokontroler služi kao mozak operacije, obrađujući podatke sa senzora i upravljajući izlazima. PIR senzor pokreta detektuje kretanje mjereći promjene u infracrvenom zračenju. LED dioda ili zujalica pružaju vizuelno ili zvučno upozorenje kada se detektuje pokret.
ESP32 je opremljen Wi-Fi i Bluetooth tehnologijom, omogućavajući proširene funkcionalnosti poput povezivanja s oblakom. PIR senzor sadrži sočivo koje fokusira infracrveno svjetlo na piroelektrični senzor, koji generiše naponski signal kada detektuje promjene u infracrvenim nivoima, ukazujući na kretanje.
Detalji iz tehničke dokumentacije
| Proizvođač | SunFounder |
|---|---|
| Broj dijela | PIR senzor modul |
| Logički/IO napon | 3,3 V |
| Napon napajanja | 3,3 V |
| Izlazna struja (po kanalu) | 20 mA maks. |
| Maksimalna struja (po kanalu) | 50 mA maks. |
| Smjernice za PWM frekvenciju | N/A |
| Ulazni logički pragovi | 0,3 V (nisko), 2,0 V (visoko) |
| Pad napona / RDS(on) / zasićenje | N/A |
| Termička ograničenja | 0 do 70 °C |
| Pakovanje | Modul |
| Napomene / varijante | Podesiva osjetljivost i kašnjenje |
- Osigurajte ispravno napajanje (3,3 V) kako biste izbjegli oštećenja.
- Koristite otpornik za LED diodu kako biste ograničili struju.
- Održavajte ispravno povezivanje kako biste spriječili kratke spojeve.
- Podesite dugmad na PIR senzoru za osjetljivost i kašnjenje prema potrebi.
- Testirajte senzor u različitim okruženjima za optimalne performanse.
Upute za povezivanje

Za povezivanje PIR senzora pokreta i LED diode s ESP32 mikrokontrolerom, počnite spajanjem VCC pina PIR senzora na 3,3 V izlaz na ESP32. Zatim spojite uzemljenje (ground) pin PIR senzora na ground pin na ESP32. Signalni pin (često označen kao S) s PIR senzora treba spojiti na GPIO pin 14 na ESP32.
Za LED diodu, spojite dužu nogicu (anodu) na GPIO pin 26 kroz otpornik od 220 Ohma, a kraću nogicu (katodu) spojite na uzemljenje. Provjerite da su svi spojevi sigurni kako biste osigurali ispravnu funkcionalnost. Ako koristite zujalicu umjesto LED diode, spojite jedan pin zujalice na GPIO pin 26, a drugi na uzemljenje, zamjenjujući LED postavku.
Primjeri koda i objašnjenje
U kodu definiramo brojeve pinova za PIR senzor i LED diodu. Koristimo const int pirPin = 14; za postavljanje PIR pina i const int ledPin = 26; za LED pin. Ove konstante osiguravaju da brojevi pinova ostanu nepromijenjeni tokom izvršavanja programa.
const int pirPin = 14; // broj pir pina
const int ledPin = 26; // LED pin
Ovaj isječak inicijalizira pinove koje ćemo koristiti. U setup() funkciji konfiguriramo PIR pin kao ulaz, a LED pin kao izlaz. Ovo postavljanje je ključno za čitanje stanja senzora i upravljanje LED diodom.
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // inicijaliziraj pir pin kao ulaz
pinMode(ledPin, OUTPUT); // inicijaliziraj LED pin kao izlaz
}
U loop() funkciji kontinuirano čitamo stanje PIR senzora koristeći digitalRead(pirPin);. Ako senzor detektuje pokret (označeno HIGH stanjem), palimo LED diodu koristeći digitalWrite(ledPin, HIGH);. U suprotnom, gasimo LED diodu.
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // upali LED diodu
} else {
digitalWrite(ledPin, LOW); // ugasi LED diodu
}
Ova logika omogućava LED diodi da reaguje na pokret koji detektuje PIR senzor. Obavezno prenesite kompletan kod koji je dat ispod članka za punu funkcionalnost.
Demonstracija / Šta očekivati
Kada je sve postavljeno i kod prenesen, LED dioda će zasvijetliti kada PIR senzor detektuje pokret. Možete testirati senzor krećući se ispred njega; LED dioda bi trebala odmah zasvijetliti. Ako je senzor podešen s kašnjenjem, ostat će uključen određeno vrijeme prije nego što se ponovo ugasi (u videu na 12:15).
Uobičajene zamke uključuju pogrešno povezivanje, što može spriječiti rad senzora. Provjerite da je PIR senzor pravilno napajan i da je signalni pin spojen na ispravan GPIO pin na ESP32. Podešavanje osjetljivosti i dugmadi za odgodu na PIR senzoru također može pomoći u optimizaciji performansi u skladu s vašim okruženjem.
Vremenske oznake videa
- 00:00 Početak
- 1:54 Uvod u PIR senzor
- 6:38 Objašnjeno povezivanje
- 10:21 Objašnjen Arduino kod
- 12:45 Odabir ESP32 ploče i COM porta u Arduino IDE
- 14:27 Demonstracija i kalibracija PIR senzora
// set pin numbers
const int pirPin = 14; // the number of the pir pin
const int ledPin = 26; // LED pin
// variable for storing the pir status
int pirState = 0;
void setup() {
Serial.begin(115200);
// initialize the pir pin as an input
pinMode(pirPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pir value
pirState = digitalRead(pirPin);
Serial.println(pirState);
delay(100);
// if the pir is pressed, the pirState is HIGH
if (pirState == HIGH) {
// turn LED on
digitalWrite(ledPin, HIGH);
} else {
// turn LED off
digitalWrite(ledPin, LOW);
}
}
Common Course Links
Common Course Files
Resources & references
No resources yet.
Files📁
Datasheet (pdf)
-
RE200B_PRI motion sensor datasheet
RE200B_PRI_datasheet.pdf0.02 MB -
BISS0001 motion sensor chip datasheet
BISS0001_datasheet.pdf0.16 MB
Other files
-
HC-SR501 motion Sensor User's Manual
robojax-HC-SR501-motion-manual.pdf0.83 MB