1. Prosedur [Kembali]
Percobaan 1
Siapkan alat dan bahan yang diperlukan pada Wokwi Simulation:
Hubungkan Sensor LDR:
Hubungkan pin VCC dan GND pada sensor LDR ke sumber daya 3,3V dan GND Raspberry Pi Pico.
Hubungkan pin ADC pada LDR ke pin GP28 Raspberry Pi Pico.
Hubungkan LED:
Hubungkan Buzzer:
Inputkan Listing Program
Running Program: Setelah program selesai dimasukkan, klik tombol "Run" di Wokwi untuk menjalankan simulasi.Monitor nilai ADC dan lux yang dicetak di konsol. Pastikan LED berkedip dan buzzer berbunyi pada kondisi cahaya yang rendah, dan keduanya mati saat kondisi cahaya mencukupi.
Selesai
2. Hardware dan Diagram Blok [Kembali]
Hardware
Raspberry Pi Pico adalah mikrokontroler berbasis RP2040, yaitu chip buatan Raspberry Pi yang memiliki dual-core ARM Cortex-M0+ dengan kecepatan hingga 133 MHz. Mikrokontroler ini digunakan untuk berbagai proyek embedded system, seperti robotika, otomasi, dan pemrosesan sinyal, karena memiliki GPIO (General Purpose Input Output) yang fleksibel serta mendukung pemrograman dengan MicroPython dan C/C++.
Resistor adalah komponen elektronik yang berfungsi untuk menghambat arus listrik dalam suatu rangkaian. Nilai hambatan resistor diukur dalam ohm (Ω) dan sering digunakan untuk mengontrol tegangan, membatasi arus, serta melindungi komponen lain seperti LED dari kerusakan akibat arus berlebih. Resistor tersedia dalam berbagai jenis, seperti tetap, variabel (potensiometer), dan termistor yang peka terhadap suhu.
LDR (Light Dependent Resistor) adalah jenis resistor yang nilai resistansinya berubah tergantung pada intensitas cahaya yang diterimanya. Ketika cahaya jatuh pada permukaan LDR, resistansinya akan menurun, sementara dalam kondisi gelap, resistansinya akan meningkat. Fungsi utama LDR adalah untuk mendeteksi tingkat cahaya, yang sering digunakan dalam aplikasi seperti pengaturan otomatis pencahayaan, sensor cahaya pada perangkat elektronik, serta sebagai input pada sistem pengukuran intensitas cahaya atau pengendalian pencahayaan secara otomatis.
Buzzer adalah komponen elektronik yang menghasilkan suara sebagai output dari sinyal listrik yang diterimanya. Buzzer biasanya digunakan untuk memberi tanda atau peringatan melalui suara dalam berbagai perangkat, seperti alarm, perangkat pengingat, atau sistem kontrol. Terdapat dua jenis buzzer, yaitu piezoelectric dan elektromagnetik. Buzzer piezoelectric bekerja dengan mengubah sinyal listrik menjadi getaran mekanik yang menghasilkan suara, sedangkan buzzer elektromagnetik menghasilkan suara dengan cara menggerakkan membran menggunakan medan magnet. Buzzer sering digunakan dalam aplikasi yang membutuhkan pemberitahuan atau peringatan suara, seperti alarm keamanan, timer, atau indikator status perangkat.
LED merah adalah dioda pemancar cahaya yang menghasilkan warna merah saat diberikan arus listrik. LED ini sering digunakan sebagai indikator status dalam rangkaian elektronik, seperti menunjukkan daya aktif, kesalahan sistem, atau sinyal peringatan. Karena konsumsi dayanya rendah dan umur pakainya panjang, LED merah banyak diaplikasikan dalam perangkat elektronik dan sistem otomatisasi.
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
- Rangkaian saat belum dijalankan

Konfigurasi Rangkaian
Raspberry Pi Pico sebagai mikrokontroler.
LDR (Light Dependent Resistor) untuk mendeteksi intensitas cahaya.
LED Merah untuk output visual.
Buzzer sebagai indikator suara.
Resistor 220Ω untuk membatasi arus yang mengalir ke LED.
Resistor Pull-down untuk memastikan tombol tetap berada pada kondisi LOW saat tidak ditekan.
Tujuan percobaan rangkaian ini adalah untuk menguji penggunaan sensor LDR, LED, dan buzzer yang dikendalikan oleh Raspberry Pi Pico. Rangkaian ini mengintegrasikan input dari sensor LDR dan output ke LED dan buzzer. Prinsip kerja rangkaian ini adalah saat kondisi cahaya di sekitar sensor LDR rendah (lux < 200), LED akan berkedip dan buzzer akan berbunyi, memberikan indikasi bahwa nilai cahaya berada di bawah ambang batas. Sebaliknya, saat kondisi cahaya cukup terang (lux > 200), LED dan buzzer akan mati karena Raspberry Pi Pico tidak mengirimkan sinyal HIGH (1) ke pin LED dan buzzer. Dengan demikian, rangkaian ini berfungsi sebagai sistem peringatan visual dan audio yang dikendalikan oleh tingkat cahaya.
- Rangkaian saat dijalankan
Prinsip kerja rangkaian ini adalah menggunakan sensor LDR (Light Dependent Resistor) untuk mendeteksi intensitas cahaya di sekitar. Raspberry Pi Pico membaca nilai ADC dari sensor LDR, lalu mengkonversinya menjadi estimasi nilai lux.
Jika nilai lux yang dibaca lebih tinggi dari 250 lux, maka sistem akan memberikan peringatan berupa LED merah yang berkedip selama 4 detik dan buzzer berbunyi dengan duty cycle sebesar 45%. Indikasi ini menunjukkan bahwa intensitas cahaya di sekitar lebih terang dari kondisi normal yang diharapkan.
Sebaliknya, jika nilai lux masih di bawah 250 lux, maka LED dan buzzer tetap dalam kondisi mati, menandakan bahwa kondisi pencahayaan masih dalam batas normal.
Berikut penjelasan detil berdasarkan kode yang ada:
Sensor LDR mendeteksi intensitas cahaya dan mengubahnya menjadi nilai ADC.
-
Nilai ADC tersebut dikonversi ke estimasi nilai lux.
-
Jika nilai lux lebih tinggi dari 250:
-
Jika nilai lux di bawah atau sama dengan 250, maka LED dan buzzer dalam kondisi OFF.
-
Proses ini berfungsi sebagai sistem monitoring intensitas cahaya, sekaligus memberi peringatan visual dan audio saat kondisi pencahayaan terlalu terang.
4. Flowchart dan Listing Program [Kembali]

from machine import Pin, PWM, ADC
import utime
# Pin Setup
ldr = ADC(28) # Pin AO dari LDR ke GP28
ldr_digital = Pin(0, Pin.IN) # Pin DO dari LDR ke GP0 (kalau mau dipakai nanti)
led = Pin(6, Pin.OUT) # LED di GP6
buzzer = PWM(Pin(15)) # Buzzer di GP15 dengan PWM
# Konfigurasi PWM Buzzer
buzzer.freq(1000) # Frekuensi awal buzzer (1kHz)
buzzer.duty_u16(0) # Mulai dengan buzzer mati
# Fungsi untuk mengonversi nilai ADC ke lux
def adc_to_lux(adc_value):
normalized_adc = (adc_value - 512) / (65007 - 512) # Normalisasi ADC
lux = normalized_adc * 990 + 10 # Rentang 10 - 1000 lux
return lux
# Variabel untuk menyimpan kondisi normal awal
lux_normal = 0
# Variabel untuk kedip LED
last_blink_time = utime.ticks_ms()
led_state = False
led_should_blink = False # hanya True saat kondisi mendeteksi perubahan cahaya signifikan
# Loop utama
while True:
analog_value = ldr.read_u16()
lux = adc_to_lux(analog_value)
if lux_normal == 0:
lux_normal = lux
print(f"Lux Normal: {lux_normal}")
print(f"LDR Value: {analog_value} | Lux: {lux}")
if lux > 250:
led_should_blink = True # nyalakan mode kedip
buzzer.duty_u16(int(0.45 * 65535)) # nyalakan buzzer
for i in range(500, 1000, 100): # variasi frekuensi buzzer
buzzer.freq(i)
utime.sleep(0.1)
else:
led_should_blink = False
led.off()
buzzer.duty_u16(0)
# Kedip LED jika perlu
if led_should_blink:
current_time = utime.ticks_ms()
if utime.ticks_diff(current_time, last_blink_time) >= 4000:
led_state = not led_state
led.value(led_state)
last_blink_time = current_time
else:
led.off()
utime.sleep(0.1) # sedikit delay agar tidak terlalu cepat baca LDR
5. Kondisi [Kembali]
Percoban 1 Kondisi 5, Buatlah rangkaian seperti gambar pada percobaan 1, buatlah ketika LDR membaca Lebih terang dari normal sebesar 250 LUX Led merah hidup berkedip selama 4 detik dan Duty Cycle Buzzer 45%
6. Video Simulasi [Kembali]
7.Download File [Kembali]- Rangkaian klik disini
- video simulasi klik disini
- Datasheet raspberry Pi Pico klik disini
- Datasheet LED klik disini
- Datasheet resistor klik disini
- Datasheet buzzer klik disini
- Data Sheet LDR [klik disini]
Tidak ada komentar:
Posting Komentar