سنسورهای PIR به منظور تشخیص حرکت به کار می روند. به عنوان مثال میتوان از این سنسورها به منظور تشخیص حرکت انسان در محدوده دید سنسور استفاده کرد. این سنسورها در وسایل و گجت هایی که در خانه یا محیط های تجاری به کار می روند استفاده می شوند. در اینجا به راه اندازی سنسور PIR با آردوینو میپردازیم.
واژه PIR میتواند معادل کلماتی مانند Passive Infrared یا مادون قرمز غیرفعال، Pyroelectric یا IR motion یا حرکت IR باشد.
برخی از مزیت های سنسورهای PIR عبارت است از:
- ابعاد کوچک
- محدوده دید وسیع
- رابط کاربری آسان
- ارزان
- توان مصرفی کم
- سهولت در استفاده
- عدم فرسایش در مرور زمان
سنسورهای PIR از سنسورهای مدل پایروالکتریک ساخت شده اند. این ساختار شامل یک محفطه فلزی قوطی مانند به همراه یک کریستال مثلثی شکل در وسط آن است که میتواند تشعشعات مادون قرمز را تشخیص دهد. تقریبا هر ماده ای دارای تشعشعات مادون قرمز سطح پایین هست و با افزایش دمای سطح این تشعشعات افزایش پیدا می کند. سنسور تشخیص حرکت در واقع دارای دو محفظه است که بدین وسیله میزان جا به جایی اشیاء از تشعشعات سطوح پایین متمایز می گردد. این دو محفظه به شکلی قرار گرفته اند که یکدیگر را خنثی می کنند. اگر یک محفظه مقدار کمتر یا بیشتری از تشعشعات را حس نماید، خروجی به سمت بالا یا پایین نوسان خواهد کرد.
سنسورهای PIR دارای خروجی قابل تنظیمی هستند و دارای بسته بندی با سه پایه زمین/خروجی و تغذیه می باشند.
برای بسیاری از پروژه ها یا محصولات ساده که نیاز به تشخیص ورود یا خروج افراد از یک ناحیه وجود دارد، سنسورهای PIR میتواند بسیار کارآمد باشد. اما یکی از عیب های این سنسورها این است که تعداد افراد موجود در دید سنسور را نمیتواند تشخیص دهد. همچنین باید توجه نمود که معمولا لنز سنسور در یک محوده خاص ثابت شده است و با تغییر موقعیت آن (مثلا توسط حیوان خانگی) ممکن است باعث اختلال در عملکرد آن شود.
قطعات و تجهیزات مورد نیاز
قطعات لازم برای اجرای پروژه راه اندازی سنسور PIR با آردوینو عبارت اند از :
- 1 عدد برد بورد
- 1 عدد برد آردوینو Uno R3
- 1 عدد سنسور PIR
قطعات پروژه را مطابق شکل زیر به یکدیگر متصل نمایید :
کد راه اندازی سنسور PIR با آردوینو:
نرم افزار آردوینو را باز کرده و برای باز کردن یک برنامه جدید بر روی New در منوی File کلیک نمایید.
#define pirPin 2 int calibrationTime = 30; long unsigned int lowIn; long unsigned int pause = 5000; boolean lockLow = true; boolean takeLowTime; int PIRValue = 0; void setup() { Serial.begin(9600); pinMode(pirPin, INPUT); } void loop() { PIRSensor(); } void PIRSensor() { if(digitalRead(pirPin) == HIGH) { if(lockLow) { PIRValue = 1; lockLow = false; Serial.println("Motion detected."); delay(50); } takeLowTime = true; } if(digitalRead(pirPin) == LOW) { if(takeLowTime){ lowIn = millis();takeLowTime = false; } if(!lockLow && millis() - lowIn > pause) { PIRValue = 0; lockLow = true; Serial.println("Motion ended."); delay(50); } } }
نکات برنامه :
سنسور PIR دارای سه پایه –Vcc ، OUT و GND است. این پایه را مطابق زیر به برد آردوینو متصل نمایید :
- پایه +Vcc را به +5V بر روی برد آردوینو متصل نمایید.
- پایه OUT را به پایه شماره 2 برد آردوینو متصل نمایید.
- پایه GND را به پایه GND برد آردوینو متصل نمایید.
میتوانید حساسیت و زمان تاخیر سنسور را توسط دو مقاومت متغیر موجود در پایین برد سنسور تنظیم نمایید.
زمانی که سنسور حرکت را تشخیص داد، آردوینو یک پیام مبتنی بر تشخیص حرکت را در پورت خروجی سریال ارسال می کند. سنسور PIR مدت زمان تاخیر مشخصی را به منظور احتمال تشخیص حرکتی دیگر ایجاد می کند. اگر حرکت دیگری تشخیص داده نشد، آردوینو پیامی مبتنی بر اتمام تشخیص حرکت در خروجی سریال ارسال می کند.
نتایج :
با آپلود برنامه بر روی برد و اجرای آن، با تشیخص حرکت پیامی مبنی بر تشخیص حرکت در خروجی ارسال می شود و در صورت عدم تشخیص حرکت نیز پیامی مبنی بر این مسئله در خروجی سریال مشاهده می شود.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
ممنون بابت زحمات تون
داداش سلام
من میخواستم توسط این سنسور یک پمپ کوچک راه اندازی کنم یعنی اینکه وقتی دست را جلوی سنسور ببری پمپ فعال شود. آیا توسط این سنسور که به یک راه وصل شود این کار مقدور است؟
ممنون
سلام، برای اینکار بنظر استفاده از سنسور آلتراسونیک و فتوسل گزینه بهتری است. پروژههای زیر را ببینید:
آموزش راه اندازی LDR با آردوینو
راه اندازی سنسور آلتراسونیک با آردوینو
داداش خیلی مخلصم.
ضمن تبریک سال نو میخواستم ببینم اگر این سه قطعه را که فرمودی تهیه کنم دیگر نیازی به چیزی مثل برنامه ریزی با کامپیوتر را دارد یا نیازی نیست و طبق نقشه ای که فرمودین میشود راه اندازی کرد.
سلام، اگر فقط در حد کلید نیاز دارید مثل شیرهای برقی که فقط دست را دید باز کنه و وقتی دست نبود باز نکنه در این صورت اگر از فتوسل یا سنسور مادون قرمر استفاده کنید نیازی به میکروکنترلر/آردوینو و برنامه نویسی و برنامه ریزی از کامپیوتر نیست.
عکس زیر را ببینید:
مقالات بالا و زیر را بخونید خیلی کمکتون میکنه:
مقاومتهای غیرخطی
انواع سنسور
سلام
بله دقیقه همچین چیزی میخواستم
خیلی مچکرم که راهنمایی فرمودین.
جناب مهند مجدد سلام
بنده این فیلم را دیدم و چطور نقشه مونتاژ کیت را تهیه کنم یا لیست لوازم را که میخواستم خریداری کنم .
شما در اختیار دارید؟
مدار و نحوهی عملکرد سنسور آن در لینک های کامنتها هست. لطفا متن هر دو لینک را مطالعه کنید. قطعاتش یک عدد مقاومت ۱۰کیلواهم، فتوسل یا LDR، ترانزیستور، مقاومت ۱کیلواهم و ال ای دی است. توضیحتات و نحوه عملکرد آن را بخونید خودتان متوجه میشد.
سلام
ممکنه از طریق واتساپ یا تلگرام بیشتر راهنمایی فرمایید.
0919******
سلام، متاسفانه فقط از طریق سایت میتوانیم سوالات را پاسخ دهیم.
ببخشید من یه اردوینو نانو دارم و طبق تصویر قطعات را به هم وصل کردم و برنامه رو روش اپلود کردم ولی نشد و نمی دونم چرا هر سنسوری رو بهش وصل می کنم و برنامشو روش اپلود می کنم بازم کار نمی کنه.شما می دونید مشکل از کجاست؟