🛠 Premiers pas avec les GPIO sur LattePanda Mu Ultra
Objectifs
Ce tutoriel vise à vous familiariser avec les entrées-sorties numériques (GPIO) du module LattePanda Mu Ultra. Nous allons configurer une broche en sortie pour allumer une LED et une autre en entrée pour détecter l'appui sur un bouton. Bien que le Mu Ultra soit optimisé pour l'IA embarquée grâce à ses 115 TOPS, il reste un ordinateur x86 complet capable d'interagir avec le monde physique via sa carte porteuse Mini Carrier Board.
Matériel nécessaire
- Module LattePanda Mu Ultra (Core Ultra 5 ou 7)
- Carte porteuse Mini Carrier Board
- Alimentation USB-C adéquate
- 1 LED rouge et 1 résistance de 330 Ω
- 1 bouton poussoir
- Fils de connexion (jumpers)
- Ordinateur hôte pour l'accès SSH ou écran/clavier souris
Étapes
- Préparation du système : Assurez-vous que votre système Linux (Ubuntu 24.04+ recommandé) est à jour. Ouvrez un terminal et installez la bibliothèque
libgpiodqui facilite la gestion des GPIO sous Linux moderne.
sudo apt update
sudo apt install gpiod libgpiod2 python3-libgpiod
- Identification des broches : Consultez la documentation de la Mini Carrier Board pour identifier les broches GPIO disponibles. Supposons ici que la broche 17 soit la sortie (LED) et la broche 4 l'entrée (Bouton). Notez que les tensions GPIO sont généralement en 3.3V.
- Câblage : Connectez la patte longue (anode) de la LED à la broche 17 via la résistance. Reliez la patte courte (cathode) à la masse (GND). Pour le bouton, connectez une patte à la broche 4 et l'autre à la masse.
- Script de contrôle : Créez un fichier
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("Bouton appuyé !")
line_out.set_value(1)
else:
line_out.set_value(0)
time.sleep(0.1)
except KeyboardInterrupt:
line_out.release()
line_in.release()
- Exécution : Lancez le script avec les droits nécessaires.
sudo python3 test_gpio.py
Vérification
Appuyez sur le bouton poussoir. La LED devrait s'allumer immédiatement et le terminal doit afficher "Bouton appuyé !". Si rien ne se passe, vérifiez le câblage, la polarité de la LED et les numéros de broches dans la documentation de la carte porteuse.
Pour aller plus loin
Explorez les entrées analogiques si disponibles sur votre configuration, ou utilisez le GPU Intel Arc pour traiter les données des capteurs en temps réel, exploitant ainsi la puissance IA du Mu Ultra.
Autres tutoriels pour cette carte
- Premier démarrage du LattePanda Mu Ultra
- Interfacer GPIO et Capteurs avec LattePanda Mu Ultra
- Mise en route avancée du LattePanda Mu Ultra
- Maîtriser les E/S et l'IA embarquée sur LattePanda Mu Ultra
- Déploiement d'une inférence IA locale avec stockage NVMe haute performance
- Vérifier la détection du GPU Intel Arc sous Linux
Exemples de code pour cette carte
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