Timer Lampu Otomatis Arduino

Selamat sore semua.... salam smart untuk kita semua.
Oke,, kali ini saya akan membagi tutorial bagaimana membuat timer lampu dengan arduino. Projek ini dilatarbelakangi karena saya sering bangun telat,jadi matahari sudah terang tapi lampu masih menyala... pemborosan bukan,, selain itu saya terkadang juga bepergian hingga malam jadi sudah malam gelap tapi lampu depan masih mati. Nah dari kasus ini saya berpikiran untuk membuat timer otomatis lampu,jadi nyala dan matinya lampu bergantung pada waktu yang sudah kita tentukan,sudah tidak menggunakan saklar manual lagi.


Oke langsung saja...,yang kita perlukan yaitu :
1. Arduino (dalam hal ini saya memakai arduino pro mini)
2. Modul RTC DS3231
3. LCD 16x2 I2C (Opsional sebagi penampil jam)
4. Modul relay (untuk projek ini saya membuat sendiri modul relay dengan part relay 5V,resistor 4K7,resistor 1k,dioda 1N4148,transistor c9013,LED)
5. Adaptor 5V (kali ini saya memakai charger bekas hp sony)


 Bagaimana cara merangkainya???.
Rangkaiannya seperti ini....



Jika ingin membuat modul relay sendiri,,,, begini rangkaiannya...


















Jika rangkaian sudah jadi saatnya kita memprogram.. untuk sketch bisa juga mencari referensi lain...
Saya menggunakan sketch seperti ini..

  #include <LiquidCrystal_I2C.h>
#include <DS3231.h>
#include <Wire.h>
DS3231  rtc(SDA, SCL);
Time t;
LiquidCrystal_I2C lcd(0x27,16,2);

const int lampudepan =9; // Output umtuk lampu
const int JamOn =18 ;  //untuk mengatur jam nyala
const int MinOn = 00; // untuk mengatur menit nyala

const int JamOff = 04;  // Untuk mengatur jam mati
const int MinOff = 30;  // Untuk mengatur menit mati

void setup() {
Serial.begin(115200);
rtc.begin();
lcd.begin();
lcd.setCursor(00,00);
lcd.print("Kontrol Lampu");
lcd.setCursor(00,1);
lcd.print("  otomatis  ");
delay(2000);
lcd.clear();
lcd.setCursor(00,00);
lcd.print("Smarthomedesign");
lcd.setCursor(00,1);
lcd.print("_by: zunarianto_");
delay(2000);
lcd.clear();


pinMode (lampudepan,OUTPUT);
}

void loop() {
 
 t = rtc.getTime();

lcd.setCursor(00,00);
lcd.print ("TGL_");
lcd.setCursor(4,00);
lcd.print(":");
lcd.setCursor(5,00);
lcd.print(rtc.getDateStr());
lcd.setCursor(00,1);
lcd.print(rtc.getTimeStr());
lcd.setCursor(10,1);
lcd.print(rtc.getTemp());
lcd.setCursor(14,1);
lcd.print("'C");
delay (1000);



(rtc.getDateStr()); 

 if((t.hour >= JamOn && t.min >= MinOn)||(t.hour < JamOff && t.min < MinOff )){
    digitalWrite(lampudepan,HIGH);
     if(t.hour==JamOn && t.min == MinOn){
     lcd.clear();
     lcd.setCursor(00,00);
     lcd.print("LAMPU DEPAN ON");
        delay(2000);  }  }


 else if((t.hour >= JamOff && t.min >= JamOff )||(t.hour < JamOn && t.min < MinOn)){
      digitalWrite(lampudepan,LOW);

      if(t.hour==JamOn && t.min == MinOff){
       lcd.clear();
       lcd.setCursor(00,00);
       lcd.print("LAMPU DEPAN OFF");
        delay(2000);  }
 }
}





Cara kerja dari sketch diatas yaitu ketika waktu menunjukkan pukul 6 sore lampu akan menyala dan LCD akan menampilkan tulisan "LAMPU DEPAN ON" dan jika jam menunjukkan pukul 04.30(subuh) lampu akan mati dan LCD  akan menampilkan "LAMPU DEPAN OFF". Waktu nyala dan mati lampu bisa diubah dengan merubah pada sketch diatas.

Dengan sentuhan tangan tangan kreatif pewaktu ini saya kemas dengan cassing bekas ballast lampu.. berikut gambar gambar pewaktu lampu otomatis..


























Okee,,,, sekian tutorial ini masih banyak kekurangan karena saya juga masih belajar.. ..untuk itu masih pelu banyak banyak sharring,,, Untuk pertanyaan ataupun sharring bisa hubungi saya melalui Whatssap,facebook ataupun Instagram..

Tunggu juga projek selanjutnya yaitu kontrol otomatis dengan bluetooth..








Komentar

Posting Komentar

Postingan Populer