🛠 Allumer une LED depuis la GPIO 17 avec libgpiod
Objetivos
Descubrir la cabecera de 40 pines (J8) del Raspberry Pi Model B+ — la tira de pines que definió el formato de todos los modelos «Model B» posteriores — y encender un LED sin escribir ningún programa, gracias a las herramientas libgpiod (gpiodetect, gpioinfo, gpioset) disponibles en las imágenes legacy de 32 bits.
Material
- Raspberry Pi Model B+ (BCM2835, 512 MB) con Raspberry Pi OS legacy de 32 bits (Buster o anterior)
- 1 LED rojo, 1 resistencia de 330 Ω, cables Dupont hembra-macho
- Fuente de alimentación micro-USB de 5 V fiable (los cortes por subtensión distorsionan todo)
Código completo
# Installation des outils libgpiod
sudo apt update && sudo apt install -y gpiod
# Inventaire des puces GPIO puis état des lignes
gpiodetect
gpioinfo gpiochip0
# Broche physique 11 = GPIO17 (BCM) : mise à 1, la LED s'allume
sudo gpioset gpiochip0 17=1
sleep 5
# Extinction
sudo gpioset gpiochip0 17=0
Cableado: pin 11 (GPIO17) → resistencia de 330 Ω → ánodo del LED; cátodo → pin 14 (GND). La lógica del B+ funciona a 3,3 V: nunca alimentar un pin GPIO con 5 V.
Verificación esperada
gpiodetect muestra « gpiochip0 [bcm2835-gpio] (54 lines) ». Después de ejecutar gpioset gpiochip0 17=1, el LED permanece encendido y gpioinfo muestra la línea 17 como « output active »; con 17=0 se apaga.
Errores frecuentes
- Olvidar sudo: « permission denied » en /dev/gpiochip0 (o añadir el usuario al grupo gpio).
- Confusión entre el número BCM (17) y el número de pin físico (11): verificar con gpioinfo o un esquema de pinout.
- LED conectado sin resistencia, o pin conectado a 5 V: LED destruido o pin fuera de especificación (máximo 3,3 V).
- Imagen muy antigua: las herramientas pueden llamarse libgpiod-utils en lugar de gpiod.
Otros tutoriales para esta placa
- Lire un bouton et afficher les appuis dans la console
- Premier script Python : faire clignoter la LED
- Variation d'intensité d'une LED avec le PWM matériel (GPIO18)
- Interroger un capteur I2C (BME280) sur le bus du 40 broches
- Mettre le B+ en réseau par Ethernet et piloter en SSH
- Amorçage microSD, pannes de boot et procédure de recouvrement
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython