LA 1 MODUL 2 PRAKTIKUM UP UC




Percobaan 1
LED, Buzeer, dan LDR

1. Prosedur
[Kembali]

  1. Rangkai semua komponen pada breadboard yang terhubung ke Raspberry Pi Pico.
  2. Hubungkan Raspberry Pi Pico dengan aplikasi Thony IDE menggunakan kabel  USB 
  3. Build program yang telah dibuat, lalu inputkan program ke dalam mikrokontroler melalui stlink.
  4. Setelah program diinputkan, uji rangkaian yang telah dirangkai sesuai dengan output yang ditentukan.
  5. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Raspberry Pi Pico


2. Buzzer

3. LDR




4. Breadboard
BREADBOARD / PROJECTBOARD / PROTOBOARD 400 HOLES di M-kontrol | Tokopedia
 
5. RGB LED
Jual LED RGB 4 PIN WARNA MERAH HIJAU BIRU 5mm ( ARDUINO ) - Common Cathode  - Jakarta Barat - Ardushop-id | Tokopedia


Diagram Blok  :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:


Rangkaian Simulasi Setelah dirunning:
 

Prinsip Kerja : 

Sensor LDR merupakan input yang mendeteksi cahaya yang masuk, ketika cahaya yang ditangkap melebihi kapasitas yang ditentukan (sekian LUX) maka lampu LED merah akan berkedip dan buzzer akan berbunyi. Tetapi ketika percobaan dilakukan terjadi kesalahan pada kode sehingga komponen yang ada tidak berfungsi sebagaimana mestinya. 


4. Flowchart dan Listing Program [Kembali]

Flowchart :




Listing Program :

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 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): return (adc_value / 65535) * 900 + 10 # Rentang 10 - 1000 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 # True saat 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 > lux_normal + 50: led_should_blink = True # Aktifkan mode kedip buzzer.duty_u16(30000) # 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) >= 1000: led_state = not led_state led.value(led_state) last_blink_time = current_time utime.sleep(0.1) # Delay agar pembacaan LDR tidak terlalu cepat



5. Video Demo [Kembali]


6. Analisa [Kembali]

7. Download File [Kembali]

Download HTML [Download]
Download Video Demo [Download]
Datasheet Raspberry Pi Pico [Download]
Datasheet LDR Sensor [Download]
Datasheet Red LED [Download]
Datasheet Buzzer [Download]
 

Komentar

Postingan populer dari blog ini

MODUL 1 PRAKTIKUM UP & UC

Modul 1 Praktikum Sistem Digital

Modul 3 Praktikum Sistem Digital