LDR Light Sensor pada Raspberry Pi Pico: Cara Mendeteksi Intensitas Cahaya

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


Komponen

Raspberry Pi Pico

Salah satu kaki LDR

3.3V

Kaki LDR lainnya

GP26/ADC0

Resistor 10 kΩ

GP26/ADC0

Ujung resistor lainnya

GND


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.

Posting Komentar

0 Komentar