Cara Program Sensor Cahaya LDR dan Arduino

Sensor cahaya arduino pasti menggunakan Light Dependent Resistor (LDR) yang merupakan jenis resistor yang nilai hambatannya di pengaruhi oleh cahaya di sekitarnya. Karena itu kita dapat membuat LDR ini menjadi sensor cahaya. Alasannya adalah memang sudah banyak aplikasinya/penerapannya. Contoh sederhananya pada lampu jalan, tidak terdapat saklar untuk mematikan dan menghidupkan lampu jalan.

Cara Program Sensor Cahaya LDR dan Arduino

Pada instalasi lampu jalan menggunakan sensor cahaya LDR, dengan demikian lampu akan mati ketika siang dan akan hidup ketika malam secara otomatis.

Kini kita akan membuat program Arduino yang akan menyalakan lampu LED hidup ketika keadaan sekitar gelap, sebaliknya mati ketika keadaan sekitar terang"  disebut dengan istilah Automatic Lighting System.

Adapun komponen harus kita siapkan ddalam membuat
  1. 1x Arduino
  2. 1x Breadboard
  3. 1x Sensor cahaya LDR
  4. 1x Resistor 10k
  5. 7x Kabel jumper
Kemudian buat rangkaian seperti gambar dibawah ini.

Cara Program Sensor Cahaya LDR dan Arduino
Keterangan cara merangkai program sensor cahaya LDR, antara lain:
  • Sambungkan 5V dan GND dari Arduino ke Breadboard.
  • Rangkai kaki kiri LDR ke 5V.
  • Sambungkan kaki kanan LDR ke pin A2 Arduino.
  • Temukan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino.
  • Jumpakan kaki kanan resistor ke GND.
  • Dalam pemasangan LED kamu perhatikan kaki anoda dan katodanya.

Adapun program sensor cahaya LDR dan arduino yang kita perlukan, anda bisa gunakan sketch program dibawah ini:
int LDR= A2;          // membuat variabel LDR untuk pin A2
int LED= 13;          // membuat variabel LED untuk pin 13
int nilaiLDR= 0;  // variabel nilai awal untuk nilaiLDR
void setup(){
  pinMode(LED, OUTPUT);         // menentukan LED menjadi OUTPUT
  Serial.begin(9600);         // komunikasi Arduino ke Komputer
}
void loop(){
  nilaiLDR= analogRead(LDR); // menyimpan nilai yang dibaca dari LDR ke variabel nilaiLDR
  Serial.print("NilaiLDR= ");         // menampilkan teks nilaiLDR=
  Serial.println(nilaiLDR);                 // menampilkan nilai dari nilaiLDR
  if(nilaiLDR < 500) {         // jika nilai dari LDR kurang dari 500
    digitalWrite(LED, HIGH);         // lampu LED menyala
  }
  else  {                         // jika tidak
    digitalWrite(LED, LOW);         // lampu LED mati
  }
}
Keterangan dari sketch diatas:
  • int nilaiLDR= 0; berperan untuk membuat variabel nilai LDR, dan akan membaca nilai mulai dari 0.
  • pinMode(LED, OUTPUT); fungsinya untuk memilih mode OUTPUT untuk pin yang disimpan di variabel LED.
  • Serial.begin(9600); fungsinya agar Arduino bisa berkomunikasi dengan Komputer.
  • nilaiLDR= analogRead(LDR); perannya untuk menyimpan nilai yang dibaca oleh sensor LDR kedalam variabel nilaiLDR.
  • Serial.print("NilaiLDR= "); digunakan sebagai pencetak secara digital atau menampilkan teks nilaiLDR=, untuk ini kita tampilkan pada Serial Monitor.
  • Serial.println(nilaiLDR); untuk memunculkan nilai yang dibaca oleh sensor LDR
  • if(nilaiLDR < 500) apabila sensor membaca nilai 500 atau kurang dari 500
  • digitalWrite(LED, HIGH); lampu LED menyala
  • else jika tidak
  • digitalWrite(LED, LOW); lampu LED mati

Lakukan Lebih Bagus lagi!!!
  1. Anda bisa buat program BLINK, adapun kecepatan BLINKnya diatur melalui masukan nilai yang diterima oleh Sensor LDR.
  2. Coba pindahkan kaki positif LED dari pin 13 Arduino ke Pin 9 (pin ini adalah PWM). Lalu dengan perintah analogWrite, Settinglah lampu LED menyala terang dan redup berdasarkan masukan nilai dari sensor LDR.