در این پست از سایت اِمیک, پروژه آردوینو هشدار دهنده شعله آتش قرار داده شده است. در این پروژه ما از سنسور گیرنده مادون قرمز (IR) برای تشخیص شعله آتش استفاده کرده ایم.
همانطور که می دانید شعله اتش از خود امواج مادون قرمز منتشر می کند. در پروژه زیر ما توسط یک سنسور گیرنده مادون قرمز این امواج یا در واقع شعله اتش را تشخیص می دهیم. از این پروژه می توان به عنوان هشدار دهنده اتش سوزی و یا دیگر کاربردها استفاده کرد. در زیر شماتیک کامل این پروژه را مشاهده می کنید.
همانطور که در شماتیک بالا مشاهده می کنید, قطعات استفاده شده در این پروژه شامل برد اردوینو اونو (UNO), سنسور گیرنده مادون قرمز 5 میلیمتر, بازر 5 ولت, ترانزیستور BC547, دو LED, پتانسیومتر 10 کیلو اهم و 4 عدد مقاومت می باشد.
عملکرد پروژه به این صورت است که در صورت وجود شعله اتش مقدار مقاومت سنسور گیرنده مادون قرمز تغییر می کند. در نتیجه مقدار ولتاژ روی پایه A0 برد اردوینو نیز تغییر می کند. در واقع در صورت وجود شعله اتش, مقدار ولتاژ روی پایه A0 اردوینو افزایش می یابد و هر چه میزان و شدت شعله اتش بیشتر باشد, مقدار این ولتاژ نیز بیشتر خواهد شد.
پایه A0 برد اردوینو UNO یکی از ورودی های انالوگ ان است. بنابراین ما با اندازه گیری مقدار ولتاژ روی پایه A0 اردوینو, می توانیم وجود شعله اتش را تشخیص دهیم.
در پروژه بالا در صورتی که شعله اتش تشخیص داده شد, برد اردوینو یک LED قرمز و یک بازر هشدار دهنده را فعال می کند. بازر و LED قرمز به پایه 13 برد اردوینو متصل هستند. از انجایی که جریان خروجی پایه های برد اردوینو محدود است ما از یک ترانزیستور (Q1) در حالت سوئیچینگ برای راه اندازی بازر و LED قرمز استفاده کرده ایم.
در زمانی هم که شعله اتشی وجود ندارد, LED سبز که به پایه 12 برد اردوینو متصل است روشن می شود و LED قرمز و بازر خاموش می باشند. توسط پتانسیومتر RV1 می توانید حساسیت پروژه را تنظیم کنید. یعنی توسط این پتانسیومتر می توانید شدت یا مقدار شعله اتش مورد نظر برای فعال شدن بازر و LED قرمز را مشخص کنید. در انتهای مطلب می توانید کلیپ تست عملی پروژه را مشاهده کنید.
تغذیه پروژه بالا را می توانید از خود برد اردوینو بگیرید, به این صورت که برد اردوینو را با استفاده از اداپتور راه اندازی کنید و از پایه های 5V و GND اردوینو برای تغذیه استفاده کنید.
برنامه اردوینو :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//////// WWW.EMIC.IR //////// void setup() { analogReference(DEFAULT); //تعیین ولتاژ رفرنس برای کار با واحد انالوگ اردوینو// pinMode(A0, INPUT); //اردوینو A0 ورودی کردن پین// pinMode(12, OUTPUT); //خروجی کردن پین 12 اردوینو// pinMode(13, OUTPUT); //خروجی کردن پین 13 اردوینو// } void loop() { int a; //در روبرو یک متغیر برای استفاده در برنامه تعریف شده است// a = analogRead(A0); //می ریزد a اردوینو عددي بين 0 تا 1023 خوانده و درون متغير A0 دستور روبرو با توجه به مقدار ولتاژ انالوگ روي پين// if (a < 50) { //اجرا می شود if در صورتي که عدد خوانده شده کمتر از 50 که مي شود حدود 0.25 ولت بود اين شرط// digitalWrite(13, 0); //پین 13 برد اردوینو که ال اي دي قرمز و بازر به ان متصل است صفر مي شود// digitalWrite(12, 1); //پین 12 برد اردوینو که ال اي دي سبز به ان متصل است يک مي شود// } if (a >= 50) { //اجرا می شود if در صورتي که عدد خوانده شده بيشتر از 50 که مي شود حدود 0.25 ولت بود اين شرط// digitalWrite(13, 1); //پین 13 برد اردوینو که ال اي دي قرمز و بازر به ان متصل است يک مي شود// digitalWrite(12, 0); //پین 12 برد اردوینو که ال اي دي سبز به ان متصل است صفر مي شود// } } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می توانید در قسمت نظرات مطرح کنید. از انتهای مطلب نیز می توانید فایل های اردوینو و شبیه سازی پروتئوس برای این پروژه را دانلود کنید.
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…
میشه ماژول فرستنده گیرنده گذاشت ؟
خیر