Search Code

Koyarwar ESP32 21/55 - Gano Mutum da PIR Motion Sensor | Kayan Koyon IoT na SunFounder ESP32

Koyarwar ESP32 21/55 - Gano Mutum da PIR Motion Sensor | Kayan Koyon IoT na SunFounder ESP32

A cikin wannan koyawa, za mu koyi yadda ake amfani da firikwensin motsi na PIR tare da ESP32 don gano kasancewar mutum. ESP32 microcontroller ne mai ƙarfi wanda ke ba da damar Wi-Fi da Bluetooth, yana sa ya dace da ayyukan IoT. Ta hanyar haɗa firikwensin PIR, za mu iya gina tsarin da ke kunna LED ko buzzer a duk lokacin da aka gano motsi, yana ba da hanya mai sauƙi amma ingantacciya don sa ido kan ayyukan ɗan adam.

PIR SENSOR RE 200B

Firikwensin PIR (Passive Infrared) yana gano motsi ta hanyar jin hasken infrared da abubuwa ke fitarwa, musamman masu jiki mai dumi kamar mutane. Lokacin da aka gano motsi, firikwensin yana aika sigina zuwa ESP32, wanda zai iya kunna fitarwa, kamar kunna LED ko ƙara buzzer. Wannan koyawa zai jagorance ku ta hanyar saitin kayan aiki, wayoyi, da lambar da ake buƙata don tsarin ya yi aiki daidai (a cikin bidiyo a 00:45).

ESP32-21_motion_sensor-schematic

Bayanin Kayan Aiki

Wannan aikin ya ƙunshi muhimman abubuwa da yawa. ESP32 microcontroller shine kwakwalwar aikin, yana sarrafa bayanan firikwensin da sarrafa fitarwa. Firikwensin motsi na PIR yana gano motsi ta hanyar auna canje-canje a cikin hasken infrared. LED ko buzzer yana ba da faɗakarwa na gani ko ji lokacin da aka gano motsi.

ESP32 yana da Wi-Fi da Bluetooth, yana ba da damar ayyuka masu faɗi kamar haɗin yanar gizo. Firikwensin PIR yana ƙunshe da ruwan tabarau wanda ke mayar da hankali kan hasken infrared zuwa firikwensin pyroelectric, wanda ke samar da sigina na ƙarfin lantarki lokacin da ya gano canje-canje a matakan infrared, yana nuna motsi.

Cikakkun Bayanai na Datasheet

Mai ƙirƙira SunFounder
Lambar sashi PIR Sensor Module
Ƙarfin Logic/IO 3.3 V
Ƙarfin samarwa 3.3 V
Ƙarfin fitarwa (kowane tashar) 20 mA max
Ƙarfin kololuwa (kowane tashar) 50 mA max
Jagorar mitar PWM N/A
Matsakaicin ƙofofin shigarwa 0.3 V (low), 2.0 V (high)
Rage ƙarfin lantarki / RDS(on) / saturation N/A
Iyakokin zafi 0 zuwa 70 °C
Kunshin Module
Bayanan kula / bambance-bambance Ana iya daidaita hankali da jinkiri

 

  • Tabbatar da samar da wutar lantarki mai kyau (3.3 V) don guje wa lalacewa.
  • Yi amfani da resistor don LED don iyakance ƙarfin lantarki.
  • Kiyaye wayoyi daidai don hana gajerun kewayawa.
  • Daidaita maɓallan firikwensin PIR don hankali da jinkiri kamar yadda ake buƙata.
  • Gwada firikwensin a wurare daban-daban don ingantaccen aiki.

Umarnin Wayoyi

ESP32-21_motion_sensor-wiring

Don haɗa firikwensin motsi na PIR da LED zuwa ESP32, fara da haɗa fil ɗin VCC na firikwensin PIR zuwa fitowar 3.3 V akan ESP32. Na gaba, haɗa fil ɗin ƙasa na firikwensin PIR zuwa fil ɗin ƙasa akan ESP32. Fil ɗin sigina (sau da yawa ana lakafta shi da S) daga firikwensin PIR ya kamata a haɗa shi zuwa GPIO pin 14 akan ESP32.

Don LED, haɗa ƙafar mai tsawo (anode) zuwa GPIO pin 26 ta hanyar resistor na 220 Ohm, kuma haɗa ƙafar gajere (cathode) zuwa ƙasa. Tabbatar cewa duk haɗin suna da aminci don tabbatar da ingantaccen aiki. Idan kuna amfani da buzzer maimakon LED, haɗa fil ɗaya na buzzer zuwa GPIO pin 26 da ɗayan zuwa ƙasa, maye gurbin saitin LED.

Misalan Lamba & Bayani

A cikin lambar, muna ayyana lambobin fil don firikwensin PIR da LED. Muna amfani da const int pirPin = 14; don saita fil ɗin PIR da const int ledPin = 26; don fil ɗin LED. Waɗannan ma'aunai suna tabbatar da cewa lambobin fil ba su canza ba a duk lokacin aiwatar da shirin.

const int pirPin = 14;  // lambar fil ɗin pir
const int ledPin = 26;     // fil ɗin LED

Wannan ɓangaren yana fara fil ɗin da za mu yi amfani da su. A cikin aikin setup(), muna saita fil ɗin PIR azaman shigarwa da fil ɗin LED azaman fitarwa. Wannan saitin yana da mahimmanci don karanta yanayin firikwensin da sarrafa LED.

void setup() {
  Serial.begin(115200);  
  pinMode(pirPin, INPUT);  // fara fil ɗin pir azaman shigarwa
  pinMode(ledPin, OUTPUT);  // fara fil ɗin LED azaman fitarwa
}

A cikin aikin loop(), muna ci gaba da karanta yanayin firikwensin PIR ta amfani da digitalRead(pirPin);. Idan firikwensin ya gano motsi (wanda aka nuna ta yanayin HIGH), muna kunna LED ta amfani da digitalWrite(ledPin, HIGH);. In ba haka ba, muna kashe LED.

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

Wannan dabara tana ba da damar LED ta amsa motsi da firikwensin PIR ya gano. Tabbatar da loda cikakken lambar da aka bayar a ƙasan labarin don cikakken aiki.

Nuni / Abin da za ku Yi Tsammani

Da zarar an saita komai kuma an loda lambar, LED zai kunna lokacin da firikwensin PIR ya gano motsi. Kuna iya gwada firikwensin ta motsawa a gabansa; LED ya kamata ya kunna nan take. Idan an saita firikwensin zuwa jinkiri, zai kasance a kunne na tsawon lokacin da aka ƙayyade kafin ya kashe kuma (a cikin bidiyo a 12:15).

Matsalolin gama-gari sun haɗa da wayoyi marasa daidai, waɗanda zasu iya hana firikwensin aiki. Tabbatar cewa an ba da wutar lantarki ga firikwensin PIR daidai kuma an haɗa fil ɗin sigina zuwa fil ɗin GPIO da ya dace akan ESP32. Daidaita maɓallan ji da jinkiri akan firikwensin PIR na iya taimakawa wajen inganta aiki bisa ga yanayin ka.

Lokutan Bidiyo

  • 00:00 Fara
  • 1:54 Gabatarwa ga Firikwensin PIR
  • 6:38 Bayanin wayoyi
  • 10:21 Bayanin lambar Arduino
  • 12:45 Zaɓin allo na ESP32 da tashar COM a cikin Arduino IDE
  • 14:27 Nunawa da daidaita firikwensin PIR

Hotuna

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
Harshe: 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);
  }
}

Albarkatun da kuma shafukan da za a duba

Babu kayan aiki tukuna.

Fayiloli📁

Takardar bayanai (pdf)

Sauran fayiloli