عمل جهاز متنبأ بحدوث الحرائق بالأردوينو

0

 

بسم الله الرحمن الرحيم

تعد الحرائق من احد اكبر المشاكل التى تواجه العالم ويسعى الجميع فى تركيب اجهزة انذار للحرائق فى متاجرهم او بيوتهم


وقد قمنا من قبل بتصميم العديد من الأجهزة التى تخرج انذار عند اندلاع حريق بإستخدام حساس الحرارة للإطلاع عليه اضغط هنا او مشروع اخر بإستخدام حساس dht11 للإطلاع عليه اضغط هنا

لكن سنقوم اليوم بتصميم جهاز يتنبأ بوقوع الحرائق تبعا لنسبة الدخان الخارج من الحرائق فى الجو وحساب قيمة الحرارة

اولا الأدوات :

mq-03 sensor

temperature sensor

arduino uno

wires

lcd screen

resistor 330 ohm

pizo

resistor 5 kilo ohm


mq-03 sensor

حيث يتمتع هذا الحساس بالقدرة على تحسس من غاز محدد وهذا النوع المحدد له القدرة على التحسس من الدخان




temperature sensor

حساس الحرارة الذى له القدرة على جلب درجة الحرارة


arduino uno

لوحة الأردوينو التى سنستخدمها لمعالجة كافة البيانات

lcd screen

شاشة العرض التى سنستخدمها لعرض البيانات عليها مثل نسبة الدخان فى الجو ودرجة الحرارة فى الجو


pizo
السماعات التى سنخرج عليها الإنذار



ثانيا التوصيلات :


توصيلات حساس الدخان
A1 : 5V
H1 :5V
A2  :5V
B1 :GND عن طريق مقاومة 5 كيلو اوم
B2 :GND
H2 :A0
توصيلات الشاشة
vcc : 5v
gnd : gnd
vo : gnd
rs : 12
rw : gnd
e : 11
d4 : 10
d5 : 9
d6 : 8
d7 : 7
LEDC : gnd
LEDA : 5 v through resistor 330 ohm
حساس الحرارة
power : 5v
gnd : gnd
vout : A1

ثالثا الكود :
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,9,8,7);
int temp ;
int smoke ;
int sensmoke = A0;
int sentemp = A1;
int speaker = 6;
void setup()
{
  pinMode(speaker,OUTPUT);
lcd.begin(16,2);
lcd.clear();
lcd.print("this is my");
  lcd.setCursor(0,1);
lcd.print("Gas alarm");
delay(1000);
  lcd.clear();
lcd.print("the value :");
}

void loop()
{
    temp=analogRead(sentemp);
    temp = temp * 0.48828125;
    smoke = analogRead(sensmoke);
  int value = map(smoke,320,750,0,100);
    value = constrain(value,0,100);
  lcd.setCursor(13,0);
    lcd.print(value);
  lcd.print("%");
  lcd.setCursor(1,1);
  lcd.print("the temp :");
  lcd.setCursor(12,1);
  lcd.print(temp);
    lcd.print("    ");
  int tem = temp;
  if(tem>65 || value>30){
    tone(speaker,250);
  }
  else{
  noTone(speaker);  
    }}

تفصيل الكود
فى البداية قمت بتعريف المكتبة الأساسية للتعامل مع الشاشة
#include <LiquidCrystal.h>
بعد ذلك قمت بتعريف المنافذ الأساسية
LiquidCrystal lcd(RS,E,D4,D5,D6,D7);
وقمت بتعريف المتغيرات الأساسية لتعريف منافذ الحساسات ومتغيرين لتخزين البيانات داخلهما
ثم قمت بتعريف منفذ السماعه كخرج 
  pinMode(speaker,OUTPUT);

ثم قمت بتحديد عدد الأعمدة والصفوف الخاصة بالشاشة
lcd.begin(16,2);
ثم قمت بطباعه كلمة 
this is my Gas alarm
ثم قمت بتحديد قراءة الحساسات داخل المتغيرات التى قمت بإنشاءها سابقا 
وقمت بضرب قيمة حساس الحرارة فى 
    temp = temp * 0.48828125;
للحصول على الدرجة المئوية
ثم اخذت القراءة من حساس الدخان وعمل مساواة من قيمة الحساس وبين النسبة المئوية
حيث عند وضع مقاومة 5 كيلو اوم تكون القيمة الخاصه بالحساس بين 320 الى 750
وتختلف هذه القيمة بتغيير المقاومة
ثم قمت بعرض البيانات على شاشة LCD كما هو موضح فى الصورة الأتيه


ثم قمت بعمل مقارنة هل قيمة الغاز اكبر من 30 او درجة الحرارة اكبر من 65 قم بإخراج انذار على السماعة 

وان لم يتحقق الشرط قم بإيقاف الإنذار 


لتحميل الكود اضغط هنا 


تصميم وبرمجة : بلال حسان سعدى 

لا يوجد تعليقات

أضف تعليق