Sensor LDR atau sensor cahaya merupakan slah satu jenis resistor yang nilai resistansinya berubah sesuai dengan intenitas cahaya yang mengenainya. Sensor LDR dapat di aplikasikan pada Lampu Penerang Jalan, Lampu Kamar Tidur, Rangkaian Anti Maling, Shutter Kamera, Alarm dan lain sebagainya. Kali ini kita akan mengaplikasikan sensor LDR untuk membuat solar tracker sederhana.
[membership level=”0,1,2,4″]
1. Alat / Bahan
- Arduino IDE Download disini
- Library: Servo Download disini
- Arduino UNO 1 Buah
- Motor Servo 1 Buah
- Sensor LDR 2 Buah
- Resistor 220 ohm 2 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Solar Tracker Sederhana Dengan Sensor LDR
Keterangan:
- 5V – VCC Servo, VCC LDR 1, VCC LDR 2
- GND – GND Servo, Kaki resistor 1, Kaki resistor 2
- A0 – Kaki Resistor 1 – LDR 1
- A1 – Kaki Resistor 2 – LDR 2
[/membership]
3. Langkah Kerja
- Siapkan alat dan bahan yang akan digunakan
- Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Lakukan proses uploading program
4. Sketch Program
Dapatkan akses ratusan video tutorial dan pembelajaran dengan registrasi melalui tombol di bawah!
/* Program Solar Tracker Sederhana Dengan Sensor LDR dibuat oleh Indobot */ #include <Servo.h> //Library servo Servo myservo; //Deklarasi nama servo #define ldr1 0 //LDR 1 pada pin A0 #define ldr2 1 int pos = 0; //Variabel penampung sudut servo void setup() { pinMode(ldr1, INPUT); //Setting I/O pinMode(ldr2, INPUT); myservo.attach(9); //Servo pada pin D9 } void loop() { int nilai1 = analogRead(ldr1); //Baca sensor int nilai2 = analogRead(ldr2); nilai1 = map(nilai1, 0, 1023, 0, 180); //Konversi dari 10bit ke 8bit nilai2 = map(nilai2, 0, 1023, 0, 180); //-----------------Setting nilai agar tetap diantara 0* - 180*-----------------// if(pos >= 180){ pos = 180; } else if(pos <= 0){ pos = 0; } //-----------------Jika nilai LDR1 dan LDR2 berbeda maka servo bergerak menyesuaikan nilai-----------------// if(nilai1 > nilai2 + 3){ pos--; } else if(nilai1 + 3 < nilai2){ pos++; } myservo.write(pos); //Jalankan servo delay(15); }
Kesimpulan:
Program bekerja ketika sensor mulai mendeteksi adanya cahaya. Ketika sensor mulai mendeteksi cahaya servo akan bergerak mengikuti arah gerakan cahaya yang dideteksi oleh sensor LDR.
[/membership]
Kamu ingin memperbanyak jam terbang dan portofolio bikin project elektronika/ Arduino/ IoT? Ikuti program dari Indobot!