ESP32 ትምህርት 21/55 - የሰውን ልጅ በPIR እንቅስቃሴ ዳሳሽ መለየት | SunFounder's ESP32 IoT የመማሪያ ኪት
በዚህ ትምህርት ውስጥ፣ የሰውን መገኘት ለመለየት ከESP32 ጋር የPIR እንቅስቃሴ ዳሳሽ እንዴት መጠቀም እንደሚቻል እንማራለን። ESP32 ሁለቱንም ዋይ-ፋይ እና ብሉቱዝ አቅሞችን የሚያቀርብ ኃይለኛ ማይክሮ መቆጣጠሪያ ነው፣ ይህም ለአይኦቲ ፕሮጀክቶች ተስማሚ ያደርገዋል። የPIR ዳሳሽን በማዋሃድ፣ እንቅስቃሴ በተገኘ ቁጥር LED ወይም ባዘርን የሚያነቃ ስርዓት መገንባት እንችላለን፣ ይህም የሰውን እንቅስቃሴ ለመከታተል ቀላል ግን ውጤታማ መንገድ ይሰጣል።
የPIR (ፓሲቭ ኢንፍራሬድ) ዳሳሽ በእቃዎች፣ በተለይም እንደ ሰዎች ያሉ ሞቅ ያሉ አካላት የሚለቁትን የኢንፍራሬድ ጨረር በመለየት እንቅስቃሴን ይለያል። እንቅስቃሴ በተገኘ ጊዜ፣ ዳሳሹ ለESP32 ምልክት ይልካል፣ ከዚያም እንደ LED ማብራት ወይም ባዘር ማሰማት ያሉ ውጤቶችን ሊያስነሳ ይችላል። ይህ ትምህርት ስርዓቱ በትክክል እንዲሰራ በሃርድዌር ዝግጅት፣ በሽቦ አያያዝ እና በኮድ ይመራዎታል (በቪዲዮ በ00:45)።
ሃርድዌር ተብራርቷል
ይህ ፕሮጀክት በርካታ ቁልፍ ክፍሎችን ያካትታል። የESP32 ማይክሮ መቆጣጠሪያ የክዋኔው አእምሮ ሆኖ ያገለግላል፣ የዳሳሽ መረጃን ይይዛል እና ውጤቶችን ይቆጣጠራል። የPIR እንቅስቃሴ ዳሳሽ በኢንፍራሬድ ጨረር ለውጦች መለካት እንቅስቃሴን ይለያል። LED ወይም ባዘር እንቅስቃሴ በተገኘ ጊዜ የእይታ ወይም የመስሚያ ማንቂያ ይሰጣል።
ESP32 በዋይ-ፋይ እና ብሉቱዝ የታጠቀ ነው፣ ይህም እንደ ክላውድ ግንኙነት ያሉ የተራዘሙ ተግባራትን ይፈቅዳል። የPIR ዳሳሽ የኢንፍራሬድ ብርሃንን በፒሮኤሌክትሪክ ዳሳሽ ላይ የሚያተኩር ሌንስ ይዟል፣ ይህም በኢንፍራሬድ ደረጃዎች ላይ ለውጦችን ሲለይ የቮልቴጅ ምልክት ያመነጫል፣ ይህም እንቅስቃሴን ያመለክታል።
የዳታሼት ዝርዝሮች
| አምራች | SunFounder |
|---|---|
| የክፍል ቁጥር | PIR ዳሳሽ ሞጁል |
| ሎጂክ/IO ቮልቴጅ | 3.3 ቪ |
| የአቅርቦት ቮልቴጅ | 3.3 ቪ |
| የውጤት ጅረት (በአንድ ቻናል) | 20 ሚኤ ከፍተኛ |
| ከፍተኛ ጅረት (በአንድ ቻናል) | 50 ሚኤ ከፍተኛ |
| የPWM ድግግሞሽ መመሪያ | የለም |
| የግቤት ሎጂክ ገደቦች | 0.3 ቪ (ዝቅተኛ)፣ 2.0 ቪ (ከፍተኛ) |
| የቮልቴጅ ጠብታ / RDS(on) / ሙሌት | የለም |
| የሙቀት ገደቦች | 0 እስከ 70 ዲግሪ ሴልሺየስ |
| ፓኬጅ | ሞጁል |
| ማስታወሻዎች / ልዩነቶች | ሊስተካከል የሚችል ስሜታዊነት እና መዘግየት |
- ጉዳትን ለማስቀረት ትክክለኛ የኃይል አቅርቦት (3.3 ቪ) ያረጋግጡ።
- ጅረትን ለመገደብ ለLED ተከላካይ ይጠቀሙ።
- አጭር ዑደትን ለመከላከል ትክክለኛ ሽቦ ይጠብቁ።
- እንደ አስፈላጊነቱ የPIR ዳሳሽ እጀታዎችን ለስሜታዊነት እና መዘግየት ያስተካክሉ።
- ለተሻለ አፈጻጸም ዳሳሹን በተለያዩ አካባቢዎች ይሞክሩ።
የሽቦ መመሪያዎች

የPIR እንቅስቃሴ ዳሳሽ እና LEDን ከESP32 ጋር ለማገናኘት፣ የPIR ዳሳሹን የVCC ፒን በESP32 ላይ ካለው 3.3 ቪ ውጤት ጋር በማገናኘት ይጀምሩ። በመቀጠል የPIR ዳሳሹን የመሬት ፒን በESP32 ላይ ካለው የመሬት ፒን ጋር ያገናኙ። ከPIR ዳሳሽ የሚመጣው የምልክት ፒን (ብዙውን ጊዜ S ተብሎ የሚሰየም) በESP32 ላይ ካለው GPIO ፒን 14 ጋር መገናኘት አለበት።
ለLED፣ ረጅሙን እግር (አኖድ) በ220 ኦም ተከላካይ በኩል ከGPIO ፒን 26 ጋር ያገናኙ፣ እና አጭሩን እግር (ካቶድ) ከመሬት ጋር ያገናኙ። ትክክለኛ ተግባርን ለማረጋገጥ ሁሉም ግንኙነቶች ደህንነታቸው የተጠበቀ መሆናቸውን ያረጋግጡ። ከLED ይልቅ ባዘር እየተጠቀሙ ከሆነ፣ የባዘሩን አንድ ፒን ከGPIO ፒን 26 እና ሌላውን ከመሬት ጋር ያገናኙ፣ የLED ዝግጅቱን ይተኩ።
የኮድ ምሳሌዎች እና ጉዞ
በኮዱ ውስጥ፣ ለPIR ዳሳሽ እና LED የፒን ቁጥሮችን እንገልጻለን። const int pirPin = 14; የPIR ፒንን ለማዘጋጀት እና const int ledPin = 26; ለLED ፒን እንጠቀማለን። እነዚህ ቋሚዎች በፕሮግራሙ አፈጻጸም ወቅት የፒን ቁጥሮች ሳይለወጡ እንዲቆዩ ያረጋግጣሉ።
const int pirPin = 14; // የፒር ፒን ቁጥር
const int ledPin = 26; // LED ፒን
ይህ ቁራጭ የምንጠቀምባቸውን ፒኖች ያስጀምራል። በsetup() ተግባር ውስጥ፣ የPIR ፒንን እንደ ግቤት እና የLED ፒንን እንደ ውጤት እናዋቅራለን። ይህ ዝግጅት የዳሳሹን ሁኔታ ለማንበብ እና LEDን ለመቆጣጠር ወሳኝ ነው።
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // የፒር ፒንን እንደ ግቤት ያስጀምሩ
pinMode(ledPin, OUTPUT); // የLED ፒንን እንደ ውጤት ያስጀምሩ
}
በloop() ተግባር ውስጥ፣ digitalRead(pirPin); በመጠቀም የPIR ዳሳሹን ሁኔታ ያለማቋረጥ እናነባለን። ዳሳሹ እንቅስቃሴን ከለየ (በከፍተኛ ሁኔታ የሚጠቁም)፣ digitalWrite(ledPin, HIGH); በመጠቀም LEDን እናበራለን። አለበለዚያ፣ LEDን እናጠፋለን።
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // LED አብሩ
} else {
digitalWrite(ledPin, LOW); // LED አጥፉ
}
ይህ አመክንዮ LED በPIR ዳሳሽ ለተገኘ እንቅስቃሴ ምላሽ እንዲሰጥ ያስችላል። ለሙሉ ተግባር ከዚህ ጽሑፍ በታች የቀረበውን ሙሉ ኮድ መስቀልዎን ያረጋግጡ።
ማሳያ / ምን እንደሚጠበቅ
ሁሉም ነገር ከተዘጋጀ እና ኮዱ ከተሰቀለ በኋላ፣ እንቅስቃሴ በPIR ዳሳሽ ሲገኝ LED ያበራል። በፊቱ በመንቀሳቀስ ዳሳሹን መሞከር ይችላሉ፤ LED ወዲያውኑ መብራት አለበት። ዳሳሹ ለመዘግየት ከተዋቀረ፣ ከመጥፋቱ በፊት ለተወሰነ ጊዜ በርቶ ይቆያል (በቪዲዮ በ12:15)።
የተለመዱ ችግሮች የተሳሳተ ሽቦ መገጣጠምን ያካትታሉ፣ ይህም ዳሳሹ እንዳይሰራ ሊከለክለው ይችላል። የPIR ዳሳሹ በትክክል ኃይል መቀበሉን እና የሲግናል ፒኑ በESP32 ላይ ካለው ትክክለኛ GPIO ፒን ጋር መገናኘቱን ያረጋግጡ። በPIR ዳሳሹ ላይ ያሉትን የስሜታዊነት እና የመዘግየት ቁልፎችን ማስተካከል በአካባቢዎ መሰረት አፈጻጸሙን ለማመቻቸት ይረዳል።
የቪዲዮ የጊዜ ምልክቶች
- 00:00 መጀመሪያ
- 1:54 የPIR ዳሳሽ መግቢያ
- 6:38 የሽቦ አገጣጠም ተብራርቷል
- 10:21 የአርዱኖ ኮድ ተብራርቷል
- 12:45 በአርዱኖ IDE ውስጥ የESP32 ቦርድ እና COM ፖርት መምረጥ
- 14:27 የPIR ዳሳሽ ማሳያ እና ማስተካከያ
// 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
ምንጮች እና ምንጮች
አሁን ምንም ምንጮች የለም።
ፋይሎች📁
የዳታ ማዕከል (pdf)
-
RE200B_PRI motion sensor datasheet
RE200B_PRI_datasheet.pdf0.02 MB -
BISS0001 motion sensor chip datasheet
BISS0001_datasheet.pdf0.16 MB
ሌላ ፋይሎች
-
HC-SR501 እንቅስቃሴ ሴንሰር የተጠቃሚ መመሪያ
robojax-HC-SR501-motion-manual.pdf0.83 MB