🛠 Primeros pasos con GPIO en LattePanda Mu Ultra
Objetivos
Este tutorial tiene como objetivo familiarizarse con las interfaces de Entrada/Salida de Propósito General (GPIO) digitales del módulo LattePanda Mu Ultra. Configuraremos un pin como salida para encender un LED y otro como entrada para detectar la pulsación de un botón. Aunque el Mu Ultra está optimizado para IA embebida con sus 115 TOPS, sigue siendo una computadora x86 completa capaz de interactuar con el mundo físico a través de su Mini Carrier Board.
Materiales Necesarios
- Módulo LattePanda Mu Ultra (Core Ultra 5 o 7)
- Mini Carrier Board
- Fuente de alimentación USB-C adecuada
- 1 LED rojo y 1 resistencia de 330 Ω
- 1 botón pulsador
- Cables de conexión (jumpers)
- Computadora host para acceso SSH o Monitor/Teclado/Ratón
Pasos
- Preparación del sistema: Asegúrese de que su sistema Linux (Ubuntu 24.04+ recomendado) esté actualizado. Abra una terminal e instale la biblioteca
libgpiod, que facilita la gestión de GPIO en Linux moderno.
sudo apt update
sudo apt install gpiod libgpiod2 python3-libgpiod
- Identificación de pines: Consulte la documentación de la Mini Carrier Board para identificar los pines GPIO disponibles. Aquí asumimos que el pin 17 es la salida (LED) y el pin 4 es la entrada (Botón). Tenga en cuenta que los voltajes GPIO son típicamente de 3.3V.
- Cableado: Conecte la pata larga (ánodo) del LED al pin 17 a través de la resistencia. Conecte la pata corta (cátodo) a Tierra (GND). Para el botón, conecte una pata al pin 4 y la otra a Tierra.
- Script de control: Cree un archivo llamado
test_gpio.py.
import gpiod
import time
chip = gpiod.Chip('gpiochip0')
line_out = chip.get_line(17)
line_out.request(consumer='led', type=gpiod.LINE_REQ_DIR_OUT)
line_in = chip.get_line(4)
line_in.request(consumer='btn', type=gpiod.LINE_REQ_DIR_IN, flags=gpiod.LINE_REQ_FLAG_BIAS_PULL_UP)
try:
while True:
if line_in.get_value() == 0:
print("¡Botón presionado!")
line_out.set_value(1)
else:
line_out.set_value(0)
time.sleep(0.1)
except KeyboardInterrupt:
line_out.release()
line_in.release()
- Ejecución: Ejecute el script con los permisos necesarios.
sudo python3 test_gpio.py
Verificación
Presione el botón pulsador. El LED debería encenderse inmediatamente y la terminal debería mostrar "¡Botón presionado!". Si no sucede nada, verifique el cableado, la polaridad del LED y los números de pines en la documentación de la placa portadora.
Para ir más allá
Explore las entradas analógicas si están disponibles en su configuración, o use la GPU Intel Arc para procesar datos de sensores en tiempo real, aprovechando la potencia de IA del Mu Ultra.
Otros tutoriales para esta placa
- Primer arranque del LattePanda Mu Ultra
- Interfaz GPIO y Sensores con LattePanda Mu Ultra
- Arranque avanzada del LattePanda Mu Ultra
- Dominar E/S e IA embebida en LattePanda Mu Ultra
- Despliegue de inferencia IA local con almacenamiento NVMe de alto rendimiento
- Verificar la detección de la GPU Intel Arc en Linux
Ejemplos de código para esta placa
lp-mu-gpio-gpiod.shbashlp-mu-i2c-sensor.pypythonlp-mu-nvme-benchmark.shbashlp-mu-opencv-gpu.pypythonlp-mu-ethernet-monitor.pypythonlattepanda-mu-ultra-npu-inference-onnx-6.inopython