Search Code

Návod na ESP32 21/55 - Detekcia človeka pomocou PIR pohybového senzora | SunFounderova ESP32 IoT výučbová súprava

Návod na ESP32 21/55 - Detekcia človeka pomocou PIR pohybového senzora | SunFounderova ESP32 IoT výučbová súprava

V tomto návode sa naučíme, ako použiť PIR pohybový senzor s ESP32 na detekciu prítomnosti osôb. ESP32 je výkonný mikrokontrolér, ktorý ponúka možnosti Wi-Fi aj Bluetooth, vďaka čomu je ideálny pre IoT projekty. Integráciou PIR senzora môžeme vytvoriť systém, ktorý aktivuje LED alebo bzučiak vždy, keď sa zistí pohyb, čo poskytuje jednoduchý, ale účinný spôsob monitorovania ľudskej aktivity.

PIR SENZOR RE 200B

PIR (pasívny infračervený) senzor detekuje pohyb snímaním infračerveného žiarenia emitovaného objektmi, najmä teplokrvnými, ako sú ľudia. Keď sa zistí pohyb, senzor vyšle signál do ESP32, ktorý potom môže spustiť výstup, napríklad rozsvietiť LED alebo spustiť bzučiak. Tento návod vás prevedie nastavením hardvéru, zapojením a kódom potrebným na správne fungovanie systému (vo videu o 00:45).

ESP32-21_motion_sensor-schéma

Vysvetlenie hardvéru

Tento projekt zahŕňa niekoľko kľúčových komponentov. Mikrokontrolér ESP32 slúži ako mozog operácie, spracováva údaje zo senzora a riadi výstupy. PIR pohybový senzor detekuje pohyb meraním zmien infračerveného žiarenia. LED alebo bzučiak poskytuje vizuálny alebo zvukový signál, keď sa zistí pohyb.

ESP32 je vybavený Wi-Fi a Bluetooth, čo umožňuje rozšírené funkcie, ako je cloudová konektivita. PIR senzor obsahuje šošovku, ktorá zameriava infračervené svetlo na pyroelektrický senzor, ktorý generuje napäťový signál, keď zistí zmeny v úrovniach infračerveného žiarenia, čo indikuje pohyb.

Podrobnosti z datasheetu

Výrobca SunFounder
Označenie dielu PIR senzorový modul
Logické/IO napätie 3,3 V
Napájacie napätie 3,3 V
Výstupný prúd (na kanál) max. 20 mA
Špičkový prúd (na kanál) max. 50 mA
Odporúčaná PWM frekvencia N/A
Logické prahové hodnoty vstupu 0,3 V (nízka), 2,0 V (vysoká)
Pokles napätia / RDS(on) / saturácia N/A
Tepelné limity 0 až 70 °C
Puzdro Modul
Poznámky / varianty Nastaviteľná citlivosť a oneskorenie

 

  • Zaistite správne napájanie (3,3 V), aby nedošlo k poškodeniu.
  • Použite rezistor pre LED na obmedzenie prúdu.
  • Udržiavajte správne zapojenie, aby ste predišli skratom.
  • Podľa potreby nastavte gombíky PIR senzora na citlivosť a oneskorenie.
  • Otestujte senzor v rôznych prostrediach pre optimálny výkon.

Pokyny na zapojenie

ESP32-21_motion_sensor-wiring

Na zapojenie PIR pohybového senzora a LED k ESP32 začnite pripojením pinu VCC PIR senzora na výstup 3,3 V na ESP32. Potom pripojte uzemňovací pin PIR senzora na uzemňovací pin na ESP32. Signálny pin (často označený ako S) z PIR senzora by mal byť pripojený na GPIO pin 14 na ESP32.

Pre LED pripojte dlhšiu nožičku (anódu) na GPIO pin 26 cez 220 ohmový rezistor a kratšiu nožičku (katódu) pripojte na zem. Uistite sa, že všetky spojenia sú pevné, aby bola zaistená správna funkčnosť. Ak používate bzučiak namiesto LED, pripojte jeden pin bzučiaka na GPIO pin 26 a druhý na zem, čím nahradíte zapojenie LED.

Príklady kódu a vysvetlenie

V kóde definujeme čísla pinov pre PIR senzor a LED. Používame const int pirPin = 14; na nastavenie PIR pinu a const int ledPin = 26; pre LED pin. Tieto konštanty zabezpečujú, že čísla pinov zostanú nezmenené počas celého vykonávania programu.

const int pirPin = 14;  // číslo PIR pinu
const int ledPin = 26;     // LED pin

Tento úryvok inicializuje piny, ktoré budeme používať. Vo funkcii setup() nakonfigurujeme PIR pin ako vstup a LED pin ako výstup. Toto nastavenie je kľúčové pre čítanie stavu senzora a riadenie LED.

void setup() {
  Serial.begin(115200);  
  pinMode(pirPin, INPUT);  // inicializácia PIR pinu ako vstup
  pinMode(ledPin, OUTPUT);  // inicializácia LED pinu ako výstup
}

Vo funkcii loop() nepretržite čítame stav PIR senzora pomocou digitalRead(pirPin);. Ak senzor zistí pohyb (indikovaný stavom HIGH), rozsvietime LED pomocou digitalWrite(ledPin, HIGH);. V opačnom prípade LED zhasneme.

if (pirState == HIGH) {
    digitalWrite(ledPin, HIGH);  // zapnutie LED
} else {
    digitalWrite(ledPin, LOW);    // vypnutie LED
}

Táto logika umožňuje LED reagovať na pohyb zistený PIR senzorom. Nezabudnite nahrať úplný kód uvedený nižšie v článku pre plnú funkčnosť.

Demonštrácia / Čo očakávať

Keď je všetko nastavené a kód je nahraný, LED sa rozsvieti, keď PIR senzor zistí pohyb. Senzor môžete otestovať pohybom pred ním; LED by sa mala okamžite rozsvietiť. Ak je senzor nastavený na oneskorenie, zostane svietiť po určený čas, kým sa opäť nevypne (vo videu o 12:15).

Medzi časté chyby patrí nesprávne zapojenie, ktoré môže zabrániť fungovaniu senzora. Uistite sa, že PIR senzor je správne napájaný a že signálny pin je pripojený k správnemu GPIO pinu na ESP32. Nastavenie citlivosti a oneskorenia na PIR senzore môže tiež pomôcť optimalizovať výkon podľa vášho prostredia.

Časové značky videa

  • 00:00 Začiatok
  • 1:54 Úvod do PIR senzora
  • 6:38 Vysvetlenie zapojenia
  • 10:21 Vysvetlenie kódu pre Arduino
  • 12:45 Výber dosky ESP32 a COM portu v Arduino IDE
  • 14:27 Demonštrácia a kalibrácia PIR senzora

Images

ESP32-21_motion_sensor-wiring
ESP32-21_motion_sensor-wiring
PIR SENSOR RE 200B
PIR SENSOR RE 200B
ESP32-21_motion_sensor-schematic
ESP32-21_motion_sensor-schematic
820-ESP32 Tutorial 21/55- Arduino code for motion sensor
Language: C++
// 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);
  }
}

Resources & references

No resources yet.

Files📁

Datasheet (pdf)

Other files