Translate

Monday, May 9, 2016

ARDUİNO SMART HOME PROJECT


                                                            System opening
                                                         Smart Home Lights


                                                        Smart Home Temperature

                                      Smart Phone Home Control Program


SMART HOME ARDUINO CODES

#include <SoftwareSerial.h>
#include <Servo.h>  
#include <LiquidCrystal.h> 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //lcd input
Servo myservomotor;
SoftwareSerial myBluetooth(0, 1); //bluetooth module output
const int sensorMin = 0;     // sensor minimum
const int sensorMax = 1024;  // sensor maximum

int pirPin = 8; // PIR sensor output
int ledPin = 9;   // LED output
int deger = 0;  // beginning servo     
int SicaklikPin = 0; //heat 
int OkunanDeger;
int Sicaklik;
char blueToothVal; 
char lastValue;   
void setup()
{
  lcd.begin(16, 2); // lcd beginning
  lcd.print(" ARDUINO AKILLI"); 
  lcd.setCursor(0, 1); 
  lcd.print("   EV PROJESI"); 

  while(Serial.available()==0 && millis()<4000); 

 Serial.begin(9600); 
 myservomotor.attach(7); 
 myservomotor.write(0);
   pinMode(13,OUTPUT); // led output
   pinMode(6,OUTPUT); // led output
   pinMode(pirPin, INPUT);    
   pinMode(ledPin, OUTPUT);  
}
void loop()
{
  if(Serial.available())
  {
    blueToothVal=Serial.read();
  }
  if (blueToothVal=='n')
  {
    lcd.begin(16, 2); 

    digitalWrite(13,HIGH); 
    if (lastValue!='n')
      Serial.println(F("LIGHTS ON"));
      lcd.print("LIGHTS ON *");
    lastValue=blueToothVal;
  }
  else if (blueToothVal=='f') 
  {
    lcd.begin(16, 2); 
    digitalWrite(13,LOW); 
    if (lastValue!='f')
      Serial.println(F("LIGHTS OFF "));
      lcd.print("LIGHTS OFF");
    lastValue=blueToothVal;
  }
   else  if (blueToothVal=='c') 
  {
    lcd.clear(); 
 }
  if (blueToothVal=='b')// eğer değer b ise
  {
    lcd.begin(16, 2); // lcdyi başlat
    digitalWrite(6,HIGH); //ledi yak
    if (lastValue!='b')
      Serial.println(F("Lights on"));
      lcd.print("Lights on *");
    lastValue=blueToothVal;
  }
  else if (blueToothVal=='g') //eğer değer g ise
  {
    lcd.begin(16, 2); // lcdyi başlat
    digitalWrite(6,LOW); //ledi söndür
    if (lastValue!='g')
      Serial.println(F("Lights off "));
      lcd.print("Lights off");
    lastValue=blueToothVal;
  }
   else  if (blueToothVal=='c') //eğer değer c ise
  {
    lcd.clear(); // ekranı temizle
 }
 
  if (blueToothVal=='s') //eğer değer s ise
  {
              lcd.begin(16, 2);  //lcdyi başlat

lcd.print("Temperature:"); //oda sıcaklığı yaz
             
OkunanDeger = analogRead(SicaklikPin); //sıcaklık pininden okunan değer
Sicaklik = map (OkunanDeger, 0, 205, 0, 100); // okunan değeri dönüştür

int celsius = OkunanDeger;
lcd.setCursor(0, 1); //2. satıra yaz
lcd.print(Sicaklik); //sıcaklık değerini yaz
lcd.print((char)223); // derece işareti
lcd.print("C");
if (lastValue!='s')

      Serial.println((Sicaklik)); //serial monitöre scaklık değerini yaz
      delay(2000); //işlemi 2 saniye aralıkla tekrarla
    lastValue=blueToothVal;
  }
  else  if (blueToothVal=='c') //eğer değer c ise
  {
    lcd.clear(); // ekranı temizle
 }

 if (blueToothVal=='h') // eğer değer h ise
  {
    lcd.begin(16, 2); // lcdyi başlat


    deger = digitalRead(pirPin);  // Dijital pin okunuyor
          
  if (deger == HIGH) // okunan değer 1 ise
  {
Serial.println("Moving Alert! :("); //serial monitöre hareket var yaz
lcd.print("Moving Alert! :("); //lcd ekrana hareket var yaz
    digitalWrite(ledPin, HIGH);
   delay(1000); // işlemi 1 saniye aralıkla tekrarla
  }
  else // farklı bir durumda
  {
    digitalWrite(ledPin,LOW); // okunan değer 0 ise
  Serial.println("No Move :)"); // serial monitöre hareket yok yaz
  lcd.print("No Move :)"); // lcd ekrana hareket yok yaz
  delay(1000); // işlemi 1 saniye aralıkla tekrarla
    lastValue=blueToothVal;
  }
  }
   else  if (blueToothVal=='c') // verilen değer c ise
  {
    lcd.clear(); // ekranı temizle
 }
 if (blueToothVal=='k') // eğer değer k ise
  {
  lcd.begin(16, 2); //lcd yi başlat
 
    digitalWrite(7,HIGH); //7. pinden gelen değer 1 ise
for(int derece = 0; derece < 90; derece++) 
{
myservomotor.write(derece);                // motoru çevir
        }   
    if (lastValue!='k') //son değer k ise
      Serial.println(F("Door Open !")); //serial monitöre kapı açıldı yaz
      lcd.print("Door Open !"); // lcd ekrana kapı açıldı yaz
    lastValue=blueToothVal;
  }
  else if (blueToothVal=='l') // eğer değer l ise
  {
  lcd.begin(16, 2);
 
    digitalWrite(7,LOW); //7. pinden gelen değer 0 ise
for(int derece = 90; derece > 1; derece--){ //90 dereceden başlangıç konumuna getir
myservomotor.write(derece); // motoru çevir
      }   
    if (lastValue!='l')
      Serial.println(F("Door Close! ")); //serial monitöre kapı kapandı yaz
      lcd.print("Door Close!"); //lcd ekrana kapı kapandı yaz
    lastValue=blueToothVal;
  }
  else  if (blueToothVal=='c') // eğer değer c ise
  {
    lcd.clear(); // ekranı temizle
 }

   if (blueToothVal=='w')// eğer değer w ise
  {
    lcd.begin(16, 2); // lcdyi başlat
    int sensorOkuma = analogRead(A1);
    int deger= map(sensorOkuma, sensorMin, sensorMax, 0, 3);
 switch (deger)
 {
 case 0:   
    Serial.println("Water Alert !!");
    lcd.print("Water Alert!!"); // lcd ekrana su baskını yaz
    break;
 case 1:   
    Serial.println("Water Alert !!");
    lcd.print("Water Alert !!"); // lcd ekrana su baskını yaz
    break;
 case 2:   
    Serial.println("DRY");
    lcd.print("DRY!"); // lcd ekrana kuru yaz
    break;
    lastValue=blueToothVal;
  }
    delay(3000);
   }
    else  if (blueToothVal=='c') //eğer değer c ise
  {
    lcd.clear(); // ekranı temizle
 }
  delay(1000); // sistemi 1 saniye aralıkla tekrar et

}


PRODUCT LİSTS

  1. Arduino Uno
  2. Mini Servo 
  3. HC06 Bluetooth Device
  4. LM35 Heat Sensor
  5. Water Sensor
  6. LCD Display
  7. PIR Sensor
  8. LED
  9. Buzzer

No comments:

Post a Comment