Tugas Pendahuluan 2 Modul 1
(Percobaan 7 Kondisi 1)
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.
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
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]
Datasheet LED RGB Download
Datasheet Resistor Download
Datasheet Buzzer Download
Tidak ada komentar:
Posting Komentar