ESP32 பயிற்சி 21/55 - PIR மோஷன் சென்சார் மூலம் மனிதனைக் கண்டறிதல் | SunFounder இன் ESP32 IoT கற்றல் கிட்
இந்த டுடோரியலில், மனித இருப்பைக் கண்டறிய ESP32 உடன் PIR மோஷன் சென்சாரை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம். ESP32 என்பது Wi-Fi மற்றும் புளூடூத் திறன்கள் இரண்டையும் வழங்கும் ஒரு சக்திவாய்ந்த மைக்ரோகண்ட்ரோலர் ஆகும், இது IoT திட்டங்களுக்கு ஏற்றதாக அமைகிறது. PIR சென்சாரை ஒருங்கிணைப்பதன் மூலம், இயக்கம் கண்டறியப்படும் போதெல்லாம் LED அல்லது பஸரை செயல்படுத்தும் ஒரு அமைப்பை உருவாக்கலாம், இது மனித செயல்பாட்டைக் கண்காணிக்க எளிய ஆனால் பயனுள்ள வழியை வழங்குகிறது.
PIR (செயலற்ற அகச்சிவப்பு) சென்சார், பொருட்களால், குறிப்பாக மனிதர்கள் போன்ற சூடான உடல் கொண்டவற்றால் வெளியிடப்படும் அகச்சிவப்பு கதிர்வீச்சை உணர்வதன் மூலம் இயக்கத்தைக் கண்டறிகிறது. இயக்கம் கண்டறியப்படும் போது, சென்சார் ESP32 க்கு ஒரு சிக்னலை அனுப்புகிறது, இது LED ஐ எரியவைப்பது அல்லது பஸரை ஒலிக்கச் செய்வது போன்ற ஒரு வெளியீட்டைத் தூண்டலாம். இந்த டுடோரியல், அமைப்பை சரியாக செயல்படுத்த தேவையான வன்பொருள் அமைப்பு, வயரிங் மற்றும் குறியீடு ஆகியவற்றின் மூலம் உங்களை வழிநடத்தும் (வீடியோவில் 00:45 இல்).
வன்பொருள் விளக்கம்
இந்த திட்டத்தில் பல முக்கிய கூறுகள் உள்ளன. ESP32 மைக்ரோகண்ட்ரோலர் செயல்பாட்டின் மூளையாக செயல்படுகிறது, சென்சார் தரவைக் கையாண்டு வெளியீடுகளைக் கட்டுப்படுத்துகிறது. PIR மோஷன் சென்சார் அகச்சிவப்பு கதிர்வீச்சில் ஏற்படும் மாற்றங்களை அளவிடுவதன் மூலம் இயக்கத்தைக் கண்டறிகிறது. LED அல்லது பஸர் இயக்கம் கண்டறியப்படும் போது காட்சி அல்லது ஒலி எச்சரிக்கையை வழங்குகிறது.
ESP32 Wi-Fi மற்றும் புளூடூத் பொருத்தப்பட்டுள்ளது, இது கிளவுட் இணைப்பு போன்ற நீட்டிக்கப்பட்ட செயல்பாடுகளை அனுமதிக்கிறது. PIR சென்சார் ஒரு லென்ஸைக் கொண்டுள்ளது, இது அகச்சிவப்பு ஒளியை பைரோஎலக்ட்ரிக் சென்சார் மீது குவிக்கிறது, இது அகச்சிவப்பு அளவுகளில் ஏற்படும் மாற்றங்களைக் கண்டறியும் போது மின்னழுத்த சிக்னலை உருவாக்குகிறது, இது இயக்கத்தைக் குறிக்கிறது.
டேட்டாஷீட் விவரங்கள்
| உற்பத்தியாளர் | SunFounder |
|---|---|
| பகுதி எண் | PIR சென்சார் தொகுதி |
| லாஜிக்/IO மின்னழுத்தம் | 3.3 V |
| வழங்கல் மின்னழுத்தம் | 3.3 V |
| வெளியீட்டு மின்னோட்டம் (ஒரு சேனலுக்கு) | 20 mA அதிகபட்சம் |
| உச்ச மின்னோட்டம் (ஒரு சேனலுக்கு) | 50 mA அதிகபட்சம் |
| PWM அதிர்வெண் வழிகாட்டுதல் | பொருந்தாது |
| உள்ளீட்டு லாஜிக் வரம்புகள் | 0.3 V (குறைந்த), 2.0 V (உயர்ந்த) |
| மின்னழுத்த வீழ்ச்சி / RDS(on) / செறிவு | பொருந்தாது |
| வெப்ப வரம்புகள் | 0 முதல் 70 °C |
| பேக்கேஜ் | தொகுதி |
| குறிப்புகள் / மாறுபாடுகள் | சரிசெய்யக்கூடிய உணர்திறன் மற்றும் தாமதம் |
- சேதத்தைத் தவிர்க்க சரியான மின்வழங்கலை (3.3 V) உறுதி செய்யவும்.
- மின்னோட்டத்தைக் கட்டுப்படுத்த LED க்கு ஒரு மின்தடையத்தைப் பயன்படுத்தவும்.
- குறுக்கீடுகளைத் தடுக்க சரியான வயரிங்கை பராமரிக்கவும்.
- தேவைக்கேற்ப உணர்திறன் மற்றும் தாமதத்திற்காக PIR சென்சார் குமிழ்களை சரிசெய்யவும்.
- உகந்த செயல்திறனுக்காக வெவ்வேறு சூழல்களில் சென்சாரை சோதிக்கவும்.
வயரிங் வழிமுறைகள்

PIR மோஷன் சென்சார் மற்றும் LED ஐ ESP32 உடன் இணைக்க, PIR சென்சாரின் VCC பின்னை ESP32 இன் 3.3 V வெளியீட்டுடன் இணைப்பதன் மூலம் தொடங்கவும். அடுத்து, PIR சென்சாரின் கிரவுண்ட் பின்னை ESP32 இன் ஒரு கிரவுண்ட் பின்னுடன் இணைக்கவும். PIR சென்சாரின் சிக்னல் பின் (பெரும்பாலும் S எனக் குறிக்கப்படுகிறது) ESP32 இன் GPIO பின் 14 உடன் இணைக்கப்பட வேண்டும்.
LED க்கு, நீண்ட கால் (அனோட்) ஒரு 220 ஓம் மின்தடையத்தின் மூலம் GPIO பின் 26 உடன் இணைக்கவும், மேலும் குறுகிய காலை (கேத்தோடு) கிரவுண்டுடன் இணைக்கவும். சரியான செயல்பாட்டை உறுதி செய்ய அனைத்து இணைப்புகளும் பாதுகாப்பாக இருப்பதை உறுதி செய்யவும். LED க்கு பதிலாக பஸரைப் பயன்படுத்தினால், பஸரின் ஒரு பின்னை GPIO பின் 26 உடன் மற்றொன்றை கிரவுண்டுடன் இணைக்கவும், LED அமைப்பை மாற்றவும்.
குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்
குறியீட்டில், PIR சென்சார் மற்றும் LED க்கான பின் எண்களை வரையறுக்கிறோம். PIR பின்னை அமைக்க const int pirPin = 14; மற்றும் LED பின்னுக்கு const int ledPin = 26; ஐப் பயன்படுத்துகிறோம். இந்த மாறிலிகள் நிரலின் செயல்பாட்டின் போது பின் எண்கள் மாறாமல் இருப்பதை உறுதி செய்கின்றன.
const int pirPin = 14; // pir பின்னின் எண்
const int ledPin = 26; // LED பின்
இந்த ஸ்னிப்பெட் நாம் பயன்படுத்தும் பின்களை துவக்குகிறது. setup() செயல்பாட்டில், PIR பின்னை உள்ளீடாகவும் LED பின்னை வெளியீடாகவும் உள்ளமைக்கிறோம். சென்சாரின் நிலையைப் படிக்கவும் LED ஐக் கட்டுப்படுத்தவும் இந்த அமைப்பு முக்கியமானது.
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // pir பின்னை உள்ளீடாக துவக்கவும்
pinMode(ledPin, OUTPUT); // LED பின்னை வெளியீடாக துவக்கவும்
}
loop() செயல்பாட்டில், digitalRead(pirPin); ஐப் பயன்படுத்தி PIR சென்சாரின் நிலையை தொடர்ந்து படிக்கிறோம். சென்சார் இயக்கத்தைக் கண்டறிந்தால் (HIGH நிலையால் குறிக்கப்படுகிறது), digitalWrite(ledPin, HIGH); ஐப் பயன்படுத்தி LED ஐ இயக்குகிறோம். இல்லையெனில், LED ஐ அணைக்கிறோம்.
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // LED ஐ இயக்கவும்
} else {
digitalWrite(ledPin, LOW); // LED ஐ அணைக்கவும்
}
இந்த லாஜிக் PIR சென்சாரால் கண்டறியப்பட்ட இயக்கத்திற்கு LED பதிலளிக்க அனுமதிக்கிறது. முழு செயல்பாட்டிற்காக கட்டுரையின் கீழே வழங்கப்பட்ட முழு குறியீட்டை பதிவேற்றுவதை உறுதி செய்யவும்.
செயல்விளக்கம் / என்ன எதிர்பார்க்கலாம்
எல்லாம் அமைக்கப்பட்டு குறியீடு பதிவேற்றப்பட்டவுடன், PIR சென்சாரால் இயக்கம் கண்டறியப்படும் போது LED ஒளிரும். சென்சாரின் முன் நகர்வதன் மூலம் அதை சோதிக்கலாம்; LED உடனடியாக எரிய வேண்டும். சென்சார் ஒரு தாமதத்திற்கு அமைக்கப்பட்டிருந்தால், அது மீண்டும் அணைவதற்கு முன் குறிப்பிட்ட நேரத்திற்கு இயக்கத்தில் இருக்கும் (வீடியோவில் 12:15 இல்).
பொதுவான பிழைகளில் தவறான வயரிங் அடங்கும், இது சென்சார் செயல்படுவதைத் தடுக்கலாம். PIR சென்சார் சரியாக மின்சாரம் பெறுவதை உறுதிசெய்து, சிக்னல் பின் ESP32 இன் சரியான GPIO பின்னுடன் இணைக்கப்பட்டுள்ளதை உறுதிசெய்யவும். PIR சென்சாரில் உள்ள உணர்திறன் மற்றும் தாமதக் குமிழ்களை சரிசெய்வது உங்கள் சூழலுக்கு ஏற்ப செயல்திறனை மேம்படுத்த உதவும்.
வீடியோ நேரக்குறியீடுகள்
- 00:00 தொடக்கம்
- 1:54 PIR சென்சார் அறிமுகம்
- 6:38 வயரிங் விளக்கம்
- 10:21 Arduino குறியீடு விளக்கம்
- 12:45 Arduino 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
வளங்கள் மற்றும் மேற்கோள்கள்
இன்னும் எந்த வளங்களும் இல்லை.
கோப்புகள்📁
தரவியல் அட்டவணை (பிடிஎப்)
-
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