🛠 Allumer une LED via le GPIO avec libgpiod
Objectifs
Découvrir l'en-tête GPIO 40 broches du Raspberry Pi 5 et allumer une LED en ligne de commande avec libgpiod, l'API GPIO moderne du noyau Linux. Sur le Pi 5, les broches 3,3 V sont pilotées par la puce RP1 et la logique est en 3,3 V uniquement.
Matériel
- Raspberry Pi 5 sous Raspberry Pi OS 64 bits (Bookworm ou ultérieur)
- 1 LED rouge + 1 résistance 470 Ω
- Câbles Dupont femelle-mâle
- Brochages : broche physique 11 = GPIO17 (sortie), broche physique 6 = GND
Code complet
# Installer les outils libgpiod
sudo apt update && sudo apt install -y gpiod
# Vérifier la puce GPIO (gpiochip0 sur Pi 5)
gpiodetect
gpioinfo gpiochip0 | grep -A1 line\ 17
# Mettre GPIO17 en sortie et l'allumer (broche physique 11)
gpioset gpiochip0 17=1
sleep 2
gpioset gpiochip0 17=0
# Clignoter 5 fois
for i in 1 2 3 4 5; do gpioset --hold-period 1s gpiochip0 17=1; done
Vérification attendue
gpiodetect affiche gpiochip0 [pinctrl-rp1]. La LED s'allume pendant gpioset avec 17=1 puis s'éteint. Avec --hold-period 1s, elle clignote une seconde par cycle.
Erreurs fréquentes
- Oublier la résistance : la LED grille ou tire trop de courant (limite conseillée 16 mA par broche, 50 mA au total sur le GPIO).
- Confondre numéro GPIO et numéro de broche physique : GPIO17 = broche 11, pas broche 17.
- Utiliser d'anciens tutoriels RPi.GPIO en écriture directe BCM2835 : sur Pi 5 le GPIO passe par RP1, utilisez libgpiod, lgpio ou gpiozero.
gpiodetectvide : vérifier que le noyau est à jour (uname -r) et redémarrer.- Alimenter un circuit en 5 V depuis une broche GPIO : les broches de données sont en 3,3 V.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython