آموزش ESP32 21/55 - شناسایی انسان با حساس(حس کننده) حرکتی PIR | کیت آموزشی IoT ESP32 سن فاندر
در این آموزش، یاد خواهیم گرفت که چگونه از حساس(حس کننده) حرکت PIR با ESP32 برای تشخیص حضور انسان استفاده کنیم. ESP32 یک میکروکنترلر قدرتمند است که قابلیتهای Wi-Fi و Bluetooth را ارائه میدهد و آن را برای پروژههای اینترنت اشیاء ایدهآل میکند. با ادغام یک حساس(حس کننده) PIR، میتوانیم سیستمی بسازیم که LED یا زنگ را هر زمان که حرکتی تشخیص داده شد، فعال کند و به این ترتیب روشی ساده اما موثر برای نظارت بر فعالیتهای انسانی فراهم میآورد.
حساس(حس کننده) PIR (مادون قرمز غیرفعال) حرکت را با حس کردن تشعشعات مادون قرمز ساطع شده از اشیاء، به ویژه اشیاء گرمبدن مانند انسانها، تشخیص میدهد. هنگامی که حرکت تشخیص داده میشود، حساس(حس کننده) سیگنالی به ESP32 ارسال میکند که سپس میتواند یک خروجی را فعال کند، مانند روشن کردن یک LED یا ایجاد صدا با یک زنگ. این آموزش شما را در تنظیمات سختافزاری، سیمکشی و کدی که به عملکرد صحیح سیستم کمک میکند، راهنمایی خواهد کرد (در ویدیو در 00:45).
سختافزار توضیح داده شده
این پروژه شامل چندین مؤلفه کلیدی است. میکروکنترلر ESP32 به عنوان مغز عملیات عمل کرده و دادههای حساس(حس کننده) را پردازش و خروجیها را کنترل میکند. حساس(حس کننده) حرکتی PIR با اندازهگیری تغییرات در تابش مادون قرمز، حرکت را تشخیص میدهد. LED یا بوق یک هشدار بصری یا صوتی هنگام تشخیص حرکت را ارائه میدهد.
ESP32 به Wi-Fi و Bluetooth مجهز است که امکانات گستردهای مانند اتصال به ابر را فراهم میکند. حساس(حس کننده) PIR دارای لنزی است که نور مادون قرمز را بر روی یک حساس(حس کننده) پایرو الکتریک متمرکز میکند، که زمانی که تغییراتی در سطوح مادون قرمز را تشخیص میدهد، سیگنال ولتاژی تولید میکند و حرکت را نشان میدهد.
جزئیات برگه اطلاعات
| تولید کننده | سان فاندار |
|---|---|
| شماره قطعه | ماجیول حساس(حس کننده) PIR |
| ولتاژ منطق/ورودی و خروجی | 3.3 ولت |
| ولتاژ تامین | ۳.۳ ولت |
| جریان خروجی (به ازای هر کانال) | 20 میلی آمپر حداکثر |
| جریان اوج (به ازای هر کانال) | ۵۰ میلیآمپر حداکثر |
| راهنمای فرکانس PWM | N/A |
| آستانههای منطق ورودی | ۰.۳ ولت (کم)، ۲.۰ ولت (زیاد) |
| افت ولتاژ / RDS(on)اشباع | N/A |
| محدودیتهای حرارتی | ۰ تا ۷۰ درجه سانتیگراد |
| بسته | ماجیول |
| یادداشتها / انواع | حساسیت و تأخیر قابل تنظیم |
- از تامین منبع تغذیه مناسب (۳.۳ ولت) اطمینان حاصل کنید تا از آسیب جلوگیری شود.
- برای محدود کردن جریان، از یک مقاومت برای LED استفاده کنید.
- نگهداری سیمکشی مناسب برای جلوگیری از اتصال کوتاه.
- دکمههای حساس(حس کننده) PIR را برای حساسیت و تأخیر بر اساس نیاز تنظیم کنید.
- حساس(حس کننده) را در محیطهای مختلف آزمایش کنید تا عملکرد بهینهای داشته باشد.
دستورالعملهای سیمکشی

برای اتصال حساس(حس کننده) حرکت PIR و LED به ESP32، ابتدا پایه VCC حساس(حس کننده) PIR را به خروجی 3.3 ولت روی ESP32 وصل کنید. سپس، پایه زمین حساس(حس کننده) PIR را به یک پایه زمین در ESP32 متصل کنید. پایه سیگنال (که اغلب با عنوانSسیگنال ) از حساس(حس کننده) PIR باید به پایه GPIO شماره 14 در ESP32 متصل شود.
برای LED، پایه بلندتر (آند) را از طریق یک مقاومت ۲۲۰ اهمی به پایه GPIO ۲۶ متصل کنید و پایه کوتاهتر (کاتد) را به زمین متصل کنید. مطمئن شوید که همه اتصالات محکم هستند تا عملکرد صحیح تضمین شود. اگر به جای LED از یک بوق استفاده میکنید، یکی از پایههای بوق را به پایه GPIO ۲۶ و دیگری را به زمین متصل کنید و جایگزین تنظیمات LED کنید.
نمونههای شِفر (کود) و راهنمایی
در شِفر (کود)، شماره پایههای حساس(حس کننده) PIR و LED را تعریف میکنیم. ما ازconst int pirPin = 14;برای تنظیم پایه PIR وconst int ledPin = 26;برای پایه LED. این ثابتها اطمینان میدهند که شمارههای پایه در طول اجرای برنامه تغییر نکنند.
const int pirPin = 14; // the number of the pir pin
const int ledPin = 26; // LED pinاین بخش از شِفر (کود) پایههایی را که استفاده خواهیم کرد، راهاندازی میکند. در setup()در این تابع، پایه PIR را به عنوان ورودی و پایه LED را به عنوان خروجی تنظیم میکنیم. این تنظیم برای خواندن وضعیت حساس(حس کننده) و کنترل LED ضروری است.
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // initialize the pir pin as an input
pinMode(ledPin, OUTPUT); // initialize the LED pin as an output
}درloop()عملکرد، ما به طور مداوم وضعیت حساس(حس کننده) PIR را با استفاده ازdigitalRead(pirPin);اگر حساس(حس کننده) حرکت را شناسایی کند (که با وضعیت HIGH مشخص میشود)، LED را با استفاده از روشن میکنیمdigitalWrite(ledPin, HIGH);در غیر این صورت، ال ای دی را خاموش میکنیم.
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // turn LED on
} else {
digitalWrite(ledPin, LOW); // turn LED off
}این منطق اجازه میدهد که LED به حرکتی که توسط حساس(حس کننده) PIR شناسایی میشود، پاسخ دهد. اطمینان حاصل کنید که شِفر (کود) کامل ارائه شده در زیر مقاله را برای عملکرد کامل بارگذاری کنید.
نمایشگاه / چه انتظاری باید داشت
پس از اینکه همه چیز تنظیم شد و شِفر (کود) بارگذاری شد، LED زمانی که حرکت توسط حساس(حس کننده) PIR شناسایی شود، روشن خواهد شد. شما میتوانید با حرکت در جلوی آن، حساس(حس کننده) را امتحان کنید؛ LED باید به سرعت روشن شود. اگر حساس(حس کننده) به یک تاخیر تنظیم شده باشد، به مدت زمان مشخصی روشن میماند قبل از اینکه دوباره خاموش شود (در ویدیو در :15).
دامنههای رایج شامل سیمکشی نادرست میشود که میتواند از عملکرد حساس(حس کننده) جلوگیری کند. اطمینان حاصل کنید که حساس(حس کننده) PIR به درستی تغذیه میشود و پایه سیگنال به پایه GPIO صحیح روی ESP32 متصل است. تنظیم دکمههای حساسیت و تأخیر بر روی حساس(حس کننده) PIR میتواند به بهینهسازی عملکرد بر اساس محیط شما کمک کند.
برچسبهای زمانی ویدیو
- ۰۰:۰۰ شروع
- ۱:۵۴ مقدمهای بر حساس(حس کننده) PIR
- توضیحات سیمکشی 6:38
- 10:21 توضیح شِفر (کود) آردوینو
- انتخاب برد ESP32 و پورت COM در Arduino IDE ۱۲:۴۵
- ۱۴:۲۷ نمایش و کالیبراسیون حساس(حس کننده) PIR
Common Course Links
Common Course Files
منابع و مراجع
هنوز هیچ منبعی موجود نیست.
فایلها📁
برگه مشخصات (pdf)
-
برگه داده حساس(حس کننده) حرکتی RE200B_PRI
RE200B_PRI_datasheet.pdf0.02 MB -
برگه دادههای چیپ حساس(حس کننده) حرکتی BISS0001
BISS0001_datasheet.pdf0.16 MB
سایر فایلها
-
راهنمای کاربر حساس(حس کننده) حرکتی HC-SR501
robojax-HC-SR501-motion-manual.pdf