🛠 Dominar los GPIO en Banana Pi BPI-CM5

Banana Pi BPI-CM5: Módulo de cómputo SoC Amlogic A311D2 compatible con Raspberry Pi CM4 · debutant · Apprenez à contrôler les broches GPIO de votre BPI-CM5 pour allumer une LED et lire un bouton, une première étape essentielle pour l'interaction physique.

Objetivos

Este tutorial le guía en la manipulación de los pines de Entrada/Salida de Propósito General (GPIO) de su Banana Pi BPI-CM5. Aunque es compacto (55x40 mm), el módulo ofrece una flexibilidad notable gracias a sus conectores Board-to-Board compatibles con Raspberry Pi CM4. Configuraremos una salida para encender un LED y una entrada para detectar la pulsación de un botón. Esta práctica es fundamental para entender cómo su sistema Linux (Ubuntu, Debian o Armbian) interactúa con el mundo físico a través del SoC Amlogic A311D2.

Materiales Necesarios

Pasos

  1. Preparación del Sistema: Conéctese por SSH o puerto serie. Asegúrese de que el sistema esté actualizado con sudo apt update && sudo apt upgrade. Instale herramientas de control GPIO si es necesario. Aunque python3-rpi.gpio es común para Pi, las herramientas libgpiod suelen ser mejores para arquitecturas Amlogic. Verifique la disponibilidad con sudo apt install python3-gpiod o use sysfs directamente.
  1. Identificación de Pines: Consulte la documentación de su placa base. Los conectores B2B exponen pines según el estándar Raspberry Pi. Identifique un pin con capacidad GPIO (ej. GPIO17) para salida y otro (ej. GPIO27) para entrada.
  1. Cableado del LED (Salida):
  1. Cableado del Botón (Entrada):

``bash # Exportar pin 17 (la numeración BCM puede variar, verifique con gpioinfo) echo 17 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio17/direction echo 1 > /sys/class/gpio/gpio17/value # Encender LED sleep 2 echo 0 > /sys/class/gpio/gpio17/value # Apagar LED ``

  1. Prueba en Línea de Comandos (Sysfs): Pruebe rápidamente sin programación compleja usando el directorio sysfs.

``bash echo 27 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio27/direction # Verifique el estado (0 si se presiona debido al pull-up, 1 en caso contrario) cat /sys/class/gpio/gpio27/value ``

  1. Lectura de Entrada: Configure el pin 27 como entrada con pull-up.

Verificación

Debe observar que el LED se enciende y apaga según los comandos enviados. Mientras mantiene presionado el botón, el comando cat en el pin de entrada debe devolver 0. Si no sucede nada, verifique las conexiones físicas y asegúrese de tener derechos de root (sudo) para acceder a los archivos sysfs.

Para Ir Más Allá

Una vez dominadas las bases, explore bibliotecas de Python como libgpiod para una gestión robusta de interrupciones (detección de pulsación sin bucles de espera). También puede integrar estas E/S en aplicaciones que utilicen interfaces avanzadas del BPI-CM5, como la captura de video a través de los puertos MIPI-CSI o la visualización en múltiples salidas HDMI.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales