M2 TP1






1. Prosedur [kembali]
    Langkah-langkah percobaan :

        1. Siapkan alat dan bahan yaitu dengan komponen utama Rapsberry Pi Pico, Push Button, Resistor, LED dan LDR

        2. Rangkai sesuai gambar percobaan

       3. Rancang kerja rangkaian sesuai flowchat

       4. Tekan tombol “Play” untuk menjalankan simulasi



2. Hardware dan Diagram Blok [kembali]
        A. Hardware
            1. Rapsberyy Pi Pico




            2. Push Button








            3. Resistor


            4. LED
       


                5. LDR









                      B. Blok Diagram





3. Rangkaian Simulasi dan Prinsip Kerja [kembali]




Rangkaian ini bekerja dengan menggunakan sensor LDR (Light Dependent Resistor) yang membaca tingkat intensitas cahaya di sekitarnya, lalu mengirimkan data tersebut ke Raspberry Pi Pico. Mikrokontroler ini mengolah data untuk menentukan apakah intensitas cahaya lebih rendah dari 200 Lux. Jika sensor mendeteksi kondisi lebih gelap dari ambang batas tersebut, Raspberry Pi Pico akan menyalakan LED merah yang berkedip selama 5 detik sebagai indikator visual. Selama LED berkedip, buzzer juga diaktifkan dan menghasilkan bunyi dengan pengaturan duty cycle sebesar 55%, artinya buzzer berbunyi dalam pola hidup 55% dan mati 45% dalam satu siklus PWM. Setelah 5 detik, LED berhenti berkedip dan buzzer dimatikan. Apabila intensitas cahaya tetap di atas 200 Lux, maka baik LED maupun buzzer tidak akan diaktifkan. Seluruh sistem ini bekerja secara otomatis berdasarkan pembacaan cahaya yang diterima sensor LDR.

4. Flowchart dan Listing Program [kembali]
        A. Flowchart






        B. Listing Program  
from machine import Pin, PWM, ADC
import utime

# Setup pin
ldr = ADC(28)          # Pin AO dari LDR ke GP28
led = Pin(6, Pin.OUT)  # LED di GP6
buzzer = PWM(Pin(15))  # Buzzer di GP15 dengan PWM

# Konfigurasi PWM buzzer
buzzer.freq(1000)
buzzer.duty_u16(0)

# Fungsi sederhana ADC ke Lux
def adc_to_lux(adc_value):
    # ADC 65535 (terang sekali), ADC 0 (gelap total)
    # Buat mapping sederhana dari pengamatan eksperimen
    return (65535 - adc_value) / 65535 * 1000  # Lux range 0-1000 (disesuaikan)

# Tentukan nilai normal 200 lux
lux_normal = 200

while True:
    analog_value = ldr.read_u16()
    lux = adc_to_lux(analog_value)
    print(f"LDR Value: {analog_value} | Lux: {lux:.2f}")

    if lux < lux_normal:
        print("Cahaya lebih gelap dari 200 lux! Menyalakan LED & Buzzer...")

        # Buzzer ON 55%
        buzzer.duty_u16(int(0.55 * 65535))
       
        start_time = utime.ticks_ms()
        while utime.ticks_diff(utime.ticks_ms(), start_time) < 5000:  # selama 5 detik
            led.toggle()
            utime.sleep(0.5)  # LED kedip tiap 0.5 detik

        # Matikan semua setelah 5 detik
        buzzer.duty_u16(0)
        led.off()

    else:
        buzzer.duty_u16(0)
        led.off()

    utime.sleep(0.2)


           
5. Kondisi [kembali]

    Percobaan 1 Kondisi 4

    Buatlah rangkaian seperti gambar pada percobaan 1, buatlah ketika LDR membaca Lebih Gelap dari normal sebesar 200 LUX Led merah hidup berkedip selama 5 detik dan Duty Cycle Buzzer 55%

6. Video Simulasi [kembali]


7. Download file [kembali]

Link rangkaian klik disini
Download 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]
File HTML klik disini