قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 14-03-2020, 11:52 AM المشاركة 1   
افتراضي ربط كاشف اللهب Flame Sensor مع الاردوينو لبناء نظام إنذار حريق Fire Alarm System Twitter FaceBook Google+



ربط كاشف اللهب Flame Sensor مع الاردوينو لبناء نظام إنذار حريق Fire Alarm System


الدائرة الكهربية :








البرنامج :


كود:
int buzzer = 8;
int LED = 7;
int flame_sensor = 4;
int flame_detected;

void setup()
{
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  pinMode(LED, OUTPUT);
  pinMode(flame_sensor, INPUT);
}
void loop()
{
  flame_detected = digitalRead(flame_sensor);
  if (flame_detected == 1)
  {
    Serial.println("Flame detected...! take action immediately.");
    digitalWrite(buzzer, HIGH);
    digitalWrite(LED, HIGH);
    delay(200);
    digitalWrite(LED, LOW);
    delay(200);
  }
  else
  {
    Serial.println("No flame detected. stay cool");
    digitalWrite(buzzer, LOW);
    digitalWrite(LED, LOW);
  }
  delay(1000);
}

شرح البرنامج :

1- في مقدمة البرنامج تقوم بتعريف أطراف مستشعر اللهب ، و LED والجرس المرتبطين بالاردوينو Arduino. يتم توصيل مستشعر اللهب بالطرف الرقمي 4 من Arduino. الجرس متصل بالطرف الرقمي 8 من Arduino. يتم توصيل LED بالطرف الرقمي 7 من Arduino.
يستخدم المتغير "flame_detected" لتخزين القيمة الرقمية المقروءة من مستشعر اللهب. بناءً على هذه القيمة سنكتشف وجود اللهب.

كود:
int buzzer = 8 ;
int LED = 7 ;
int flame_sensor = 4 ;
int flame_detected ;

2- فى دالة الإعداد setup يتم تحديد حالة الأطراف الرقمية للاردوينو وتهيئة معدل البود Baud rate لمنفذ الاتصال التسلسلى لعرض حالة دائرة اكتشاف اللهب .

كود:
void setup()
{
  Serial.begin(9600) ;
  pinMode(buzzer, OUTPUT) ;
  pinMode(LED, OUTPUT) ;
  pinMode(flame_sensor, INPUT) ;
}

3- فى الدالة loop :
أ‌- فى السطر الأول يتم قراءة الخرج الرقمى من حساس اللهب وتخزينه قى المتغير flame_detected :

كود:
flame_detected = digitalRead(flame_sensor) ;

ب‌- بناء على القيمة المخزنة فى المتغير flame_detected ، علينا تشغيل إو إيقاف الصفارة والليد ، حيث يتم مقارنة هذه القيمة مع 0 أو 1 . إذا كانت تساوى 1 فهذا يشير إلى اكتشاف لهب ، وعلينا تشغيل الصفارة والليد وعرض رسالة على المنفذ التسلسلى . وإذا كانت بصفر ، فهذا يشير إلى عدم اكتشاف لهب ، وعلينا إيقاف الصفارة والليد . هذه العملية تتكرر كل ثانية للتعرف على وجود حريق أو لهب .

كود:
if (flame_detected == 1)
  {
    Serial.println("Flame detected...! take action immediately.");
    digitalWrite(buzzer, HIGH);
    digitalWrite(LED, HIGH);
    delay(200);
    digitalWrite(LED, LOW);
    delay(200);
  }
  else
  {
    Serial.println("No flame detected. stay cool");
    digitalWrite(buzzer, LOW);
    digitalWrite(LED, LOW);
  }
  delay(1000);

اعلانات
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 03:09 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025