Tugas Pendahuluan - Percobaan 5 Kondisi 1

 [KEMBALI KE MENU SEBELUMNYA]




MODUL I
PERCOBAAN 5 KONDISI 1

1. Prosedur
 [Kembali]

- Rangkai semua komponen sesuai kondisi yang dipilih
- Buat program di website Wokwi 
- Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
- Selesai

2. Hardware dan Diagram Blok [Kembali]

1. Raspberry Pi Pico



    2. Button



    3. Buzzer



   
     Diagram Blok




3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
    Gambar Rangkaian Sebelum Disimulasikan


                                  
    Gambar Rangkaian Setelah Disimulasikan
 



                                        
PRINSIP KERJA
    
    Prinsip kerja dari program ini adalah untuk mengontrol bunyi buzzer berdasarkan input dari dua tombol push button. Program diawali dengan menginisialisasi pin GPIO pada mikrokontroler, di mana pin 12 digunakan sebagai output untuk mengontrol buzzer, dan pin 10 serta pin 7 digunakan sebagai input untuk tombol, dengan konfigurasi pull-up agar tombol terbaca sebagai logika tinggi (1) saat tidak ditekan dan logika rendah (0) saat ditekan. Program kemudian menyimpan status terakhir dari kedua tombol untuk mendeteksi perubahan keadaan (dari belum ditekan menjadi ditekan). Dalam loop utama yang berjalan terus-menerus, program memeriksa apakah tombol 1 ditekan (berubah dari 1 ke 0), dan jika ya, buzzer akan menyala selama 3 detik. Jika tombol 2 ditekan, buzzer akan menyala dua kali berturut-turut, masing-masing selama 3 detik. Setiap aksi diikuti oleh pembaruan status tombol agar hanya merespons sekali setiap kali tombol ditekan. Delay singkat selama 10 milidetik digunakan untuk debouncing, yaitu menghindari pembacaan ganda akibat getaran mekanik saat tombol ditekan. Dengan demikian, buzzer akan memberikan respons berbeda tergantung pada tombol yang ditekan, baik satu kali atau dua kali bunyi panjang.

4. FlowChart [Kembali]

a. Listing Program 

from machine import Pin
import utime

# Konfigurasi pin
BUZZER = Pin(12, Pin.OUT)
Button1 = Pin(10, Pin.IN, Pin.PULL_UP)
Button2 = Pin(7, Pin.IN, Pin.PULL_UP)

# Variabel untuk menyimpan status tombol terakhir
lastButton1State = True
lastButton2State = True

# Fungsi untuk menyalakan buzzer selama durasi tertentu
def buzz(duration):
    BUZZER.value(1)  # Nyalakan buzzer
    utime.sleep_ms(duration)
    BUZZER.value(0)  # Matikan buzzer

# Loop utama
while True:
    Button1State = Button1.value()
    Button2State = Button2.value()

    # Cek apakah tombol 1 ditekan dan status berubah
    if Button1State == 0 and lastButton1State == 1:
        print("Tombol 1 Ditekan")
        buzz(3000)
        lastButton1State = Button1State  # Update status tombol 1

    # Cek apakah tombol 2 ditekan dan status berubah
    if Button2State == 0 and lastButton2State == 1:
        print("Tombol 2 Ditekan")
        buzz(3000)
        buzz(3000)
        lastButton2State = Button2State  # Update status tombol 2

    # Debounce sederhana dengan delay singkat
    utime.sleep_ms(10)  # Debounce sederhana (10 ms)



b. Flowchart
 


5. Kondisi [Kembali]
    Kondisi  →Percobaan 5 Kondisi 1
        Buatlah Rangkaian seperti gambar pada percobaan 5 dengan kondisi ketika push button ditekan maka buzzer akan aktif selama 3 detik

6. Video Simulasi [Kembali]




7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet Raspberry Pi Pico Klik disini
Download Datasheet  Button Klik disini
Download Datasheet Buzzer Klik disini


Komentar

Postingan populer dari blog ini

MODUL I - GENERAL INPUT DAN OUTPUT

Sub Chapter 7.5

MODUL III - Counter