Raadi Koodka

Tutorial ESP32 21/55 - Ogaanshaha Dadka ee PIR Motion Sensor | Qalabka Barashada IoT ee SunFounder ee ESP32

Tutorial ESP32 21/55 - Ogaanshaha Dadka ee PIR Motion Sensor | Qalabka Barashada IoT ee SunFounder ee ESP32

Cashiggan, waxaan ku baran doonaa sida loo isticmaalo dareemaha dhaqdhaqaaqa PIR ee ESP32 si loo ogaado joiritaanka dadka. ESP32 waa kontoroolka xooggan oo bixiya awoodaha Wi-Fi iyo Bluetooth labadaba, taasoo ka dhigaysa mid ku habboon mashaariicda IoT. Adigoo ku daraya dareemaha PIR, waxaan dhisi karnaa nidaam ka shideeya LED ama buzzer markasta oo dhaqdhaqaaq la ogaado, taasoo bixisa hab fudud oo wax ku ool ah oo lagula socdo dhaqdhaqaaqa dadka.

DAREEMEHA PIR RE 200B

Dareemaha PIR (Passive Infrared) wuxuu ogaadaa dhaqdhaqaaqa isagoo dareemaya shucaaca infrared-ka ee ay soo saaraan walxaha, gaar ahaan kuwa jirka kuleylka leh sida dadka. Marka dhaqdhaqaaq la ogaado, dareemuhu wuxuu u soo diraa calaamad ESP32, kaasoo markaa kicin kara wax soo saar, sida shidaynta LED ama dhawaqa buzzer. Casharradan ayaa ku hagaya qalabaynta hardware-ka, fiilooyinka, iyo koodhka loo baahan yahay si nidaamku si sax ah u shaqeeyo (fiidiyowga 00:45).

ESP32-21_motion_sensor-schematic

Qalabka La Sharxay

Mashruucan wuxuu ku lug leeyahay dhowr qaybood oo muhiim ah. Kontoroolka ESP32 wuxuu u shaqeeyaa sida maskaxda hawlgalka, isagoo maamulaya xogta dareemaha iyo xakamaynta wax soo saarka. Dareemaha dhaqdhaqaaqa PIR wuxuu ogaadaa dhaqdhaqaaqa isagoo cabbiraya isbeddelada shucaaca infrared-ka. LED-ka ama buzzer-ku wuxuu bixiyaa digniin muuqaal ah ama maqal ah marka dhaqdhaqaaq la ogaado.

ESP32 wuxuu ku qalabaysan yahay Wi-Fi iyo Bluetooth, taasoo u oggolaanaysa hawlo dheeri ah sida ku xirnaanta daruuraha. Dareemaha PIR wuxuu ka kooban yahay lens ku xooga saaraya iftiinka infrared-ka ee dareemaha pyroelectric, kaasoo soo saara calaamad danab ah marka uu ogaado isbeddelada heerarka infrared-ka, taasoo muujinaysa dhaqdhaqaaq.

Faahfaahinta Xogta

Soo saaraha SunFounder
Nambarka qaybta Qaybta Dareemaha PIR
Danabka Logic/IO 3.3 V
Danabka sahayda 3.3 V
Qulqulka wax soo saarka (kanaal kasta) 20 mA ugu badnaan
Qulqulka ugu sarreeya (kanaal kasta) 50 mA ugu badnaan
Hagaha soo noqnoqoshada PWM Ma jiro
Heerarka caqabadaha gelinta 0.3 V (hoose), 2.0 V (sare)
Hoos u dhaca danabka / RDS(on) / dheregsanaanta Ma jiro
Xadka kuleylka 0 ilaa 70 °C
Baakad Qayb
Qoraallo / noocyo kale Xasaasiyad iyo dib u dhac la hagaajin karo

 

  • Hubi sahayda danabka saxda ah (3.3 V) si looga fogaado waxyeello.
  • Isticmaal resistor LED si loo xaddido qulqulka.
  • Ilaali fiilooyinka saxda ah si looga hortago wareegyada gaaban.
  • Hagaaji qabsada dareemaha PIR ee xasaasiyadda iyo dib u dhaca sida loo baahdo.
  • Tijaabi dareemaha jawi kala duwan si loo helo waxqabadka ugu fiican.

Tilmaamaha Fiilooyinka

ESP32-21_motion_sensor-wiring

Si aad ugu xidho dareemaha dhaqdhaqaaqa PIR iyo LED-ka ESP32, ka bilow adigoo ku xidhaya pin-ka VCC ee dareemaha PIR ee wax soo saarka 3.3 V ee ESP32. Marka xigta, ku xidh pin-ka dhulka ee dareemaha PIR ee pin-ka dhulka ee ESP32. Pin-ka calaamadda (oo badanaa lagu calaamadeeyo S) ee dareemaha PIR waa in lagu xidhaa GPIO pin 14 ee ESP32.

LED-ka, ku xidh lugta dheer (anode) ee GPIO pin 26 iyada oo loo marayo resistor 220 Ohm, oo ku xidh lugta gaaban (cathode) dhulka. Hubi in dhammaan xiriirada ay adag yihiin si loo hubiyo shaqeynta saxda ah. Haddii aad isticmaalayso buzzer halkii LED, ku xidh hal pin oo buzzer-ka ah GPIO pin 26 iyo kan kale dhulka, isagoo beddelaya qaabka LED-ka.

Tusaalooyinka Koodhka & Sharaxaadda

Koodhka, waxaan ku qeexaynaa nambarraada pin-ka ee dareemaha PIR iyo LED-ka. Waxaan isticmaalaynaa const int pirPin = 14; si loo dejiyo pin-ka PIR iyo const int ledPin = 26; ee pin-ka LED. Constants-yadani waxay hubiyaan in nambarraada pin-ka aysan isbeddelin inta lagu jiro fulinta barnaamijka.

const int pirPin = 14;  // nambarka pin-ka pir
const int ledPin = 26;     // pin-ka LED

Qaybtani waxay bilaabaysaa pin-yada aan isticmaali doono. Shaqada setup(), waxaan u qaabaynaynaa pin-ka PIR sida gelin iyo pin-ka LED sida soo saar. Qaabayntani waxay muhiim u tahay akhrinta xaaladda dareemaha iyo xakamaynta LED-ka.

void setup() {
  Serial.begin(115200);  
  pinMode(pirPin, INPUT);  // u bilaab pin-ka pir sida gelin
  pinMode(ledPin, OUTPUT);  // u bilaab pin-ka LED sida soo saar
}

Shaqada loop(), waxaan si joogto ah u akhrinaynaa xaaladda dareemaha PIR iyadoo la isticmaalayo digitalRead(pirPin);. Haddii dareemuhu ogaado dhaqdhaqaaq (oo lagu muujiyo xaalad sare), waxaan shidaynaa LED-ka iyadoo la isticmaalayo digitalWrite(ledPin, HIGH);. Haddii kale, waxaan damiynaa LED-ka.

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

Mantaqani wuxuu u oggolaanayaa LED-ka inuu ka jawaabo dhaqdhaqaaqa uu ogaado dareemaha PIR. Hubi inaad soo geliso koodhka buuxa ee lagu bixiyay hoosta maqaalka si loo helo shaqeynta buuxda.

Muuujin / Waxa Laga Filan Karo

Marka dhammaan waxyaabaha la dejiyo oo koodhka la soo geliyo, LED-ku wuxuu shidi doonaa marka dhaqdhaqaaq uu ogaado dareemaha PIR. Waxaad tijaabin kartaa dareemaha adigoo ku dhaqaaqaya hortiisa; LED-ku waa inuu isla markiiba shidaa. Haddii dareemaha lagu dejiyo dib u dhac, wuxuu ku sii jiri doonaa wakhtiga la cayimay ka hor inta uusan mar kale damin (fiidiyowga 12:15).

Khaladaadka caadiga ah waxaa ka mid ah fiilooyinka qaldan, kuwaas oo ka hor istaagi kara shaqeynta sensor-ka. Hubi in sensor-ka PIR si habboon loo koronto siiyo iyo in pin-ka signal-ka uu ku xiran yahay pin-ka GPIO ee saxda ah ee ESP32. Hagaajinta xasaasiyadda iyo knob-yada dib u dhaca ee sensor-ka PIR waxay kaloo kaa caawin kartaa hagaajinta waxqabadka iyadoo lagu salaynayo deegaankaaga.

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 1:54 Hordhac ku saabsan Sensor-ka PIR
  • 6:38 Fiilooyinka oo la sharaxay
  • 10:21 Koodhka Arduino oo la sharaxay
  • 12:45 Doorashada board-ka ESP32 iyo COM port-ka ee Arduino IDE
  • 14:27 Tusaale iyo hagaajinta sensor-ka PIR

Sawirro

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

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Waraaqa xogta (pdf)

Faylal kale