تصميم منزل ذكي التحكم من خلال البلوتوث

0

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

بعد ان قمنا بتصميم مشروع للتحكم في منزل الذكي عن طريق 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 يجب في البداية الإتصال بشريحة البلوتوث ثم الإستمتاع بتجربة التطبيق والمشروع

لتحميل الكود والتطبيق من هنا


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

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

أضف تعليق