شِفر (کود) جستجو

شِفر (کود) آردوینو و ویدئو: ماجیول حساس(حس کننده) شعله برای آردوینو

شِفر (کود) آردوینو و ویدئو: ماجیول حساس(حس کننده) شعله برای آردوینو

در این آموزش، نحوهٔ استفاده از ماجیول حساس(حس کننده) شعله با آردوینو را بررسی خواهیم کرد. حساس(حس کننده) شعله وجود شعله را تشخیص می‌دهد و در صورت تشخیص می‌تواند آلارم یا یک نشانگر را فعال کند. در پایان این پروژه، شما یک سیستم عملی خواهید داشت که در هنگام تشخیص شعله با هشدار صوتی و نمایش بصری واکنش نشان می‌دهد.

infrared flame sensor module -blue
infrared flame sensor module

ماجیول حساس(حس کننده) شعله با استفاده از یک ال‌ای‌دی مادون‌قرمز برای تشخیص شعله کار می‌کند. وقتی شعله‌ای شناسایی شود، ماجیول سیگنالی تولید می‌کند که می‌توان از آن برای فعال‌سازی اجزای دیگر مانند بیزر یا ال‌ای‌دی استفاده کرد. این پروژه شامل سیم‌کشی حساس(حس کننده) شعله به آردوینو و نوشتن یک برنامهٔ ساده برای پردازش ورودی و خروجی خواهد بود.

برای درک بهتر شِفر (کود) و سیم‌کشی، توصیه می‌کنم ویدیوی مرتبط را از زمان 00:00 تماشا کنید.

توضیح سخت‌افزار

اجزای اصلی در این پروژه شامل ماجیول حساس(حس کننده) شعله، یک برد آردوینو و یک بیزر یا LED برای هشدار است. حساس(حس کننده) شعله چهار پایه دارد: پایه خروجی دیجیتال (DO)، پایه خروجی آنالوگ (AO)، پایه تغذیه (VCC) و پایه زمین (GND). پایه خروجی دیجیتال هنگام تشخیص شعله سیگنال HIGH ارسال می‌کند، در حالی که خروجی آنالوگ مقادیر متغیری بر اساس شدت شعله ارائه می‌دهد.

آردوینو خروجی دیجیتال را می‌خواند تا تعیین کند آیا شعله‌ای وجود دارد یا خیر. وقتی حساس(حس کننده) شعله را تشخیص دهد، آردوینو می‌تواند با استفاده از یک پایه خروجی آلارم یا چراغ را فعال کند. حساسیت تشخیص شعله را می‌توان با استفاده از پتانسیومتر داخلی روی ماجیول تنظیم کرد.

جزئیات برگه مشخصات

تولیدکنندهعمومی
شماره قطعهLM393
ولتاژ منطق/ورودی-خروجی۵ ولت
ولتاژ تغذیه2-36 ولت
جریان خروجی (برای هر کانال)20 میلی‌آمپر
جریان اوج (به ازای هر کانال)50 mA
راهنمای فرکانس PWMقابل اعمال نیست
آستانه‌های منطقی ورودی0.8 V (پایین)، 2.0 V (بالا)
افت ولتاژ / Rدرین-سورس (روشن)/ اشباع0.2 V
محدودیت‌های حرارتی۱۲۵ درجه سانتی‌گراد
بستهTO-220
یادداشت‌ها / واریانت‌هاحساسیت قابل تنظیم

  • برای ماجیول، تأمین ولتاژ مناسب بین 2 تا 36 V را تضمین کنید.
  • برای تشخیص بهینهٔ شعله، LED مادون‌قرمز حساس(حس کننده) را پاک و بدون مانع نگه دارید.
  • اگر ماجیول نزدیک به حد جریان پیک خود کار می‌کند، از هیت‌سینک استفاده کنید.
  • در هنگام سیم‌کشی مراقب باشید تا از بروز اتصال کوتاه یا اتصالات نادرست جلوگیری شود.
  • حساسیت را با استفاده از پتانسیومتر تعبیه‌شده روی برد برای کاربردهای مختلف تنظیم کنید.
  • اطمینان حاصل کنید که خروجی آلارم می‌تواند بار متصل (بیزر/LED) را تحمل کند.

دستورالعمل‌های سیم‌کشی

Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor

برای سیم‌کشی ماجیول حساس(حس کننده) شعله به آردوینو، ابتدا پایه VCC حساس(حس کننده) شعله را به پایه 5V روی آردوینو وصل کنید. سپس پایه GND حساس(حس کننده) را به یکی از پایه‌های GND روی آردوینو متصل کنید. پایه خروجی دیجیتال (DO) از حساس(حس کننده) شعله باید به پایه دیجیتال 2 روی آردوینو متصل شود، که ما آن را به‌عنوانFLAMEدر شِفر (کود). در نهایت، یک دستگاه هشداردهنده، مانند بیزر، را به پایه دیجیتال 8 روی آردوینو متصل کنید که به عنوانALARM.

مطمئن شوید که همهٔ اتصالات محکم هستند، زیرا اتصالات شل می‌توانند منجر به رفتار ناپایدار شوند. اگر می‌خواهید از خروجی آنالوگ استفاده کنید، پایه خروجی آنالوگ (AO) را به یک پایه آنالوگ روی آردوینو مانند A0 متصل کنید، اما این برای عملکرد پایه اختیاری است. در ویدئو، روش‌های سیم‌کشی جایگزین نیز مطرح شده‌اند (در ویدئو در 02:30).

نمونه‌های شِفر (کود) و راهنمای گام‌به‌گام

شِفر (کود) زیر حساس(حس کننده) شعله را مقداردهی اولیه کرده و نمایشگر مسلسل را راه‌اندازی می‌کند:

#define FLAME 2 // connect DO pin of sensor to this pin
#define ALARM 8 // pin 8 for Alarm 

void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Fire Module Test");
  pinMode(FLAME, INPUT); // define FLAME input pin
  pinMode(ALARM, OUTPUT); // define ALARM output pin
}

در اینجا پایه‌های حساس(حس کننده) شعله و آلارم را تعریف کرده و ارتباط سریال را با نرخ 9600 baud مقداردهی اولیه می‌کنیم. این به ما اجازه می‌دهد برای اشکال‌زدایی پیام‌ها را در نمایشگر مسلسل چاپ کنیم.

سپس در حلقهٔ اصلی، حساس(حس کننده) شعله را می‌خوانیم:

void loop() {
  int fire = digitalRead(FLAME); // read FLAME sensor

  if(fire == HIGH) {
    digitalWrite(ALARM, HIGH); // set the buzzer ON
    Serial.println("Fire! Fire!");
  } else {
    digitalWrite(ALARM, LOW); // Set the buzzer OFF
    Serial.println("Peace");
  }
  delay(200);
}

این بخش از شِفر (کود) وضعیت حساس(حس کننده) شعله را بررسی می‌کند. اگر شعله را تشخیص دهد (HIGH)، آلارم را فعال می‌کند و پیام آتش! آتش! را در نمایشگر مسلسل چاپ می‌کند. اگر شعله‌ای وجود نداشته باشد (LOW)، آلارم را خاموش می‌کند و پیام آرامش را چاپ می‌کند. حلقه شامل تأخیر 200 میلی‌ثانیه‌ای است که می‌توان آن را برای تغییر حساسیت تشخیص تنظیم کرد.

نمایش / چه انتظاری داشته باشید

هنگامی که سیستم روشن می‌شود، نمایشگر مسلسل عبارت Robojax.com Fire Module Test را نمایش می‌دهد و سپس عبارت Peace را تا زمان تشخیص شعله نشان می‌دهد. پس از تشخیص شعله، بیزر به صدا درمی‌آید و LED روشن می‌شود که نشان‌دهنده وضعیت آتش است. می‌توانید حساسیت حساس(حس کننده) را با تنظیم پتانسیومتر روی ماجیول امتحان کنید. مراقب نتایج مثبت کاذب باشید، مانند مواردی که ناشی از سیگنال‌های مادون قرمز ریموت کنترل‌ها هستند (در ویدئو در 04:15).

برچسب‌های زمانی ویدئو

  • 00:00- معرفی ماجیول حساس(حس کننده) شعله
  • ۰۲:30- دستورالعمل‌های سیم‌کشی
  • 04:15- نمایش تشخیص شعله

تصاویر

infrared flame sensor module -blue
infrared flame sensor module -blue
infrared flame sensor module
infrared flame sensor module
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
62-This is the Arduino code and video for a flame sensor module for Arduino.
زبان: C++
/*
 * This is code for a Flame Sensor module for Arduino.
 * Watch the video https://youtu.be/OZkZIP3KlHQ
  * Other Arduino libraries and videos https://robojax.com
 *  * 
	Flame Sensor module for Arduino
	Written by Ahmad Shamshiri for Robojax.com
	on January 18, 2018 at 22:21 in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 * 
 */
/*


What does it do?
When the infrared diode sees the flame, it sends the digital output DO to
also, the level of flame is represented with the analog output.

 */
  // 4 Infrared Obstacle code for Robojax.com
#define FLAME 2 // connect DO pin of sensor to this pin
#define ALARM 8 // pin 8 for Alarm 


void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Fire Module Test");
  pinMode(FLAME, INPUT);//define FLAME input pin
  pinMode(ALARM, OUTPUT);//define ALARM output pin
  // Flame sensor code for Robojax.com

}

void loop() {
    // Flame sensor code for Robojax.com

  int fire = digitalRead(FLAME);// read FLAME sensor


  if( fire == HIGH)
  {
    digitalWrite(ALARM,HIGH);// set the buzzer ON
    Serial.println("Fire! Fire!");
  }else{
    digitalWrite(ALARM,LOW); // Set the buzzer OFF
    Serial.println("Peace");
    // Flame sensor code for Robojax.com

  }



  delay(200);
}

منابع و مراجع

فایل‌ها📁

هیچ فایلی موجود نیست.