🛠 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

Objectifs

Faire « respirer » une LED en modulant la largeur d'impulsion (PWM). Deux approches sur l'ODROID-M1 : la LED embarquée led-work via les triggers du noyau (garantie fonctionnelle sur Armbian/mainline, le device tree rk3568-odroid-m1.dts l'enregistre avec le trigger heartbeat), et le PWM matériel du RK3568B2 sur le connecteur 40 broches.

Matériel

Code complet

# 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

Vérification attendue

La LED bleue clignote en rythme (mode timer) ; avec le PWM matériel, la LED externe module progressivement d'éteinte à pleine intensité.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels