🛠 Variation d'intensité d'une LED en PWM

ODROID-M1 (Hardkernel) · intermediaire · Schéma : IMG-odroid-m1-intermediaire-1-odroidm1-pwm-led.svg — LED de puissance pilotée par un transistor NPN depuis une broche PWM du connecteur 40 broches, avec résistance de base

Objetivos

Hacer « respirar » un LED modulando el ancho de pulso (PWM). Dos enfoques en el ODROID-M1: el LED integrado led-work mediante los triggers del kernel (funcionalidad garantizada en Armbian/mainline, el device tree rk3568-odroid-m1.dts lo registra con el trigger heartbeat), y el PWM de hardware del RK3568B2 en el conector de 40 pines.

Material

Código completo

# 1) Sans câblage : variation logicielle de la LED bleue embarquée
ls /sys/class/leds/led-work/trigger   # contient « timer » et « heartbeat »
echo timer > /sys/class/leds/led-work/trigger
echo 200 > /sys/class/leds/led-work/delay_on
echo 800 > /sys/class/leds/led-work/delay_off

# 2) PWM matériel (si un pwmchip est exposé côté connecteur)
cat /sys/class/pwm/pwmchip*/label 2>/dev/null
# Exporter le canal 0, période 20 ms, rapport cyclique 50 % :
echo 0 > /sys/class/pwm/pwmchip0/export
sleep 1
printf 20000000 > /sys/class/pwm/pwmchip0/pwm0/period
printf 10000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
printf 1 > /sys/class/pwm/pwmchip0/pwm0/enable

Verificación esperada

El LED azul parpadea al ritmo (modo timer); con el PWM de hardware, el LED externo modula progresivamente de apagado a intensidad máxima.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales