🛠 Variation d'intensité d'une LED avec un signal PWM

Orange Pi 3B (Rockchip RK3566) · intermediaire · Schéma : IMG-orangepi-3b-intermediaire-1-opi3b-pwm-led.svg — LED pilotée par une sortie PWM du connecteur 40 broches de l'Orange Pi 3B via un transistor

Objetivos

Hacer variar la intensidad de un LED (respiración luminosa) con una señal PWM generada por la Orange Pi 3B. La ficha oficial indica PWM en el conector de 40 pines; el pin PWM exacto a utilizar > SIN VERIFICAR: consulte la definición oficial del pinout (imagen del pinout V2.1 en orangepi.org) y ls /sys/class/pwm/.

Material

Código completo

# 1. Repérer les contrôleurs PWM exposés
ls /sys/class/pwm/            # pwmchip0, pwmchip1...
# 2. Réserver un canal (exemple : canal 0 du pwmchip0)
echo 0 | sudo tee /sys/class/pwm/pwmchip0/export
# 3. Signal : période 20 kHz (en ns), puis rapport cyclique 0..period
sudo sh -c 'echo 50000 > /sys/class/pwm/pwmchip0/pwm0/period'
sudo sh -c 'echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable'
# 4. Respiration lumineuse (fade)
#!/bin/bash
P=/sys/class/pwm/pwmchip0/pwm0
for p in $(seq 0 500 50000); do echo $p | sudo tee $P/duty_cycle >/dev/null; sleep 0.03; done
for p in $(seq 50000 -500 0); do echo $p | sudo tee $P/duty_cycle >/dev/null; sleep 0.03; done

Verificación esperada

El LED sube y luego baja progresivamente en luminosidad. cat $P/duty_cycle sigue los valores escritos; el ciclo completo dura aproximadamente 6 segundos.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales