Sensor cahaya LDR adalah
komponen elektronik yang berfungsi sebagai pendeteksi tingkat cahaya
di sekitarnya, sehingga cocok untuk berbagai proyek elektronik. Anda
dapat membuat berbagai proyek kreatif dan menarik, mulai dari lampu
otomatis hingga sistem keamanan dengan mengintegrasikan LDR dan
platform mikrokontroler seperti Arduino.
Baca juga : Ulasan Modul Relay 5V: Cara Mengontrol Perangkat Listrik dengan Arduino
Prinsip Kerja LDR
LDR
adalah resistor yang resistansinya bervariasi sesuai dengan intensitas
cahaya yang mengenai permukaannya. Pada kondisi gelap, resistansi LDR
sangat tinggi dan dapat mencapai beberapa mega ohm, Sedangkan ketika ada
cahaya yang cukup, maka resistansinya menurun drastis hingga beberapa
ratus ohm. Material yang digunakan dalam pembuatan LDR adalah
semikonduktor seperti kadmium sulfida (CdS). Ketika foton cahaya
mengenai material ini, elektron yang ada di dalamnya akan mendapatkan
energi untuk bergerak ke pita produksi untuk mengurangi resistansi LDR.
Menghubungkan LDR dengan Arduino
Penggunaan LDR dengan Arduino perlu dihubungkan ke dalam rangkaian pembagi tegangan. Pembagi tegangan ini digunakan untuk mengubah perubahan resistansi LDR menjadi perubahan tegangan yang dapat dibaca oleh pin analog pada Arduino. Berikut ini langkah-langkah dalam pembuatan rangkaian dasar untuk menghubungkan LDR ke Arduino:
1. Hubungkan satu sisi LDR ke tegangan 5V pada Arduino.
2. Hubungkan sisi lainnya ke salah satu pin analog (misalnya, A0) melalui sebuah resistor tetap.
3. Hubungkan sisi resistor yang lain ke ground (GND) pada Arduino.
Rangkaian ini akan menghasilkan
tegangan di antara LDR dan resistor tetap yang bervariasi tergantung pada
intensitas cahaya yang mengenai LDR. Tegangan ini kemudian dibaca oleh pin
analog Arduino untuk menentukan tingkat cahaya.
Pembacaan Data LDR dengan Arduino
Setelah menghubungkan LDR ke Arduino, langkah selanjutnya adalah menulis program untuk membaca nilai analog dari pin yang terhubung dengan LDR. Berikut adalah contoh kode sederhana untuk membaca nilai dari LDR dan menampilkan hasilnya di Serial Monitor:
int ldrPin = A0; // Pin analog yang terhubung ke LDR
int ldrValue = 0; // Variabel untuk menyimpan nilai pembacaan LDR
void setup() {
Serial.begin(9600); // Memulai komunikasi serial
}
void loop() {
ldrValue = analogRead(ldrPin); // Membaca nilai dari LDR
Serial.println(ldrValue); // Menampilkan nilai LDR di Serial Monitor
delay(500); // Jeda 500 ms
}
Kode di atas akan terus-menerus membaca nilai analog dari LDR dan mencetaknya ke Serial Monitor. Nilai yang terbaca akan bervariasi dari 0 (sangat gelap) hingga 1023 (sangat terang).
Proyek dengan LDR dan Arduino
1. Lampu Otomatis Berbasis Cahaya
Salah satu proyek yang paling sering dibuat dengan LDR adalah lampu otomatis yang menyala ketika gelap dan mati ketika terang. Proyek ini berguna untuk lampu taman atau lampu jalan yang ingin dioperasikan secara otomatis berdasarkan kondisi cahaya.
Komponen yang dibutuhkan
• Arduino Uno
• LDR
• Resistor 10k ohm
• Relay modul
• Lampu
Berikut ini skema rangkaian dan kode program untuk proyek ini:
int ldrPin = A0; // Pin analog yang terhubung ke LDR
int relayPin = 8; // Pin digital yang terhubung ke relay
int ldrValue = 0; // Variabel untuk menyimpan nilai pembacaan LDR
int threshold = 500; // Ambang batas untuk menyalakan/mematikan lampu
void setup() {
pinMode(relayPin, OUTPUT); // Mengatur pin relay sebagai output
Serial.begin(9600); // Memulai komunikasi serial
}
void loop() {
ldrValue = analogRead(ldrPin); // Membaca nilai dari LDR
Serial.println(ldrValue); // Menampilkan nilai LDR di Serial Monitor
if (ldrValue < threshold) { // Jika gelap
digitalWrite(relayPin, HIGH); // Menyalakan relay (lampu menyala)
} else { // Jika terang
digitalWrite(relayPin, LOW); // Mematikan relay (lampu mati)
}
delay(500); // Jeda 500 ms
}
Pada proyek ini, ketika nilai LDR turun di bawah ambang batas yang ditentukan, relay akan aktif dan menyalakan lampu. Sebaliknya, ketika nilai LDR melebihi ambang batas, relay akan mati dan lampu akan padam.
2. Sistem Keamanan Rumah
LDR dapat digunakan untuk sistem keamanan rumah. Sebagai contoh, Anda dapat membuat sistem untuk mendeteksi cahaya senter yang diarahkan ke jendela pada malam hari agar dapat mengindikasikan adanya potensi intrusi.
Komponen yang dibutuhkan
• Arduino Uno
• LDR
• Resistor 10k ohm
• Buzzer atau modul alarm
Berikut ini skema rangkaian dan kode program untuk proyek ini:
int ldrPin = A0; // Pin analog yang terhubung ke LDR
int buzzerPin = 9; // Pin digital yang terhubung ke buzzer
int ldrValue = 0; // Variabel untuk menyimpan nilai pembacaan LDR
int threshold = 700; // Ambang batas untuk memicu alarm
void setup() {
pinMode(buzzerPin, OUTPUT); // Mengatur pin buzzer sebagai output
Serial.begin(9600); // Memulai komunikasi serial
}
void loop() {
ldrValue = analogRead(ldrPin); // Membaca nilai dari LDR
Serial.println(ldrValue); // Menampilkan nilai LDR di Serial Monitor
if (ldrValue > threshold) { // Jika cahaya terang (misalnya, senter)
digitalWrite(buzzerPin, HIGH); // Mengaktifkan buzzer (alarm menyala)
} else {
digitalWrite(buzzerPin, LOW); // Mematikan buzzer (alarm mati)
}
delay(500); // Jeda 500 ms
}
Pada proyek ini, ketika nilai LDR melebihi ambang batas, buzzer akan aktif sebagai tanda peringatan. Proyek ini dapat diimplementasikan pada jendela atau pintu untuk mendeteksi cahaya senter yang diarahkan oleh penyusup pada malam hari.
3. Sistem Pemantauan Intensitas Cahaya
Sistem pemantauan intensitas cahaya dapat digunakan dalam berbagai aplikasi seperti pemantauan kondisi pencahayaan di dalam ruangan, mengatur pencahayaan otomatis atau bahkan dalam penelitian ilmiah untuk mengukur intensitas cahaya dalam lingkungan tertentu.
Komponen yang dibutuhkan
• Arduino Uno
• LDR
• Resistor 10k ohm
• LCD 16x2
Berikut ini skema rangkaian dan kode program untuk proyek ini:
#include <LiquidCrystal.h>
int ldrPin = A0; // Pin analog yang terhubung ke LDR
int ldrValue = 0; // Variabel untuk menyimpan nilai pembacaan LDR
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Mengatur pin untuk LCD
void setup() {
lcd.begin(16, 2); // Mengatur LCD dengan 16 kolom dan 2 baris
Serial.begin(9600); // Memulai komunikasi serial
}
void loop() {
ldrValue = analogRead(ldrPin); // Membaca nilai dari LDR
Serial.println(ldrValue); // Menampilkan nilai LDR di Serial Monitor
lcd.clear(); // Membersihkan layar LCD
lcd.setCursor(0, 0); // Mengatur posisi kursor di baris pertama
lcd.print("Light Intensity:");
lcd.setCursor(0, 1); // Mengatur posisi kursor di baris kedua
lcd.print(ldrValue); // Menampilkan nilai LDR di LCD
delay(500); // Jeda 500 ms
}
Proyek ini menggunakan LCD untuk menampilkan nilai intensitas cahaya yang terdeteksi oleh LDR. Dengan demikian, kita dapat memantau perubahan intensitas cahaya secara real-time.
Baca juga : Review Sensor Gas MQ-2: Deteksi Gas dengan Arduino
Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?
Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!
0 on: "Ulasan Sensor Cahaya LDR: Penggunaan dan Proyek dengan Arduino"