Program Arduino: Sensor Cahaya LDR!,~Light Dependent Resistor (LDR) adalah jenis resistor yang nilai hambatannya di pengaruhi oleh cahaya di sekitar. Maka kita bisa membuat LDR ini menjadi sensor cahaya. Karena memang sudah banyak aplikasinya. Misalnya pada lampu jalan, tidak ada saklar untuk mematikan dan menghidupkan lampu jalan.
Dengan menggunakan sensor cahaya LDR, lampu jalan akan mati ketika siang dan akan hidup ketika malam secara otomatis.
Sekarang kita akan buat program Arduino yang akan melakukan, "Lampu LED menyala ketika keadaan gelap dan mati ketika keadaan terang" (Automatic Lighting System).
Yang harus kamu siapkan:
1x Arduino
1x Breadboard
1x Sensor cahaya LDR
1x Resistor 10k
7x Kabel jumper
Kemudian buat rangkaian seperti gambar dibawah ini.
NOTES:
- Hubungkan 5V dan GND dari Arduino ke Breadboard.
- Hubungkan kaki kiri LDR ke 5V.
- Hubungkan kaki kanan LDR ke pin A2 Arduino.
- Hubungkan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino.
- Hubungkan kaki kanan resistor ke GND.
- Untuk pemasangan LED kamu bisa lihat pada Menyalakan LED dan BLINK.
Untuk pemrograman LDR, kamu 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
}
}
REVIEW NOTES:
- int nilaiLDR= 0; membuat variabel nilaiLDR, dan akan membaca nilai mulai dari 0.
- pinMode(LED, OUTPUT); memilih mode OUTPUT untuk pin yang disimpan di variabel LED.
- Serial.begin(9600); digunakan agar Arduino bisa berkomunikasi dengan Komputer.
nilaiLDR= analogRead(LDR); menyimpan nilai yang dibaca oleh sensor LDR kedalam variabel nilaiLDR.
- Serial.print("NilaiLDR= "); digunakan untuk mencetak secara digital atau menampilkan teks nilaiLDR=, untuk ini kita tampilkan pada Serial Monitor.
- Serial.println(nilaiLDR); untuk menampilkan nilai yang dibaca oleh sensor LDR
if(nilaiLDR < 500) jika sensor membaca nilai 500 atau kurang dari 500
- digitalWrite(LED, HIGH); lampu LED menyala
else jika tidak
- digitalWrite(LED, LOW); lampu LED mati
MARI LEBIH KRETIF LAGI!!!
- Coba kamu buat program BLINK, dimana kecepatan BLINKnya diatur melalui nilai yang diterima oleh Sensor LDR.
- Pindahkan kaki positif LED dari pin 13 Arduino ke Pin 9 (PWM). Kemudian dengan perintah analogWrite, buatlah lampu LED menyala terang dan redup berdasarkan nilai dari sensorLDR.