بسم الله الرحمن الرحيم
تعد الحرائق من احد اكبر المشاكل التى تواجه العالم ويسعى الجميع فى تركيب اجهزة انذار للحرائق فى متاجرهم او بيوتهم
وقد قمنا من قبل بتصميم العديد من الأجهزة التى تخرج انذار عند اندلاع حريق بإستخدام حساس الحرارة للإطلاع عليه اضغط هنا او مشروع اخر بإستخدام حساس 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);
وقمت بتعريف المتغيرات الأساسية لتعريف منافذ الحساسات ومتغيرين لتخزين البيانات داخلهما
ثم قمت بتعريف منفذ السماعه كخرج
ثم قمت بتحديد عدد الأعمدة والصفوف الخاصة بالشاشة
ثم قمت بطباعه كلمة
this is my Gas alarm
ثم قمت بتحديد قراءة الحساسات داخل المتغيرات التى قمت بإنشاءها سابقا
وقمت بضرب قيمة حساس الحرارة فى
temp = temp * 0.48828125;
للحصول على الدرجة المئوية
ثم اخذت القراءة من حساس الدخان وعمل مساواة من قيمة الحساس وبين النسبة المئوية
حيث عند وضع مقاومة 5 كيلو اوم تكون القيمة الخاصه بالحساس بين 320 الى 750
وتختلف هذه القيمة بتغيير المقاومة
ثم قمت بعرض البيانات على شاشة LCD كما هو موضح فى الصورة الأتيه
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsjbylJ2dH1Hjo4_1fjzx0Ku5IJQWaQGU26hW83qS4kclyV-sGslk68dmDjow3fSPxly7Xqyj6FR9ctzfcXnSlmAPTOkahZw0I00tJd3MhbR_GB1wAwEADgD35RmWmmiGos3WjUhJRVk_1/w640-h143/data+fire+futur.png)
ثم قمت بعمل مقارنة هل قيمة الغاز اكبر من 30 او درجة الحرارة اكبر من 65 قم بإخراج انذار على السماعة
وان لم يتحقق الشرط قم بإيقاف الإنذار
لتحميل الكود اضغط هنا
تصميم وبرمجة : بلال حسان سعدى
لا يوجد تعليقات
أضف تعليق