🛠 LED et bouton avec libgpiod sur le port 40 broches

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · debutant · Schéma : IMG-bananapi-m2-zero-debutant-2-clignoter-gpiod-m2-zero.svg — connecteur 40 broches du BPI-M2 Zero (brochage compatible Pi Zero W) : LED + résistance 330 Ω entre la broche 7 (PA6) et la masse, bouton entre la broche 32 (PL2) et GND (broche 6).

Objetivos

El BPI-M2 Zero dispone de un conector de 40 pines cuyo esquema de pines coincide con el de las Raspberry Pi (las carcasas y los HATs Zero W son compatibles), pero los pines pertenecen a bancos Allwinner: gpiochip0 cubre los bancos A a E (PA6 = pin 7, ya cableado por defecto como PWM1) y gpiochip1 cubre el banco R_PIO PL (PL2 = pin 32, PL4 = pin 36; PL10 controla el LED rojo de alimentación). Vas a hacer parpadear un LED y leer un botón utilizando las herramientas libgpiod, sin bibliotecas propietarias.

Material

Código completo

sudo apt update && sudo apt install -y gpiod

# Repérer les puces et le nom des lignes du connecteur (CON2-Pxx)
gpiodetect
gpioinfo gpiochip0 | grep -e CON2-P07 -e CON2-P11

# PA6 est PWM1 par défaut : libérer la broche si un overlay pwm la revendique
sudo armbian-config    # System > Hardware > décocher_pwm/pwm-user, puis reboot

# Clignoter 10 fois sur PA6 (broche 7), impulsions de 500 ms
for i in $(seq 10); do
  gpioset -c gpiochip0 PA6=1 --time 500ms
  sleep 0.5
done

# Écouter le bouton sur PL2 — attention : banque PL = gpiochip1 !
gpiomon --num-events 5 --rising-edge gpiochip1 PL2

Verificación esperada

El LED parpadea diez veces; gpiomon muestra un evento por pulsación (flanco de subida gracias a la resistencia pull-up interna o al cableado hacia GND); gpioinfo muestra la línea PA6 como «requested» durante la ejecución de gpioset. El LED rojo PWR (PL10) permanece encendido permanentemente, no es el LED de prueba.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales