LED Berjalan Raspberry Pi Pico (6 LED)
Animasi "LED berjalan" klasik dengan Pico, versi 6 LED! 6 LED menyala berurutan dari kiri ke kanan, seperti cahaya yang berjalan. Pelajari list Python, list comprehension ([Pin(p, Pin.OUT) for p in LED_PINS]), loop for dengan kendali pin, dan enumerate(). 6 LED di GP9-GP14, masing-masing dengan resistor 220Ω. Alih-alih mendefinisikan LED satu per satu, kita memakai list; kamu bisa menambah LED sebanyak pin GPIO yang bebas. Untuk 100 LED, pakai LED beralamat seperti WS2812B.

Video
Skema rangkaian

Kode sumber
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# LED Berjalan Raspberry Pi Pico (6 LED)
4# ─────────────────────────────────────────
5# 6 LED menyala satu per satu dari GP14 ke GP9 (animasi "chasing light"
6# (lampu berjalan)). Kecepatannya diatur dengan WAIT_MS: 50 ms cepat, 500
7# ms lambat.
8#
9# Pin:
10# GP14, GP13, GP12, GP11, GP10, GP9 -> 6 LED merah (berurutan)
11# Tiap LED dengan 220 ohm, katoda ke GND
12
13from machine import Pin
14from time import sleep_ms
15
16# ============ PIN / PIN ============
17LED_PINS = [14, 13, 12, 11, 10, 9] # Urutan nyala
18leds = [Pin(p, Pin.OUT) for p in LED_PINS] # Semua sebagai output
19
20WAIT_MS = 120 # Delay antar LED (ms)
21
22# ============ HELPER ============
23def all_off():
24 # Matikan semua LED
25 for led in leds:
26 led.value(0)
27
28# ============ LOOP UTAMA ============
29while True:
30 # Hanya satu LED yang menyala di setiap langkah
31 for led in leds:
32 all_off()
33 led.value(1)
34 sleep_ms(WAIT_MS)
35FAQ
Apa itu list comprehension?
[Pin(p, Pin.OUT) for p in LED_PINS] adalah sintaks Python yang membuat list dalam satu baris. Alih-alih mendefinisikan 6 LED satu per satu, sintaks ini otomatis membuat objek Pin dari list pin.
Bagaimana cara mengatur kecepatan animasi?
Ubah nilai WAIT_MS. 50 ms menghasilkan efek berjalan yang sangat cepat, 150 ms sedang, dan 300 ms lambat.
Bisakah aku membalik arah jalannya?
Ya, mengganti `for led in leds:` dengan `for led in reversed(leds):` di loop utama membalik urutan LED. Jika kamu menjalankan kedua arah secara bergantian, kamu mendapat efek "Knight Rider".
Kenapa pin GP9 sampai GP14 yang dipilih?
Pin-pin ini berurutan di board; dengan begitu kabel tetap rapi dan pemasangan di breadboard lebih mudah. Jika mau, kamu bisa menambahkan pin lain ke list.
