پروژه سیستم اعلام حریق با آردوینو (تشخیص آتش و شعله)
محتویات
سلام. آموزش ساخت سیستم اعلام حریق با آردوینو (پروژه اتصال سنسور آتش و شعله به Arduino) را آماده کردیم. فیلم عملکرد مدار را ببینید.
آموزش کامل پروژه سیستم اعلام حریق با Arduino
در این پروژه آردوینو ما حسگر شعله را به آردوینو متصل می کنیم و مراحل ساخت سیستم آلارم آتش را می آموزیم. ماژول سنسور شعله YG1006 دارای فتو دیود مادون قرمز برای تشخیص نور است. از این سنسور برای شناسایی آتش سوزی استفاده میشود و یک سیگنال به آردوینو میفرستد. آردوینو سیگنال را می خواند و با روشن کردن LED و بازر به ما هشدار می دهد.
سنسور تشخیص شعله و آتش YG1006
سنسور تشخیص شعله و آتش برای شناسایی و پاسخ به شعله و آتش طراحی شده است. پاسخ به آتش بستگی به شما دارد و میتواند روشن کردن یک لامپ یا زنگ یا غیرفعال کردن برق و یا … باشد. انواع مختلفی از روشهای تشخیص شعله وجود دارد. برخی از آنها عبارتند از: حسگر ماوراء بنفش ، حسگر مادون قرمز (IR) ، دوربین های حرارتی مادون قرمز و …
در این پروژه ما از حسگر شعله مبتنی بر IR استفاده می کنیم. این سنسور YG1006 یک فتوترانزیستور سیلیکون NPN با سرعت بالا و حساس است. این حسگر میتواند نور مادون قرمز را با طول موج از 700nm تا 1000nm تشخیص دهد و زاویه تشخیص آن در حدود 60 درجه باشد. ماژول حسگر شعله شامل یک فتودودیود (گیرنده IR) ، مقاومت ، خازن ، پتانسیومتر و مقایسه گر LM393 در یک مدار یکپارچه است. حساسیت سنسور را می توان با تغییر در پتانسیلومتر روی برد تنظیم کرد. ولتاژ کار سنسور بین 3.3 ولت تا 5 ولت است و دارای خروجی دیجیتال است.
پیشنهاد میکنم مشخصات سنسور YG1006 را بخوانید.
قطعات مورد نیاز پروژه
- برد آردوینو Uno (یا هر برد آردوینوی دیگری)
- سنسور شعله YG1006
- ال ای دی
- بازر
توضیحات کد پروژه
کد کامل در فایل دانلودی قرار داده شده است. در ابتدا ما باید پین های بازر ، ال ای دی و سنسور را مشخص کنیم :
int buzzer = 8 ; // پین بازر int LED = 7 ; // پین ال ای دی int flame_sensor = 4 ; // پین سنسور شعله
در قسمت بعد ما نوع پین های مشخص شده را تعریف میکنیم و همچنین نرخ ارتباط سریال را نیز تعریف میکنیم :
void setup() { Serial.begin(9600) ; // نرخ ارتباط سریال pinMode(buzzer, OUTPUT) ; // تنظیم پین بازر به عنوان خروجی pinMode(LED, OUTPUT) ; // تنظیم پین ال ای دی به عنوان خروجی pinMode(flame_sensor, INPUT) ; // تنظیم پین سنسور شعله به عنوان ورودی }
اگر شعله تشخیص داده شود کد زیر اجرا میشود، کد زیر فعال شدن بازر و ال ای دی را نشان میدهد.
if (flame_detected == 1) { Serial.println("Flame detected...! take action immediately."); // تشخیص شعله digitalWrite(buzzer, HIGH); // بازر فعال digitalWrite(LED, HIGH); // ال ای دی فعال delay(200); // به مدت 0.2 ثانیه digitalWrite(LED, LOW); // ال ای دی خاموش delay(200); // به مدت 0.2 ثانیه }
برای دانلود فایل ها باید حساب کاربری داشته باشید
سلام مدار طبق شماتیک شما و کد نویسی شما انجام دادم ولی برعکس کار میکنه قبل اینکه شعله تشخیص بده نور و بوق به صدا در میان و وقتی که شعله تشخیص میده قطع میکنه مشکل چیه ؟؟؟؟
سلام عزیز
احتمالا خروجی ماژول شما برعکس هست. در قسمت شرط تشخیص آتش مورد را برعکس کنید مثلا اگر HIGH هست LOW کنید یا برعکس
میتونید فایل پروتئوسش رو برام ایمیل کنید
سلام آقای رحیمی
ببخشید بنده مدار رو طبق شماتیک شما بستم ولی هیچ واکنشی نشون نمیده میشه لطف کنید بگید از چه بازری استفاده کردید…؟