🛠 Allumer une LED via le GPIO 40 broches (libgpiod)
Objectifs
Allumer et éteindre une LED depuis le connecteur GPIO 40 broches de l'Orange Pi 5 Plus avec libgpiod, l'interface GPIO moderne de Linux (l'ancien sysfs /sys/class/gpio n'est plus utilisé). Comprendre le mapping : la broche physique 7 du connecteur est GPIO1_D6 (wPi 2), soit gpiochip1, ligne 30 (banque 1, groupe D = 3 → 3×8+6 = 30). Les 28 GPIO du connecteur sont tous en 3,3 V.
Matériel
- Orange Pi 5 Plus sous Armbian (ou image Orange Pi OS), alimentée en 5 V / 4 A via le port Type-C situé à côté des ports Ethernet — l'autre Type-C ne fournit PAS l'alimentation !
- 1 LED rouge + résistance 330 Ω + 2 câbles jumper
- Accès terminal (écran/clavier ou SSH)
Code complet
# 1. Installer les outils libgpiod (gpiodetect, gpioset, gpiomon)
sudo apt update && sudo apt install -y gpiod
# 2. Lister les contrôleurs GPIO : gpiochip0..3 = gpio0..gpio3 (RK3588)
gpiodetect
# 3. Faire clignoter la LED 5 fois (broche 7 = gpiochip1, ligne 30)
sudo gpioset -c gpio1 --repeat 5 --hold-period=200ms --period=400ms 30=1
Vérification attendue
gpiodetect affiche gpiochip0 à gpiochip3. La commande gpioset fait clignoter la LED 5 fois (200 ms allumée, 200 ms éteinte) puis se termine. Sur une image Orange Pi officielle, wiringOP est préinstallé et le même broche s'écrit sudo gpio mode 2 out puis sudo gpio write 2 1 / 0 ; sudo blink_all_gpio teste les 28 GPIO du connecteur.
Erreurs fréquentes
- Mauvais port Type-C : seule la prise à côté des ports Ethernet alimente la carte ; brancher l'alim sur le port data = carte éteinte.
- Confusion de numérotation : broche physique 7 = GPIO1_D6 = ligne 30 de gpiochip1, pas « GPIO 7 ».
- Oubli de la résistance ou LED à l'envers (cathode, patte courte, côté masse).
- >
Autres tutoriels pour cette carte
- Lire un bouton poussoir et afficher dans la console
- Premier script Python : fiche signalétique de la carte et LED
- Variation d'intensité d'une LED avec PWM (sysfs pwm)
- Lire un capteur I2C (BMP280) depuis le bus du connecteur
- Exploiter le double Ethernet 2,5 GbE et sécuriser le SSH
- Booter sur NVMe (M.2 PCIe 3.0 x4) et récupérer une carte brique via MaskROM
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash