Laporan Akhir Percobaan 5

 




 1. Prosedur  [kembali]

  1. 1. Persiapan Alat dan Bahan

  • Raspberry Pi Pico

  • 1 buah buzzer

  • 2 buah push button

  • Kabel jumper

  • Aplikasi Wokwi

            

  1. 2. Perakitan Rangkaian

  1. Pilih Raspberry Pi Pico pada Aplikasi Wokwi.

  2. Hubungkan salah satu kaki buzzer ke pin GPIO Pico (misalnya GP12) dan kaki lainnya ke GND.

  3. Pasang dua buah push button:

    • Push button 1: hubungkan salah satu kaki ke GPIO Pico (misalnya GP10), kaki lainnya ke GND.

    • Push button 2: hubungkan salah satu kaki ke GPIO Pico (misalnya GP7), kaki lainnya ke GND.

  4. Hubungkan pin 3.3V Pico ke breadboard untuk suplai tegangan.

Pastikan semua jalur ground (GND) tersambung dengan baik.

2. Hardware dan Diagram Blok [kembali]


 2.1 Daftar Komponen

  • 1 × Raspberry Pi Pico (atau kompatibel RP2040)

Gambar Raspberry Pi Pico 
Spesifikasi Raspberry Pi Pico

  • 1 × Buzzer (aktif atau pasif — rekomendasi: buzzer aktif 3.3V)

Gambar Buzzer


  • 2 × Push button (tact switch)

Gambar Push Button (tact Switch)

  • Kabel jumper 

Gambar Kabel Jumper

2.2 Diagram Blok




       

3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

3.1 Rangkaian Simulasi

Gambar Rangkaian Percobaan 5

3.2 Prinsip Kerja

Komponen Utama

  • Raspberry Pi Pico berfungsi sebagai pengendali utama yang membaca input dari push button dan mengatur keluaran ke buzzer.

  • Buzzer berfungsi sebagai aktuator/output yang menghasilkan bunyi.

  • Dua push button berfungsi sebagai input untuk mengendalikan kondisi buzzer (ON atau OFF).

Koneksi Rangkaian

  • Buzzer dihubungkan ke salah satu pin GPIO Pico dan GND.

  • Push button pertama terhubung ke pin GPIO tertentu dan GND → digunakan untuk mengaktifkan buzzer.

  • Push button kedua terhubung ke pin GPIO lain dan GND → digunakan untuk mematikan buzzer.

  • Pin VBUS/3.3V dari Pico memberikan sumber daya untuk keseluruhan rangkaian.

Logika Kerja

  • Saat push button pertama ditekan, Raspberry Pi Pico membaca sinyal input (LOW, karena tombol terhubung ke GND). Program kemudian mengubah status buzzer menjadi aktif. Buzzer akan terus berbunyi meskipun tombol dilepas, karena status "ON" disimpan di logika program.

  • Saat push button kedua ditekan, Pico membaca sinyal dari tombol ini dan mengubah status buzzer menjadi mati. Buzzer berhenti berbunyi dan tetap mati sampai tombol pertama kembali ditekan.

Kesimpulan Kerja

  • Push button pertama = tombol ON buzzer.

  • Push button kedua = tombol OFF buzzer.

  • Raspberry Pi Pico menyimpan kondisi buzzer dalam program, sehingga buzzer tidak tergantung hanya pada kondisi fisik tombol, tetapi pada status yang sudah ditetapkan.



4. Flowchart dan Listing Program [kembali]
    



Listing Program

from machine import Pin
import time

# Konfigurasi pin
buzzer = Pin(12, Pin.OUT)      # Buzzer di GP12
button1 = Pin(7, Pin.IN, Pin.PULL_DOWN)  # Tombol 1 di GP7
button2 = Pin(10, Pin.IN, Pin.PULL_DOWN)  # Tombol 2 di GP10

# Variabel status buzzer
buzzer_on = False

while True:
    # Jika tombol 1 ditekan -> nyalakan buzzer
    if button1.value() == 1:
        buzzer_on = True
        time.sleep(0.2)  # debounce kecil

    # Jika tombol 2 ditekan -> matikan buzzer
    if button2.value() == 1:
        buzzer_on = False
        time.sleep(0.2)  # debounce kecil

    # Atur kondisi buzzer sesuai status
    if buzzer_on:
        buzzer.value(1)
    else:
        buzzer.value(0)

    time.sleep(0.05)


Penjelasan listing program:

from machine import Pin
import time
  • from machine import Pin → Mengimpor modul Pin dari library machine, digunakan untuk mengakses dan mengontrol GPIO pada Raspberry Pi Pico.
  • import time → Mengimpor modul time agar bisa menggunakan fungsi delay (sleep).

buzzer = Pin(12, Pin.OUT)      # Buzzer di GP12
button1 = Pin(7, Pin.IN, Pin.PULL_DOWN)  # Tombol 1 di GP7
button2 = Pin(10, Pin.IN, Pin.PULL_DOWN)  # Tombol 2 di GP10
  • buzzer = Pin(12, Pin.OUT) → Mengatur pin GP12 sebagai output untuk mengontrol buzzer.
  • button1 = Pin(7, Pin.IN, Pin.PULL_DOWN) → Mengatur pin GP7 sebagai input dengan mode pull-down (default-nya logika 0, jadi akan menjadi 1 hanya jika tombol ditekan).
  • button2 = Pin(10, Pin.IN, Pin.PULL_DOWN) → Mengatur pin GP10 sebagai input dengan mode pull-down juga.

buzzer_on = False
  • Membuat variabel buzzer_on sebagai status buzzer (False = mati, True = hidup).

while True:
  • Memulai loop utama yang berjalan terus-menerus.

    if button1.value() == 1:
        buzzer_on = True
        time.sleep(0.2)  # debounce kecil
  • Mengecek apakah tombol 1 ditekan (value() == 1).

  • Jika ditekan, set buzzer_on = True (nyalakan buzzer).

  • time.sleep(0.2) → delay 200 ms untuk debounce (mencegah pembacaan tombol ganda karena noise mekanis).

    if button2.value() == 1:
        buzzer_on = False
        time.sleep(0.2)  # debounce kecil
  • Mengecek apakah tombol 2 ditekan.
  • Jika ditekan, set buzzer_on = False (matikan buzzer).
  • time.sleep(0.2) → delay untuk debounce juga.

    if buzzer_on:
        buzzer.value(1)
    else:
        buzzer.value(0)
  • Mengecek status buzzer_on.
  • Jika True, buzzer dinyalakan (buzzer.value(1)).
  • Jika False, buzzer dimatikan (buzzer.value(0)).

    time.sleep(0.05)
  • Delay kecil (50 ms) agar loop tidak terlalu cepat.




5. Video Demo [kembali]



6. Kondisi [kembali]
    
 Buatlah Rangkaian seperti gambar pada percobaan 5 dengan kondisi ketika push button pertama ditekan maka buzzer akan aktif dan berbunyi sampai push button kedua ditekan.
    
7. Video Simulasi [kembali]   




8. Download File  [kembali]
   
   Download rangkaian simulasi [link]
    Download Video simulasi [link]
    Download Video Demo [link]
    Download datasheet Raspberry pi pico [link]
    Download datasheet Buzzer [link]
    Download datasheet Push Button [link]
   

Comments

Popular posts from this blog