Arduino Kontrol Lampu dengan Relay & LDR

Pendahuluan

Terkadang kita suka merasa kerepotan untuk mematikan atau menyalakan lampu disaat malam hari atau disaat pagi hari. Apalagi jika kita meninggalkan rumah untuk mudik umpamanya, dan kita kesulitan meminta bantuan orang lain untuk sekedar menyalakan atau mematikan lampu rumah atau halaman. Dengan menggunakan Arduino ditambah relay dan sensor cahaya (LDR) kita bisa membuat saklar otomatis yang dapat menyalakan dan mematikan lamupu secara otomatis.



Artikel lain:
Menggunakan Sensor Cahaya (LDR) Arduino
Sensor Suhu dan Kelembapan (DHT 11) Arduino

Prinsip kerja

Rangkaian saklar otomatis ini memanfaatkan relay sebagai saklarnya, LDR sebagai sensor terhadap cahaya dan Arduino sbagai pemroses data dari LDR dan memberi perintah ke relay untuk menyala atau mati. Jadi disaat LDR mendeteksi banyak cahaya maka nilai resistansinya akan semakin rendah dan saat LDR kurang menerima cahaya (kondisi gelap) maka nilai resistansi LDR akan semakin bertambah. Dari nilai perubahan resistansi ini kita akan gunakan untuk menjadi masukan bagi Arduino untuk memerintahkan Relay untuk mati atau menyala. Disini kita harus menentukan nilai tersebut. Lebih jelasnya akan dijelaskan di bagian program.

Konfigurasi Pin

Relay:
Pin S ke Pin 8 Arduino
Pin + ke 5V Arduino
Pin - ke  Gnd Arduino
Pin NO ke Lapmpu
Sumber Gambar: www.dx.com

LDR:
Pin S ke Pin A0 Arduino
Pin + ke 3.5 V Arduino (Baiknya menggunakan 5V namun menggunakan sumber eksternal)
Pin - ke Gnd Arduino
Sumber Gambar: www.dealsmachine.com

Program:

int sensorValue;
int pinRelay = 8;
int x;

void setup()
{
  Serial.begin(9600);  // sets the serial port to 9600
  pinMode(pinRelay, OUTPUT);
}

void loop()
{
  sensorValue = analogRead(0);       // read analog input pin 0
  Serial.println(sensorValue,DEC);  // prints the value read
  delay(100);    // wait 100ms for next reading
  x = sensorValue;
  Serial.print("X :");
  Serial.println(x);
  if(x>475)
  {
    digitalWrite(pinRelay,HIGH);
    delay(3000);
  }
 
  if(x<475)
  {
    digitalWrite(pinRelay,LOW);
    delay(3000);
  }
}

Dari program dapat kita liat Arduino akan membaca nilai perubahan dari sensor LDR melalui pin Analog A0. Nilai Analog LDR ini akan ditampilkan di serial monitor dalam tampilan nilai Desimal. Dari nilai ini akan dibuat batasan nilai kondisi Lampu menyala atau mati. Pada program bila nilai x (Nilai pembacaan LDR) lebih dari 475 maka relay akan aktif untuk menyalakan lampu, dan bila nilai x lebih kecil dari 475 maka relay akan mati untuk memadampakn lampu. Pada program diberikan delay selama 3 detik, tujuan pemberian delay dengan waktu cukup lama agar pembacaan perubahan yang dilakukan tidak membaca perubahan sesaat. Jika delay yang diberikan terlalu cepat, maka lampu bisa berkedip-kedip jika mengalami perubahan sesaat, akibatnya komponen relay atau Arduino akan lebih cepat rusak.

Nilai 475 yang dijadikan persyaratan pada perogram dipilih setelah melakukan percobaan pembacaan perubhan nilai LDR melalui serial monitor. Diperlukan percoban untuk menentukan nilai ini, hal ini bisa dipengaruhi kondisi/ kepekaan sensor (LDR),atau sumber tegangan yang digunakan. Pada percobaan kali ini LDR menggunakan sumber tegangan sebesar 3.5 V. Bila kita menggunakan sumber teganagn 5 V untuk LDR maka nilai persyaratan akan berbeda. Jadi nilai persyaraatan di program bisa diubah-ubah sesuai kondisi yang paling cocok atau sesuai keinginan.

Berikut tampilan Video dari Pengontrolan Lampu dengan Relay dan LDR:

Untuk program bisa juga didownload DISINI.

Selamat Mencoba....
Semoga Bermanfaat....

Baca Juga:
Menggunakan LCD DFRobot
Menggunakan Ardumoto (Driver Motor DC) Arduino
Menggunakan Modul L298N (Motor Driver) Arduino
Arduino Mengontrol Stepper dengan ULN2003
Cara Menambahkan Libraries Arduino

Comments

Popular posts from this blog

Tips Lulus Psikotes

Penyebab tidak bisa mengupload program ke Arduino

Program dan Ladder PLC pengisi kotak Apel