M1 - Laporan Akhir 1



Percobaan 1 
Led & Push Button


1. Prosedur[Kembali]

    1. Rangkai rangkaian sesuai dengan rangkaian percobaan 1.
    2. Setelah semua komponen (LED,Push button, dihubungkan ke Raspberry pi pico)dihubungkan, hubungkan USB Raspberry pi pico ke laptop.
    3. Inisaialisasi program menggunakan thonny
    4. Setelah program selesai, simulasikan rangkaian.
    5. Selesai.


2. Hardware dan Diagram Blok[Kembali]

Hardware :

  • Raspberry pi pico
  • Push button


  • LED
  • Resistor
  • Jumper Cable Wire


  • Beard board



Diagram Blok




3. Rangkaian Simulasi[Kembali]

Rangkailah seperti rangkaian percobaan 1 pada modul 1






  • Prinsip Kerja 
        Rangkaian ini bekerja dengan prinsip mikrokontroller di mana push button digunakan sebagai input, sedangkan LED sebagai output, dan Raspberry Pi Pico. Raspberry Pi Pico membaca status masing-masing tombol melalui pin GPIO yang telah dikonfigurasi sebagai input dengan pull-down resistor, sehingga saat tombol tidak ditekan, nilainya tetap terbaca sebagai logika Low, dan saat ditekan, nilainya berubah menjadi logika High. Ketika tombol dalam keadaan tidak ditekan, pull-down resistor memastikan bahwa input tetap bernilai LOW (0), sehingga LED tetap mati. Namun, saat tombol ditekan, koneksi ke 3.3V terhubung, menyebabkan input berubah menjadi HIGH (1). Raspberry Pi Pico kemudian membaca perubahan ini dan menyalakan LED yang sesuai dengan tombol tersebut.

    Ketika push button pertama ditekan, maka Raspberry Pi Pico mendeteksi perubahan dan mikrokontroler mengaktifkan LED pertama dan Jika tombol dilepaskan, nilai kembali ke Low (0) sehingga LED pertama mati. Dan prinsip tersebut berlaku untuk semua komponen button dan LED

    Dalam kode program, proses ini dilakukan dengan membaca nilai tombol menggunakan button.value(), di mana 1 menandakan tombol ditekan dan 0 menandakan tombol dilepas. LED dikontrol dengan led.value(1) untuk menyalakan dan led.value(0) untuk mematikan. Looping berjalan terus-menerus untuk mendeteksi perubahan status tombol secara real-time. Penggunaan pull-down resistor sangat penting untuk menghindari sinyal yang tidak stabil, sehingga memastikan sistem bekerja dengan baik dan responsif.


4. Flowchart dan Listing Program[Kembali]

  • Flowchart


  • Listing Program

from machine import Pin
import time
 
# Daftar GPIO untuk LED dan push button
led_pins = [2, 3, 4, 5, 6, 7, 16]  # Output LED
button_pins = [9, 10, 11, 12, 13, 14, 17]  # Input dari push button
 
# Inisialisasi LED sebagai output
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
 
# Inisialisasi push button sebagai input dengan pull-down
buttons = [Pin(pin, Pin.IN, Pin.PULL_DOWN) for pin in button_pins]
 
while True:
    for i in range(7):
        if buttons[i].value() == 1:  # Jika push button ditekan
            leds[i].on()  # Nyalakan LED
        else:
            leds[i].off()  # Matikan LED
    time.sleep(0.05)  # Delay untuk debounce sederhana


5. Video Demo[Kembali]






6. Analisa[Kembali]

ANALISA MODUL 1 General I/O 

1. Analisa bagaimana pengaruh penggunaan/pemilihan GPIO pada STM32 dan Raspberry Pi Pico ?

Pemilihan dan penggunaan GPIO (General Purpose Input Output) pada STM32 dan Raspberry Pi Pico berpengaruh pada performa, efisiensi daya, dan fleksibilitas sistem. STM32 menggunakan periferal yang lebih kompleks dengan fitur seperti pull-up/down resistor, speed selection, dan alternatif fungsi, sedangkan Raspberry Pi Pico memiliki GPIO berbasis RP2040 yang lebih sederhana tetapi mendukung PIO (Programmable I/O) untuk operasi yang lebih fleksibel.


2. Analisa bagaimana STM32 dan Raspberry Pi Pico menerima inputan dan menghasilkan output ?

Output STM32 menggunakan register yang dikontrol melalui HAL (Hardware Abstraction Layer) atau langsung dengan mengakses register tingkat rendah. Raspberry Pi Pico menggunakan pustaka MicroPython atau C SDK untuk mengontrol input dan output GPIO. Kedua perangkat dapat membaca input digital, analog (pada pin tertentu), dan menghasilkan output PWM atau digital dengan konfigurasi yang sesuai.


3. Analisa bagaimana program deklarasi pin I/O pada STM32 dan Raspberry Pi Pico ?

Pada STM32, deklarasi pin dilakukan melalui HAL atau langsung dengan mengakses register GPIO. Contohnya:


Sedangkan pada Raspberry Pi Pico dengan MicroPython:



Pendeklarasian ini menunjukkan bahwa STM32 memiliki cara konfigurasi yang lebih kompleks dibanding Raspberry Pi Pico.


4. Analisa bagaimana program dalam analisa metode pendeteksian input pada STM32 dan Raspberry Pi Pico ?

STM32 mendeteksi input dengan membaca register IDR (Input Data Register) atau menggunakan fungsi HAL seperti:




Sementara itu, Raspberry Pi Pico menggunakan metode polling atau interrupt dengan pustaka MicroPython:





Kedua metode serupa, namun STM32 memiliki fleksibilitas lebih dalam konfigurasi mode input seperti pull-up, pull-down, atau floating input.


5. Analisa Fungsi HAL_Delay(100) pada STM32 dan utime.sleep_ms(1) pada Raspberry Pi Pico ?

  • HAL_Delay(100) pada STM32 menggunakan Timer Systick untuk menunda eksekusi selama 100 ms, yang dapat menyebabkan sistem berhenti sementara.

  • utime.sleep_ms(1) pada Raspberry Pi Pico menunda eksekusi selama 1 ms menggunakan pustaka MicroPython.

Keduanya berfungsi sebagai delay blocking, tetapi pada STM32 delay ini dapat memengaruhi eksekusi program lain yang bergantung pada interrupt atau multitasking.


7. Download File[Kembali]

HTML [Download]
Listing Program [Download]
Video Simulasi [Download]  
Datasheet LED [Download]
Datasheet Raspberry pi pico [Download]









Tidak ada komentar:

Posting Komentar

ELEKTRONIKA

 BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA C Disusun Oleh : Abdul Hadi Aldoreza 2210952008 Dosen Pengampu : Dr. Darwison, M.T JURUSAN ...