Бегущие огни на Pico (6 светодиодов)
Классическая анимация «бегущие огни» на Pico — версия на 6 светодиодов! 6 светодиодов загораются по очереди слева направо — будто свет идёт по ряду. Изучи список Python, генератор списка ([Pin(p, Pin.OUT) for p in LED_PINS]), цикл for с управлением пинами и enumerate(). 6 светодиодов на GP9–GP14, у каждого токоограничивающий резистор 220Ω. Очень чистый код: вместо объявления 6 светодиодов по одному используется список, и можно добавлять светодиоды по числу свободных пинов GPIO.

Видео
Схема

Исходный код
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Бегущие огни на Pico (6 светодиодов)
4# ─────────────────────────────────────────
5# 6 светодиодов загораются по одному от GP14 до GP9 (анимация «бегущий
6# огонёк»). Скорость задаётся через WAIT_MS: 50 мс быстро, 500 мс
7# медленно.
8#
9# Пины:
10# GP14, GP13, GP12, GP11, GP10, GP9 -> 6 красных светодиодов (по порядку)
11# Каждый светодиод с 220 ohm, катоды к GND
12
13from machine import Pin
14from time import sleep_ms
15
16# ============ ПИНЫ ============
17LED_PINS = [14, 13, 12, 11, 10, 9] # Порядок зажигания
18leds = [Pin(p, Pin.OUT) for p in LED_PINS] # Все как выходы
19
20WAIT_MS = 120 # Пауза между светодиодами (мс)
21
22# ============ ПОМОЩНИК ============
23def all_off():
24 # Погасить все светодиоды
25 for led in leds:
26 led.value(0)
27
28# ============ ГЛАВНЫЙ ЦИКЛ ============
29while True:
30 # На каждом шаге горит только один светодиод
31 for led in leds:
32 all_off()
33 led.value(1)
34 sleep_ms(WAIT_MS)
35Частые вопросы
Что такое генератор списка?
[Pin(p, Pin.OUT) for p in LED_PINS] — синтаксис Python, который создаёт список в одну строку. Вместо объявления 6 светодиодов по одному он автоматически создаёт объекты Pin из списка пинов.
Как настроить скорость анимации?
Измени значение WAIT_MS. 50 ms дают очень быстрый бег, 150 ms — средний, а 300 ms — медленный.
Можно ли развернуть направление бега?
Да, если в основном цикле заменить `for led in leds:` на `for led in reversed(leds):`, порядок светодиодов перевернётся. Если запускать оба направления одно за другим, получится эффект Knight Rider.
Почему выбраны пины с GP9 по GP14?
Эти пины идут на плате подряд; так провода остаются аккуратными, а собирать на макетной плате проще. При желании в список можно добавить другие пины.
