Pico: плавная яркость через PWM
duty_u16 задаёт заполнение от 0 до 65535 — светодиод разгорается и гаснет.

Что понадобится
- Raspberry Pi Pico
- Резистор (220 Ом)
- Светодиод (красный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Raspberry Pi Pico | GP16 | → | Резистор | 1 |
| Резистор | 2 | → | Светодиод | A |
| Светодиод | C | → | Raspberry Pi Pico | GND |
Программа на MicroPython
# ШИМ в MicroPython: заполнение задают числом 0…65535 (duty_u16),
# а не 0…255, как analogWrite в Arduino. Частота — отдельно, freq().
from machine import Pin, PWM
import time
led = PWM(Pin(16))
led.freq(1000)
while True:
for step in range(0, 65536, 4096):
led.duty_u16(step)
time.sleep_ms(30)
for step in range(65535, -1, -4096):
led.duty_u16(step)
time.sleep_ms(30)
Как это работает
range(0, 65536, 4096) — это шаг: 0, 4096, 8192 … Поставьте шаг мельче (1024) — разгорание станет плавнее, но и медленнее.
Коротко о детали: Raspberry Pi Pico
Плата на микроконтроллере RP2040: два ядра Cortex-M0+, 26 выводов GPIO, логика 3,3 В и три аналоговых входа. Программируется и на C++ (ядро arduino-pico), и на MicroPython — язык выбирается в меню вкладки платы. Встроенный светодиод сидит на GP25 и наружу не выведен.
Ещё примеры с деталью «Raspberry Pi Pico»
- Pico: мигание на MicroPythonВстроенный светодиод на GP25 и внешний на GP15 — три строки на MicroPython.Начальный
- Pico: кнопка со встроенной подтяжкойPin.PULL_UP включает подтягивающий резистор внутри чипа — внешний не нужен.Средний
- Pico: потенциометр и C++Та же плата на языке Arduino: analogRead c GP26 (это A0) управляет яркостью.Средний
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Pico: плавная яркость через PWM» в симуляторе