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