Tugas Pendahuluan 2 M1




Tugas Pendahuluan 2 Modul 1
(Percobaan 7 Kondisi 1)

1. Prosedur
[Kembali]

1. Rangkai rangkaian sesuai gambar di wokwi.
2. Tulis program untuk Raspberry Pi Pico.
3. Jalankan sistem dan uji push button, buzzer, dan LED RGB.
4. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :
1. Raspberry Pi Pico 

2. LED RGB


3. Buzzer

4. Resistor 

5. Push button


Diagram Blok :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]


Rangkaian Simulasi :


Prinsip Kerja : 

  Rangkaian pada gambar menggunakan Raspberry Pi Pico untuk mengontrol tiga LED (merah, hijau, dan biru) serta sebuah buzzer, yang diaktifkan melalui tiga tombol push-button. Setiap tombol terhubung ke salah satu pin input Pico dengan konfigurasi pull-up internal, sehingga dalam keadaan normal bernilai HIGH (1) dan berubah menjadi LOW (0) saat ditekan.

Ketika tombol ditekan, program mendeteksi perubahan status dari HIGH ke LOW dan membalikkan kondisi LED terkait, membuatnya menyala atau mati bergantian (toggle). Selain itu, tombol merah juga mengaktifkan buzzer selama 100 ms sebagai umpan balik. Program ini menggunakan metode polling dalam loop utama untuk membaca status tombol, memperbarui kondisi LED, serta menyimpan status tombol sebelumnya guna menghindari deteksi ganda akibat bouncing. Delay 50 ms ditambahkan untuk mengurangi efek bouncing pada tombol mekanis.


4. Flowchart dan Listing Program [Kembali]


Flowchart :


Listing Program :

from machine import Pin  # Import library untuk mengontrol pin GPIO
import utime  # Import library untuk manajemen waktu

# Konfigurasi pin untuk LED sebagai output
LED_RED = Pin(5, Pin.OUT)  # LED merah di pin GP5
LED_GREEN = Pin(6, Pin.OUT)  # LED hijau di pin GP6
LED_BLUE = Pin(11, Pin.OUT)  # LED biru di pin GP11
BUZZER = Pin(12, Pin.OUT)  # Buzzer di pin GP12

# Konfigurasi pin untuk tombol sebagai input dengan pull-up internal
BTN_RED = Pin(10, Pin.IN, Pin.PULL_UP)  # Tombol merah di GP10
BTN_GREEN = Pin(7, Pin.IN, Pin.PULL_UP)  # Tombol hijau di GP7
BTN_BLUE = Pin(8, Pin.IN, Pin.PULL_UP)  # Tombol biru di GP8

# Variabel status LED, awalnya mati (False)
redState = False  # Status LED merah
greenState = False  # Status LED hijau
blueState = False  # Status LED biru

# Variabel untuk menyimpan status tombol sebelumnya
lastRedBtnState = True  # Status terakhir tombol merah
lastGreenBtnState = True  # Status terakhir tombol hijau
lastBlueBtnState = True  # Status terakhir tombol biru

# Fungsi untuk memperbarui status LED sesuai variabel
def updateLEDs():  
    LED_RED.value(redState)  # Atur LED merah
    LED_GREEN.value(greenState)  # Atur LED hijau
    LED_BLUE.value(blueState)  # Atur LED biru

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

# Loop utama
while True:  
    # Membaca status tombol saat ini
    redBtnState = BTN_RED.value()  
    greenBtnState = BTN_GREEN.value()  
    blueBtnState = BTN_BLUE.value()  

    # Cek apakah tombol merah ditekan (perubahan dari HIGH ke LOW)
    if redBtnState == 0 and lastRedBtnState == 1:  
        redState = not redState  # Toggle LED merah
        print("Tombol Merah Ditekan")  # Tampilkan pesan di terminal
        buzz(100)  # Aktifkan buzzer selama 100 ms
        
    # Cek apakah tombol hijau ditekan (perubahan dari HIGH ke LOW)
    if greenBtnState == 0 and lastGreenBtnState == 1:  
        greenState = not greenState  # Toggle LED hijau
        print("Tombol Hijau Ditekan")  # Tampilkan pesan di terminal
        
    # Cek apakah tombol biru ditekan (perubahan dari HIGH ke LOW)
    if blueBtnState == 0 and lastBlueBtnState == 1:  
        blueState = not blueState  # Toggle LED biru
        print("Tombol Biru Ditekan")  # Tampilkan pesan di terminal

    # Perbarui status LED berdasarkan variabel
    updateLEDs()  

    # Simpan status tombol terakhir untuk mendeteksi perubahan
    lastRedBtnState = redBtnState  
    lastGreenBtnState = greenBtnState  
    lastBlueBtnState = blueBtnState  

    utime.sleep_ms(50)  # Tambahkan delay 50 ms untuk debounce tombol


5. Kondisi [Kembali]

Percobaan 7 Kondisi 1
Buatlah rangkaian seperti gambar pada percobaan 7 dan output akhir rangkaian keseluruhannya ditunjukkan dengan LED RGB menampilkan warna sesuai dengan input push button tetapi saat push button LED RGB warna merah ditekan, Buzzer berbunyi dan push button warna lainnya Buzzer mati


6. Video Simulasi [Kembali]



7. Download File [Kembali]

HTML Download
File Rangkaian Download
Video Percobaan Download
Datasheet Raspberry Pi Pico  Download
Datasheet Push Button Download
Datasheet LED RGB Download
Datasheet Resistor Download
Datasheet Buzzer Download








Tidak ada komentar:

Posting Komentar

Kelebihan dan Kekurangan Seorang Pemimpin 

Kelebihan dan Kekurangan Seorang Pemimpin  Seorang pemimpin memainkan peran penting dalam keberhasilan sebuah organisasi, komunitas, atau ne...