🛠 Faire clignoter une LED via le MCU Arduino embarqué
Objectifs
Découvrir la particularité de la LattePanda 3 Delta : c'est un PC x86 (Intel Celeron N5105) et une carte Arduino sur le même circuit. Le coprocesseur embarqué est un Microchip ATmega32U4-MU, compatible Arduino Leonardo, avec son propre bouton reset. Dans ce tutoriel, on pilote une LED depuis le processeur x86 en Python grâce à la bibliothèque officielle DFRobot pinpong, qui parle le protocole Firmata au microcontrôleur via son port série virtuel. C'est le tutoriel Blink officiel, adapté pas à pas.
Matériel
- LattePanda 3 Delta alimentée par une source conforme : 11–15 V et au moins 24 W (USB-C PD 15 V/3 A ou 12 V/3 A recommandés, ou prise JST PH2.0 12 V ≥ 2 A). Un adaptateur USB-C non-PD ou sous 24 W est un mode de défaillance documenté.
- 1 LED (module Gravity ou LED classique + résistance 220 Ω)
- 3 câbles Dupont (femelle-femelle pour l'en-tête à broches femelles de la carte)
- Système d'exploitation : Windows 10/11 ou Ubuntu 22.04 (guide officiel)
Code complet
Installation de la bibliothèque (Windows ou Linux) :
pip install pinpong
Programme Python (blink.py) — câblage : signal LED → D13, V+ → 5V, GND → GND :
import time
from pinpong.board import Board, Pin
# Initialisation du ATmega32U4 embarqué (classe Leonardo).
# Windows : COMx affiché dans le Gestionnaire de périphériques ;
# Linux : /dev/ttyACM0
Board("leonardo", "COM5").begin
led = Pin(Pin.D13, Pin.OUT) # D13 en sortie numérique
while True:
led.write_digital(1) # LED allumée
print("1")
time.sleep(1)
led.write_digital(0) # LED éteinte
print("0")
time.sleep(1)
Sous Linux, remplacez "COM5" par "/dev/ttyACM0" et lancez avec python3 blink.py.
Vérification attendue
La LED clignote une seconde allumée / une seconde éteinte, et le terminal affiche en alternance 1 et 0. Sur Windows, le port COM du Leonardo (périphérique « Arduino Leonardo ») doit apparaître dans le Gestionnaire de périphériques ; sous Linux, ls /dev/ttyACM* doit lister ttyACM0.
Erreurs fréquentes
- Mauvais port COM : c'est le port du microcontrôleur Leonardo, pas un port USB externe. Vérifiez dans le Gestionnaire de périphériques ou
dmesg | grep ttysous Linux. - Mauvais numéro de broche : l'en-tête Arduino de la 3 Delta expose 24 E/S numériques (D0–D23) ; seule D13 est utilisée ici. Ne pas confondre avec les deux blocs de 50 broches qui contiennent aussi RS232, USB 2.0, etc.
- Alimentation trop faible : un chargeur téléphone USB-C non-PD fait planter la carte avant même le test.
- Niveau logique : les tutoriels officiels pilotent la LED depuis 5 V ; le niveau logique exact par broche (3,3 V/5 V) n'est pas précisé dans les pages de spécifications consultées. >
pipinstalle pour Python 2 : utiliserpip3/python3sous Linux.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton.pyPythonservo.pyPythonanalogique.pyPythonrespiration.pyPythonneopixel.pyPython