a) Prosedur[Kembali]

  1. Menyusun rangkaian sesuai pada percobaan 1 pada modul di breadboard.
  2. Listing program pada software Thonny IDE, sesuaikan deklarasi pin di program dengan pin yang digunakan pada Raspberry Pi Pico di breadboard.
  3. Import data program ke dalam Raspberry Pi Pico
  4. Simulasikan/jalankan rangkaian pada breadboard
  5. Cek apakah setiap komponen rangkaian pada breadboard berfungsi dan berjalan sesuai algoritma program
  6. Jika terdapat kendala atau masalah pada rangkaian maka lakukan problem solving terlebih dahulu hingga rangkaian berjalan sebagaimana mestinya.
  7. Selesai  

b) Hardware dan Diagram Blok[Kembali]



Gambar 1. Hardware Rangkaian Percobaan 1.

Gambar 2. Hardware Rangkaian Percobaan 2.


c) Rangkaian Simulasi dan Prinsip Kerja[Kembali]


Pada percobaan pertama menggunakan Raspberry Pi Pico, dengan komponen tersusun atas push button, resistor, dan LED, yang masing-masing sebanyak 7 buah. Rangkaian disusun paralel, dengan push button bertindak sebagai inputan, dan outputnya adalah LED. Resistor disusun seri bersama setiap masing-masing LED.

Prinsip kerja dari percobaan ini, ketika push button yang pertama (yang terhubung ke pin 9) ditekan, hal ini akan membuat nilai variabel button tersebut berlogika (1) sehingga LED yang pertama (yang terhubung ke pin 2) akan menyala. Lalu ketika push button yang kedua (yang terhubung ke pin 10) ditekan, nilai variabel button berikutnya akan berlogika (1) sehingga LED yang kedua (yang terhubung ke pin 3) akan menyala. Begitu seterusnya hingga push button dan LED yang ke-7.


d) 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



e) Video Demo[Kembali]


Video percobaan.



f) Analisa[Kembali]


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

    Jawab:

Pada percobaan pertama, yaitu menggunakan raspberry pi pico, untuk percobaan LED. GPIO 2,3,4,5,6,7, dan 16 dipilih untuk output LED (menggunakan 7 LED). Lalu GPIO 9,10,11,12,13,14, dan 17 digunakan untuk input push button. GPIO yang berurutan yang dirangkai pada rangkaian dilakukan guna untuk memudahkan dalam wiring rangkaian.

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

    Jawab:

Terlebih dahulu deklarasikan dengan array untuk setiap pin pada LED dan push button, yang mana led_Pins untuk output (fungsi array LED) sedangkan button_Pins untuk input (fungsi array push button). Lalu setelahnya LED diinisialisasi sebagai output dengan karakter 'Pin.OUT' sedangkan push button diinisialisasi sebagai input melalui karakter 'Pin.IN'. Lalu digunakan loop untuk pembacaan nilai dari setiap array input button dengan output LED ( buttons[i].value()=... dan leds[i].on/off() )

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

    Jawab:

Deklarasi menggunakan array karena pada rangkaian menggunakan banyak pin pada input dan outputnya: 

led_pins = [2, 3, 4, 5, 6, 7, 16] // adalah deklarasi array variabel LED sebagai output 
button_pins = [9, 10, 11, 12, 13, 14, 17] //adalah deklarasi array variabel push button sebagai output

Outputnya dilakukan dengan pemanggilan loop untuk setiap masing-masing nilai array-nya, dan bergantung kepada pengkondisian dari inputnya (If dan Else).

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

Untuk pendeteksian input bergantung pada inisialisasinya, yaitu pada variabel button dimasukkan karakter 'Pin.IN' sehingga pin dapat dideteksi sebagai input.

5. Analisa Fungsi utime.sleep_ms(1) pada Raspberry Pi Pico

    Jawab:

Yaitu untuk memberi delay untuk program selama beberapa saat untuk mengurangi 'bouncing' (kontak ON-OFF dalam waktu singkat ketika ditekan), sehingga dengan adanya delay, bouncing ini dapat dikurangi, sehingga sistem hanya membaca program setelah kondisinya stabil yaitu melalui delay. Selain itu juga membantu CPU agar terkontrol pengoperasiannya.


g) Download File[Kembali]