LA 1 M2

                                                   [KEMBALI KE MENU SEBELUMNYA]



PERCOBAAN 1

1. Prosedur[Kembali]

  • Rangkai semua komponen sesuai dengan percobaan 1 pada modul 
  • Buat program untuk Rspberry pi pico, sesuaikan konfigurasinya dengan rangkaian dan kondisi yang dipakai
  • Masukkan Program ke Thony (micropython)
  • Upload program ke Raspberry Pi Pico

2. Hardware dan Diagram Blok[Kembali]

1. Raspberry PI PICO



2. LED




3. Buzzer






4. Sensor LDR

3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian: 




Prinsip Kerja:

Dari sensor LDR akan memberikan inputan yang dimana saat yang dimana jika sensornya ke trigger maka LED akan aktif dan buzzer akan berbunyi, yang dimana untuk aktifnya led dan buzzer ini memiliki selang waktu tertentu untuk menyala dan berbunyi .


4. Flowchart dan Listing Program[Kembali] 





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  # hanya 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  # set awal nilai normal saat pertama kali
        print(f"Lux Normal: {lux_normal}")

    print(f"LDR Value: {analog_value} | Lux: {lux:.2f}")

    if lux > lux_normal + 50:
        led_should_blink = True
        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
    else:
        led.off()

    utime.sleep(0.1)  # sedikit delay supaya tidak terlalu cepat baca LDR




5. Analisa[Kembali]
1.Analisa bagaimana perbedaan implementasi PWM antara STM32 dan Raspberry Pi Pico serta dampaknya terhadap kontrol motor dan buzzer
Jawaban:
STM32 punya kontrol yang lebih fleksibel dan presisi terhadap PWM, sangat cocok untuk sistem yang butuhkan kontrol motor / buzzer dengan presisi tinggi. Raspberry Pi Pico lebih mudah dikonfigurasikan tetapi sedikit terbatas dalam aplikasi yang kompleks.

2.Pembacaan nilai sensor analog (LDR) menggunakan ADC
Jawaban:
Pembacaan LDR, keduanya mampu (stm32/raspberry), namun STM32 lebih fleksibel dan cocok untuk proyek ADC kompleks. Pi Pico cocok untuk pembacaan dan aplikasi yang sederhana.

3.Penggunaan interrupt eksternal untuk mendeteksi input dari sensor atau tombol
Jawabannya:
Sinyal dari luar dari dev board yang punya mekannisme menghentikan program utama saat ada kejadian yang diprioritaskan, seperti input dari sensor atau pushbutton.

4.Analisa bagaimana cara kerja fungsi time.ticks_ms() pada Raspberry Pi Pico dalam menghitung waktu sejak sistem dinyalakan
Jawaban:
Memiliki fungsi untuk mengamati waktu dan multitasking sederhana (tanpa blocking, delay).
Pico menggunakan fungsi ini untuk alternatif millis.

5. Perbedaan fungsi/kerja dan lokasi pin PWM ketika memanfaatkan timer internal dalam menghasilkan sinyal gelombang persegi
Jawaban:
Pada PWM itu sendiri timer sangat mempengaruhi duty cycle yang ada, yang ini akan mempengaruhi sinyal output yang menyebabkan hasil dari PWM tersebut.


6. Video Demo[Kembali]








7. Download File[Kembali]

Video simulasi [download]
Datasheet Raspberry Pi Pico [Download]




Tidak ada komentar:

Posting Komentar

temukan pada blog ini

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percobaan...