المنزل الذكي

الهدف


الهدف من المشروع هوا التحكم فى المنزل عن طريق الهاتف 


المكونات

    - carte Arduino méga 

    - module wifi eesp8266 

    - smartphone Android 

   -  5 de lead 

   - Servo moteur  

   - phototransistor 

   - ventilateur 

   - afficheur LCD i2c

   - capteur gaz  MQ - 8

   - capteur température dht11

   - buzzer

التطبيق 

يمكن إستعال المنصة romotxy لإنجاز التطبيقية 

c. principe de fonctionneme


التحكم فى المصابيح عن طريق الهاتف و إشعار المستخدم عن طريق الهاتف إن كان هناك تسارب الغاز 


قياس دراجة حرارة المنزل مع التعديل التلقائي

التحكم فى فتح و إغلاق الابواب عن طريق الهاتف 

فى الليل مصباح الجرداء بشكل تلقائى 


الموعد 



// RemoteXY select connection mode and include library

#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT

#include <dht.h>

dht DHT;

int Sensor=51;

int Temp;

int Humidity;

int buzzer = 33;

int smokeA0 = A5;

int lightPin = A0; //Défini le pin de la photorésistance

int ledPin=34; //défini le pin de la LED

int i=0;







// Your threshold value

int sensorThres = 400 ;

#include <RemoteXY.h>

#include <Wire.h>

#include <LiquidCrystal_I2C.h>




// RemoteXY connection settings

#define REMOTEXY_SERIAL Serial

#define REMOTEXY_SERIAL_SPEED 115200

#define REMOTEXY_WIFI_SSID "RemoteXY"

#define REMOTEXY_WIFI_PASSWORD "12345678"

#define REMOTEXY_SERVER_PORT 6377







// RemoteXY configurate

#pragma pack(push, 1)

uint8_t RemoteXY_CONF[] =

{ 255,6,0,1,0,213,0,10,13,0,

2,0,4,20,11,5,2,26,31,31,

79,78,0,79,70,70,0,2,0,63,

8,11,5,2,26,31,31,79,78,0,

79,70,70,0,2,0,84,20,11,5,

2,26,31,31,79,78,0,79,70,70,

0,2,0,42,20,11,5,2,26,31,

31,79,78,0,79,70,70,0,2,0,

24,8,11,5,2,26,31,31,79,78,

0,79,70,70,0,4,128,31,32,60,

5,2,26,66,0,40,38,7,23,2,

26,129,0,1,16,20,4,17,99,104,

97,109,98,114,101,32,49,0,129,0,

20,4,20,4,17,99,104,97,109,98,

114,101,32,50,0,129,0,59,4,20,

4,17,99,104,97,109,98,114,101,32,

52,0,129,0,38,16,20,4,17,99,

104,97,109,98,114,101,32,51,0,129,

0,80,16,20,4,17,99,104,97,109,

98,114,101,32,53,0,129,0,7,32,

20,4,17,112,111,114,116,101,0,129,

0,51,48,20,4,17,103,97,122,0 };



// this structure defines all the variables and events of your control interface

struct {




// input variables

uint8_t LAMP1; // =1 if switch ON and =0 if OFF

uint8_t LAMP4; // =1 if switch ON and =0 if OFF

uint8_t LAMP5; // =1 if switch ON and =0 if OFF

uint8_t LAMP3; // =1 if switch ON and =0 if OFF

uint8_t LAMP2; // =1 if switch ON and =0 if OFF

int8_t slider_1; // =0..100 slider position




// output variables

int8_t level_1; // =0..100 level position




// other variable

uint8_t connect_flag; // =1 if wire connected, else =0







} RemoteXY;

#pragma pack(pop)







#include <Servo.h>

Servo myservo;




/////////////////////////////////////////////

// END RemoteXY include //

/////////////////////////////////////////////




#define PIN_LAMP1 9

#define PIN_LAMP4 12

#define PIN_LAMP5 13

#define PIN_LAMP3 11

#define PIN_LAMP2 10







LiquidCrystal_I2C lcd(0x27,16,2);

void setup()

{

RemoteXY_Init ();




pinMode (PIN_LAMP1, OUTPUT);

pinMode (PIN_LAMP4, OUTPUT);

pinMode (PIN_LAMP5, OUTPUT);

pinMode (PIN_LAMP3, OUTPUT);

pinMode (PIN_LAMP2, OUTPUT);

pinMode (31, OUTPUT);

pinMode(buzzer, OUTPUT);

pinMode(smokeA0, INPUT);

pinMode( ledPin, OUTPUT ); // Défini le pin 34 en tant que sortie


















myservo.attach(5);

RemoteXY.slider_1 = 50;

// TODO you setup code



}




void loop()

{

RemoteXY_Handler ();



digitalWrite(PIN_LAMP1, (RemoteXY.LAMP1==0)?LOW:HIGH);

digitalWrite(PIN_LAMP4, (RemoteXY.LAMP4==0)?LOW:HIGH);

digitalWrite(PIN_LAMP5, (RemoteXY.LAMP5==0)?LOW:HIGH);

digitalWrite(PIN_LAMP3, (RemoteXY.LAMP3==0)?LOW:HIGH);

digitalWrite(PIN_LAMP2, (RemoteXY.LAMP2==0)?LOW:HIGH);















int ms = RemoteXY.slider_1*20+500;

myservo.writeMicroseconds(ms);

{{

{ i= analogRead(lightPin);

if ( i<=15){

digitalWrite (ledPin,HIGH);

}

else

{ digitalWrite (ledPin,LOW);

}

}



// TODO you loop code

// use the RemoteXY structure for data transfer

// do not call delay()

int chk=DHT.read11(Sensor);

Temp=DHT.temperature;

Humidity=DHT.humidity;

lcd.backlight();

lcd.init();

lcd.setCursor(1,0);

lcd.print("Smart Home" );

lcd.init();

lcd.setCursor(9,0);

lcd.print(Temp);

lcd.setCursor(1,0);

lcd.print("Temp");

lcd.setCursor(13,0);

lcd.print("c");

lcd.setCursor(9,1);

lcd.print(Humidity);

lcd.setCursor(1,1);

lcd.print("Humid");

lcd.setCursor(13,1);

lcd.print("%");

if(Temp>25)

{

// turn ventelo on:

digitalWrite(31, HIGH);

} else {

// turn ventelo off:

digitalWrite(31, LOW);












}}

int analogSensor = analogRead(smokeA0);

if (analogSensor > sensorThres)

{



tone(buzzer, 1000, 200);

}

else

{



noTone(buzzer);

}




}}


 e. réalisation 








 

 

تعليقات

إرسال تعليق

المشاركات الشائعة من هذه المدونة