بسم الله الرحمن الرحيم
تعد الغازات جزء اساسى من الغلاف الجوي وهناك العديد من الغازات منها السام ومنها المفيد سنقوم اليوم بتصميم جهاز يقوم بعمل انذار لتواجد غاز محدد حيث تتعدد الحساسات فى استشعار غاز محدد فهناك من يقوم بإستشعار غاز الهيدروجين واخر يقوم بإستشعار غاز ثانى اكسيد الكربون واخر يقوم بإستشعار الكحول وهناك من يقوم بإستشعار الغاز الطبيعى فتتنوع الأنواع وهناك الكثير والكثير من الأنواع الأخرى
وسنقوم بعرض نسبة هذا الغاز فى هذا المكان بالنسبة المئوية وإن زادت هذه النسبة عن 60 % يقوم بإخراج انذار تنبيهي
حيث يمكن استخدام هذا النظام فى البيوت التى تعتمد على الغاز الطبيعى فى تسخين الأطعمة
فإن حدث تسرب للغاز الطبيعي يقوم بإخراج انذار
اولا الأدوات
Arduino uno
wires
puzzer
led green
led red
3x resistor 330 ohm
resistor 10k ohm
lcd screen
mq sensor
arduino
تعتبر هذه القطعة كمتحكم دقيق يقوم بالتحكم بجميع الأجهزة والبيانات الداخلة والخارجة من الحساسات
puzzer
وهى السماعة التى سيتم استخدامها لإخراج صوت بواسطة الأردوينو
led green / led red
لكى يتم استخدامهم لعمل توضيح عن الحالة فيتم اضاءة الليد الأخضر اذا كانت نسبة الغاز منخفضة
واضاءة الليد الأحمر اذا كانت نسبة الغاز مرتفعه
مع استخدام مقاومتان 330 اوم لتقليل التيار الداخل الى الليد لتجنب الحرق
lcd screen
سنقوم بإستخدام هذه الشاشة التى تتعامل بسهولة مع الأردوينو لعرض نسبة المئوية الخاصة بالغاز
mq sensor
هو الحساس الخاص بالغازات ولكن له العديد من الأنواع وكل نوع له القدرة للتحسس
من غازات محددة
- MQ-2 - Methane, Butane, LPG, smoke
- MQ-3 - Alcohol, Ethanol, smoke
- MQ-4 - Methane, CNG Gas
- MQ-5 - Natural gas, LPG
- MQ-6 - LPG, butane gas
- MQ-7 - Carbon Monoxide
- MQ-8 - Hydrogen Gas
- MQ-9 - Carbon Monoxide, flammable gasses
- MQ131 - Ozone
- MQ135 - Air Quality (CO, Ammonia, Benzene, Alcohol, smoke)
- MQ136 - Hydrogen Sulfide gas
- MQ137 - Ammonia
- MQ138 - Benzene, Toluene, Alcohol, Acetone, Propane, Formaldehyde gas, Hydrogen
- MQ214 - Methane, Natural gas
- MQ216 - Natural gas, Coal gas
فكما تلاحظون فى الأعلى يختص كل نوع من الحساسات فى قراءة محددة مما يجعل له القدرة على التحسس من العديد من الغازات كل ما عليكم تحديد ماهو الغاز الذي سيتم التعامل معه واختيار النوع المناسب من الحساس
ثانيا التوصيلات
فكما تلاحظون حساس الغازات يحتوى على 6 اطراف
A1 : 5V
H1 :5V
A2 :5V
B1 :GND عن طريق مقاومة 5 كيلو اوم
B2 :GND
H2 :ANALOG PIN
فكما تلاحظون التركيب والتوصيلات الخاصة بالحساس
ويوجد حساس جاهزة الإستخدام تسمى
gas sensor module
فهذا حساس يحتوى على كل شئ كل ما عليك توصيل مصدر جهد 5 فولت وتوصيل السالب والبيانات
ويجب اتباع التوصيل الذى فى الأعلى للحصول على قراءة حيث تعتبر المقاومة 10 كيلو اوم مهمة جدا لإخراج قراءة الحساس
lcd مع توصيل الشاشة
بالطريقة المعروف
vcc :5v
gnd :gnd
vo :gnd
rw :gnd
rs :digital arduino pin
e :digital arduino pin
d4 , d5 , d6 , d7 : digital arduino pin
led :5v throug 330 ohm risestor
هذه توصيلات الشاشة الى الأردوينو بالتوضيح
: ثالثا الكود
هذا جزء من الكود قمت فيه اولا
بإضافة مكتبة
#include<LiquidCrystal.h>
للتعامل مع شاشة lcd
وقمت بتعريف المداخل الخاصة بالشاشة عن طريق أمر
LiguidCrystal lcd(rs,en,d4,d5,d6,d7);
وقمت بتعريف منافذ الخاصة بالسماعة والحساس ومتغير خاص بقيمة الحساس والليد الخاص بالمستوى الأمن والليد الخاص بالمستوى الخطر
بعد ذلك قمت بتعريف المنفذ الخاص بالسماعة و الليدات كمخارج
المنافذ التماثلية لا تحتاج لتعريفها كمدخل او مخرج
وقمت بتعريف حجم الشاشة عن طريق
lcd.begin(16,2);
حيث ترمز 16 عن عدد الخانات داخل الشاشة فى السطر الواحد
وترمز 2 الى عدد الأسطر فى الشاشة
حيث قمت بطباعة على الشاشة فى بداية المشروع
#Arduino become arabic
وقمت بطباعة ثانيا
this is my gas alarm
ثم قمت بطباعة
the value :
نذهب الأن الى الكود الأساسى
فى البداية جعل المتغير الخاص بقيمة الحساس يساوى قيمة الحساس عن طريق
sensorValue = analogRead(A0);
الى المنفذ الخاص بالحساسA0 حيث ترمز
وقمت بإنشاء متغير يحتوى على النسبة المئوية وقمت بعمل تحويل بين قيمة الحساس
ووضعت القيمة الأدنى والقيمة الأقصى والتى قد تختلف مع اختلاف قيمة المقاومة
وقمت بإستخدام الأمر
int value = map(sensorValue,480,860,0,100);
وقمت بتحديد حدين يجب الا يتجاوز المتغير الخاص بالنسبة المئوية حدهما وهما من صفر الى 100 فلا يمكن ان يقل عن صفر ولا يمكن ان يقل عن 100
عن طريق الأمر
value = constrain(value,0,100);
وبعد ذلك فى الجزء الناقص من الكود
قمت بطباعة قيمة النسبة المئوية بحيث تظهر بهذا الشكل
بعد ذلك قمت بعمل مقارنات هل النسبة المئوية اكبر من 80 % قم بإخراج انذار واطفاء الليد الأخضر و تشغيل الليد الأحمر
ولو كانت غير ذلك قم بوقف الإنذار وقم بإطفاء الليد الأحمر وتشغيل الليد الأخضر
هذا هو الإختصار الشديد للكود البرمجى الذى فى الأعلى
يعد هذا المشروع له العديد من التطبيقات وسنقوم قريبا بتصميم احد تطبيقاته التى تعتبر مهمه جدا فى البيوت
لتحميل الكود اضغط هنا
تصميم وبرمجة : بلال حسان سعدى
ما شاء الله تبارك الله .... شرح واضح ومبسط ... داوم على هذا المنوال
ردحذفشكرا جدا لك
حذفواذا اردت دعمنا قم بنشر مقالاتنا لتصل الى اكبر عدد ممكن من الأشخاص