LA M1 - Pecobaan 7

[menuju akhir]

1. Prosedur [kembali]

1.siapkan 3 push button, 1 buzzer, dan 1 RGB LED

2.pilih mikrokontroler repberry pi pico

3.buat rangkaian seperti percobaan 7 pada modul


2. Hardware dan Diagram Blok [kembali]

  • Raspberry Pi Pico




Raspberry Pi Pico adalah mikrokontroler berbasis RP2040, yaitu chip buatan Raspberry Pi yang memiliki dual-core ARM Cortex-M0+ dengan kecepatan hingga 133 MHz. Mikrokontroler ini digunakan untuk berbagai proyek embedded system, seperti robotika, otomasi, dan pemrosesan sinyal, karena memiliki GPIO (General Purpose Input Output) yang fleksibel serta mendukung pemrograman dengan MicroPython dan C/C++.

  • Push Button



Push button adalah sakelar mekanik yang bekerja saat ditekan dan kembali ke posisi semula saat dilepas. Komponen ini digunakan untuk mengaktifkan atau menonaktifkan sirkuit listrik, seperti dalam sistem kontrol, input pengguna pada perangkat elektronik, dan tombol reset atau start dalam rangkaian mikroprosesor. Push button sering dikombinasikan dengan mikrokontroler untuk menangkap input pengguna dalam berbagai aplikasi interaktif.


  • Buzzer





Push button adalah sakelar mekanik yang bekerja saat ditekan dan kembali ke posisi semula saat dilepas. Komponen ini digunakan untuk mengaktifkan atau menonaktifkan sirkuit listrik, seperti dalam sistem kontrol, input pengguna pada perangkat elektronik, dan tombol reset atau start dalam rangkaian mikroprosesor. Push button sering dikombinasikan dengan mikrokontroler untuk menangkap input pengguna dalam berbagai aplikasi interaktif.


  • RGB Led

RGB LED (Red, Green, Blue LED) adalah jenis LED yang terdiri dari tiga warna dasar—merah, hijau, dan biru—yang dapat dikombinasikan untuk menghasilkan berbagai warna cahaya. Dengan mengatur intensitas masing-masing warna, RGB LED dapat menampilkan spektrum warna yang luas.

RGB LED umumnya dikendalikan menggunakan mikrokontroler atau rangkaian elektronik dengan teknik PWM (Pulse Width Modulation) untuk mengatur kecerahan setiap warna. Ada dua jenis utama RGB LED:

  1. Common Anode – Katoda (negatif) masing-masing warna terpisah, sementara anoda (positif) terhubung bersama.

  2. Common Cathode – Anoda (positif) masing-masing warna terpisah, sementara katoda (negatif) terhubung bersama.

RGB LED sering digunakan dalam dekorasi, tampilan visual, indikator status, dan proyek elektronik interaktif.




3. Rangkaian Simulasi dan Prinsip Kerja [kembali]



Rangkaian menggunakan tiga push button sebagai input yang dihubungkan ke kaki GPIO pada Raspberry Pi Pico. Pada program, pin GPIO yang terhubung ke push button diinisialisasi sebagai pin input. Output dari rangkaian ini adalah RGB Led dan buzzer, di mana masing-masing push button akan menghidupkan salah satu warna dari RGB Led yaitu Red, Green, dan Blue, serta mengaktifkan buzzer. RGB Led dihubungkan ke pin GPIO pada Raspberry Pi Pico dan diinisialisai sebagai pin output pada program.


4. Flowchart dan Listing Program [kembali]


  • Flowchart



  • Listing Program

from machine import Pin

import utime

# Konfigurasi pin
LED_RED = Pin(5, Pin.OUT)
LED_GREEN = Pin(6, Pin.OUT)
LED_BLUE = Pin(11, Pin.OUT)
BUZZER = Pin(12, Pin.OUT)
BTN_RED = Pin(10, Pin.IN, Pin.PULL_UP)
BTN_GREEN = Pin(7, Pin.IN, Pin.PULL_UP)
BTN_BLUE = Pin(8, Pin.IN, Pin.PULL_UP)

# Variabel status LED (awalannya mati)
redState = False
greenState = False
blueState = False
lastRedBtnState = True
lastGreenBtnState = True
lastBlueBtnState = True

def updateLEDs():
    LED_RED.value(redState)  # Common Katode
    LED_GREEN.value(greenState)
    LED_BLUE.value(blueState)

def buzz(duration):
    BUZZER.value(1)  # Nyalakan buzzer
    utime.sleep_ms(duration)
    BUZZER.value(0)  # Matikan buzzer

while True:
    global redState, greenState, blueState, lastRedBtnState, lastGreenBtnState, lastBlueBtnState
    
    redBtnState = BTN_RED.value()
    greenBtnState = BTN_GREEN.value()
    blueBtnState = BTN_BLUE.value()
    
    if redBtnState == 0 and lastRedBtnState == 1:
        redState = not redState
        print("Tombol Merah Ditekan")
        buzz(100)
    lastRedBtnState = redBtnState  # Simpan status terakhir
    
    if greenBtnState == 0 and lastGreenBtnState == 1:
        greenState = not greenState
        print("Tombol Hijau Ditekan")
        buzz(100)
    lastGreenBtnState = greenBtnState  # Simpan status terakhir
    
    if blueBtnState == 0 and lastBlueBtnState == 1:
        blueState = not blueState
        print("Tombol Biru Ditekan")
        buzz(100)
    lastBlueBtnState = blueBtnState  # Simpan status terakhir
    
    updateLEDs()
    utime.sleep_ms(50)  # Debounce sederhana



5. Analisa [kembali]





6. Video Percobaan [kembali]






7. Download file [kembali]










[menuju awal]



Tidak ada komentar:

Posting Komentar

    BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA 2022 Nama: Adnan Fauzan    NIM: 2210953001 Elektronika B Dosen Pengampu ; Darwison,M.T R...