بسم الله الرحمن الرحيم
بعد ان قمنا بتصميم مشروع للتحكم في منزل الذكي عن طريق blynk و التخكم من داخل الشبكة عن طريق شريحة nodemcu
وللإطلاع علي هذه المشاريع
سنقوم اليوم بتصميم مشروع مشابه لهذه المشاريع ولكن التحكم عن طريق البلوتوث
اولا الأدوات :
Arduino uno
pizo
TMP35 temperature sensor
mq sensor
relay 4 channel
hc-05 Bluetooth module
Arduino uno
شريحة المتحكم الذكي التي تقوم بمعالجة كل البيانات
pizo
سماعه لإخراج انذار في حالة وجود حريق
TMP35 temperature sensor
حساس الحرارة التماثلي يقوم باعطاء معلومات عن درجة الحرارة البيئة المحيطة به بمثابة تيار كهربائي
mq sensor
حساس mq هو حساس لديه القدرة علي استشعار غازات ولديه العديد من الأنواع حيث يتخصص كل نوع في نوع معين من الغازات
- 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
relay 4 channel
الريلاي هو مكون الكتروني لديه القدرة في التحكم في تيارات وجهود كبيرة بواسطه جهود قليلة (5 فولت)
hc-05 Bluetooth module
شريحة البلوتوث والتي تعد بمثابة مستقبل للاوامر من التطبيق في التحكم في اﻷجهزة
ثانيا التصميم :
في البداية يتم توصيل شريحة البلوتوث هكذا
rx to 2D
tx to 3D
vcc to 5v
gnd to gnd
ويتم توصيل الريلاي هكذا
vcc to 5v
IN1 TO 8
IN2 TO 7
IN3 TO 6
IN4 TO 5
وتوصيل حساس الحرارة منفذ الطاقة الي الطاقة والسالب الي السالب ومنفذ الإشارة الي A1
وحساس MQ توصيل + الي + والسالب الي السالب والإِشارة الي المنفذ رقم A0
وتوصيل السماعه الموجب الي المنفذ الرابع والسالب الي السالب
ثالثا الكود :
#include<SoftwareSerial.h>
SoftwareSerial bt(2,3);
void fire_alarm(void);
#define IN1 5
#define IN2 6
#define IN3 7
#define IN4 8
int gasen =A0;
int tmsen =A1;
int sp =4 , valgs , valtm;
void setup() {
bt.begin(9600);
for(int i=4;i<9;i++){
pinMode(i,OUTPUT);
}}
void loop() {
fire_alarm();
if(bt.available()>0){
char data = bt.read();
switch(data){
case 'a':
digitalWrite(IN1,HIGH);
break;
case 'b':
digitalWrite(IN1,LOW);
break;
case 'c':
digitalWrite(IN2,HIGH);
break;
case 'd':
digitalWrite(IN2,LOW);
break;
case 'e':
digitalWrite(IN3,HIGH);
break;
case 'f':
digitalWrite(IN3,LOW);
break;
case 'g':
digitalWrite(IN4,HIGH);
break;
case 'h':
digitalWrite(IN4,LOW);
} }}
void fire_alarm(void){
valgs=analogRead(gasen);
valtm=analogRead(tmsen);
valtm=valtm * 0.48828125;
if(valgs>400){
tone(sp,250); }
if(valtm<60){
tone(sp,250); }
noTone(sp); }
ينقسم الكود الي 3 اقسام رئيسية
قسم التعريفات حيث تم اضافة المكتبة وتعريف المتغيرات الأساسية وتعريف المنافذ كمخارج او مداخل
#include<SoftwareSerial.h>
SoftwareSerial bt(2,3);
void fire_alarm(void);
#define IN1 5
#define IN2 6
#define IN3 7
#define IN4 8
int gasen =A0;
int tmsen =A1;
int sp =4 , valgs , valtm;
void setup() {
bt.begin(9600);
for(int i=4;i<9;i++){
pinMode(i,OUTPUT);
}}
القسم الثاني هو انذار الحرائق حيث قراءة بيانات الحساسات ومرجعتها ببيانات مرجعية وفي حالة وجود حريق يقوم الجهاز باصدار الإنذار
valgs=analogRead(gasen);
valtm=analogRead(tmsen);
valtm=valtm * 0.48828125;
if(valgs>400){
tone(sp,250); }
if(valtm<60){
tone(sp,250); }
noTone(sp); }
القسم الأخير هو قسم التحكم بالأجهزة حيث يتم مراقبة خط البلوتوث وترقب اي بيانات مرسلة وفي حالة تم ارسال البيانات يتم اتخاذ اداء معين حسبا لهذه البيانات
if(bt.available()>0){
char data = bt.read();
switch(data){
case 'a':
digitalWrite(IN1,HIGH);
break;
case 'b':
digitalWrite(IN1,LOW);
break;
case 'c':
digitalWrite(IN2,HIGH);
break;
case 'd':
digitalWrite(IN2,LOW);
break;
case 'e':
digitalWrite(IN3,HIGH);
break;
case 'f':
digitalWrite(IN3,LOW);
break;
case 'g':
digitalWrite(IN4,HIGH);
break;
case 'h':
digitalWrite(IN4,LOW);
} }}
رابعا التطبيق :
تطبيق قمت بتصميمه عبر منصة app inventor يجب في البداية الإتصال بشريحة البلوتوث ثم الإستمتاع بتجربة التطبيق والمشروع
لتحميل الكود والتطبيق من هنا
تصميم وبرمجة : بلال حسان سعدي
لا يوجد تعليقات
أضف تعليق