LDR Light Sensor merupakan salah satu sensor sederhana yang dapat digunakan untuk mendeteksi tingkat pencahayaan di sekitar perangkat. Dengan menghubungkan LDR (Light Dependent Resistor) ke Raspberry Pi Pico, nilai perubahan cahaya dapat dibaca melalui pin analog dan ditampilkan pada komputer melalui Serial Monitor. Project ini cocok untuk pemula yang ingin belajar sensor analog Raspberry Pi Pico, pembacaan ADC, dan dasar-dasar sistem otomatis berbasis cahaya.
Apa Itu LDR Light Sensor?
LDR (Light Dependent Resistor) adalah resistor yang nilai resistansinya berubah berdasarkan intensitas cahaya yang diterimanya. Karakteristik LDR cukup sederhana:
- Saat terkena cahaya terang, resistansi LDR menjadi lebih kecil.
- Saat berada di tempat gelap, resistansi LDR menjadi lebih besar.
Perubahan resistansi tersebut dapat dimanfaatkan untuk mengetahui apakah kondisi lingkungan sedang terang atau gelap. Pada Raspberry Pi Pico, LDR tidak dibaca secara langsung sebagai nilai resistansi. LDR biasanya dipasang bersama resistor tetap membentuk rangkaian pembagi tegangan (voltage divider). Tegangan hasil pembagi tersebut kemudian dibaca oleh ADC pada Raspberry Pi Pico.
Cara Kerja LDR pada Raspberry Pi Pico
Rangkaian LDR menggunakan prinsip voltage divider. Secara sederhana, rangkaiannya terdiri dari:
3.3V → LDR → titik pembacaan → resistor → GND
Titik pembacaan dihubungkan ke salah satu pin ADC Raspberry Pi Pico. Ketika intensitas cahaya berubah, resistansi LDR ikut berubah. Akibatnya, tegangan pada titik pembacaan juga berubah. Raspberry Pi Pico kemudian membaca perubahan tegangan tersebut menggunakan ADC (Analog-to-Digital Converter).
Apa Itu ADC?
ADC adalah bagian yang digunakan untuk mengubah tegangan analog menjadi nilai digital yang dapat diproses oleh mikrokontroler. Pada Raspberry Pi Pico, ADC memiliki resolusi 12-bit, sehingga pembacaan ADC secara internal berada pada rentang 0 sampai 4095. Semakin besar atau kecil nilai ADC yang diperoleh bergantung pada posisi LDR dan resistor dalam rangkaian pembagi tegangan.
Catatan: Nilai ADC tidak secara otomatis menunjukkan satuan lux. Jadi, project ini digunakan untuk mengetahui perubahan atau tingkat relatif intensitas cahaya, bukan mengukur intensitas cahaya secara presisi dalam lux.
Komponen yang Dibutuhkan
Untuk membuat LDR Light Sensor dengan Raspberry Pi Pico, siapkan beberapa komponen berikut:
- Raspberry Pi Pico
- LDR
- Resistor 10 kΩ
- Breadboard
- Kabel jumper
- Kabel USB
- Komputer atau laptop
Resistor 10 kΩ digunakan bersama LDR sebagai pembagi tegangan.
Rangkaian LDR dengan Raspberry Pi Pico
Gunakan salah satu pin ADC pada Raspberry Pi Pico. Contohnya adalah GP26/ADC0.
Tabel Koneksi
Dengan susunan tersebut, titik antara LDR dan resistor dihubungkan ke GP26/ADC0. Jika menggunakan rangkaian dengan posisi LDR dan resistor yang dibalik, arah perubahan nilai ADC juga akan terbalik. Artinya, kondisi terang dapat menghasilkan nilai ADC yang lebih besar atau lebih kecil tergantung susunan rangkaiannya.
Membaca Nilai LDR Menggunakan MicroPython
Setelah rangkaian selesai, Raspberry Pi Pico dapat diprogram menggunakan MicroPython. Program berikut membaca nilai analog dari LDR melalui ADC0/GP26 dan menampilkannya setiap 500 milidetik.
Kode Program
from machine import ADC
from time import sleep
# LDR terhubung ke GP26 / ADC0
ldr = ADC(26)
while True:
# Membaca nilai ADC
nilai_ldr = ldr.read_u16()
print("Nilai LDR:", nilai_ldr)
sleep(0.5)
Penjelasan Kode
Bagian berikut digunakan untuk mengimpor fungsi ADC:
from machine import ADC
Kemudian LDR dihubungkan dengan ADC pada GP26:
ldr = ADC(26)
Perintah berikut digunakan untuk membaca nilai ADC:
nilai_ldr = ldr.read_u16()
Pada MicroPython Raspberry Pi Pico, read_u16() menghasilkan nilai yang diskalakan ke rentang 0–65535. Nilai tersebut kemudian ditampilkan menggunakan:
print("Nilai LDR:", nilai_ldr)
Program diberikan jeda selama 0,5 detik:
sleep(0.5)
Dengan demikian, pembacaan sensor tidak dilakukan terlalu cepat.
Menguji Sensor LDR
Setelah kode dijalankan melalui Thonny IDE, buka bagian Shell untuk melihat nilai sensor. Contoh hasil pembacaan:
Nilai LDR: 52341
Nilai LDR: 51820
Nilai LDR: 50672
Nilai LDR: 28450
Nilai LDR: 12430
Cobalah mengarahkan lampu atau senter ke permukaan LDR. Kemudian tutup LDR menggunakan tangan. Nilai yang ditampilkan seharusnya mengalami perubahan.
Kondisi Terang
Ketika LDR mendapatkan banyak cahaya, nilai pembacaan akan berubah ke salah satu arah, tergantung susunan LDR dan resistor pada voltage divider.
Kondisi Gelap
Ketika LDR ditutup atau berada di lingkungan yang lebih gelap, nilai pembacaan juga akan berubah.
Yang paling penting dalam project ini adalah melihat perubahan nilai ADC ketika kondisi pencahayaan berubah.
Membuat Deteksi Terang dan Gelap
Selain menampilkan nilai LDR, Raspberry Pi Pico juga dapat digunakan untuk menentukan apakah kondisi lingkungan termasuk terang atau gelap. Misalnya, setelah melakukan pengujian, diperoleh nilai:
- Di bawah 20.000 → gelap
- Di atas atau sama dengan 20.000 → terang
Nilai batas tersebut hanya contoh dan sebaiknya disesuaikan berdasarkan hasil pengujian sensor yang digunakan.
Kode Program
from machine import ADC
from time import sleep
ldr = ADC(26)
batas = 20000
while True:
nilai_ldr = ldr.read_u16()
if nilai_ldr < batas:
print("Kondisi: GELAP")
else:
print("Kondisi: TERANG")
print("Nilai LDR:", nilai_ldr)
print("--------------------")
sleep(0.5)
Dengan program tersebut, Raspberry Pi Pico akan menampilkan status berdasarkan nilai ADC. Contohnya:
Kondisi: TERANG
Nilai LDR: 42350
--------------------
Kondisi: TERANG
Nilai LDR: 39780
--------------------
Kondisi: GELAP
Nilai LDR: 12540
--------------------
Penting: angka 20000 bukan nilai standar untuk semua rangkaian LDR. Setiap LDR, resistor, kondisi lingkungan, dan susunan rangkaian dapat menghasilkan pembacaan berbeda.
Cara Menentukan Nilai Batas LDR
Agar deteksi terang dan gelap lebih sesuai dengan kondisi sebenarnya, lakukan kalibrasi sederhana.
1. Ukur Kondisi Terang
Letakkan LDR di tempat yang terang dan catat beberapa nilai ADC. Contohnya:
41000
42500
41800
43000
2. Ukur Kondisi Gelap
Kemudian tutup LDR atau letakkan di tempat gelap. Contohnya:
10000
11500
10800
12000
3. Tentukan Nilai Threshold
Dari kedua kondisi tersebut, tentukan nilai batas yang berada di antara nilai terang dan gelap.
Misalnya:
Gelap : sekitar 10.000–12.000
Terang : sekitar 41.000–43.000
Threshold: 20.000
Cara ini membuat sensor cahaya Raspberry Pi Pico lebih sesuai dengan kondisi penggunaan sebenarnya.
Kelebihan LDR
LDR memiliki beberapa kelebihan, terutama untuk project elektronik sederhana:
- Harganya murah.
- Rangkaian sederhana.
- Mudah digunakan oleh pemula.
- Tidak membutuhkan komunikasi digital khusus.
- Dapat langsung digunakan dengan ADC Raspberry Pi Pico.
- Cocok untuk mendeteksi perubahan kondisi terang dan gelap.
Kekurangan LDR
LDR juga memiliki beberapa keterbatasan:
- Tidak memberikan pengukuran lux yang akurat.
- Respons terhadap perubahan cahaya relatif tidak secepat beberapa sensor cahaya digital.
- Hasil pembacaan dipengaruhi karakteristik LDR dan resistor.
- Nilai ADC dapat berbeda antara satu rangkaian dengan rangkaian lainnya.
Jika membutuhkan pengukuran intensitas cahaya yang lebih terukur, sensor cahaya digital seperti BH1750 dapat menjadi alternatif.
Baca juga: Push Button LED pada Raspberry Pi Pico: Cara Mengontrol LED dengan Tombol
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar