Pico: плавная яркость через PWM

duty_u16 задаёт заполнение от 0 до 65535 — светодиод разгорается и гаснет.

Продвинутый уровень Raspberry Pi Pico MicroPython
Схема подключения: Pico: плавная яркость через PWM
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Raspberry Pi PicoGP16→Резистор1
Резистор2→СветодиодA
СветодиодC→Raspberry Pi PicoGND

Программа на 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: плавная яркость через PWM» в симуляторе