clignotante.py
Le pattern LattePanda : le script Python tourne sur le PC x86, la broche physique est sur l'ATmega32U4, et PinPong fait le pont en une ligne. Le monde Arduino devient une bibliothèque du PC.
Matériel requis
Une LattePanda Alpha (x86 Intel m3-7Y30, Windows 10 ou Linux) avec son coprocesseur ATmega32U4 compatible Arduino Leonardo sur les connecteurs 50 broches. 1 LED + résistance 330 Ω sur le connecteur 50 broches (broche D13 du MCU).
Branchement
Anode sur la broche D13 du connecteur (repérée sur le schéma), résistance 330 Ω, GND sur une broche GND du même connecteur.
Fonctionnement
Board().begin() ouvre le port série interne vers le MCU ; Pin(D13).write_digital pilote la broche comme en Arduino. Le firmware PinPong doit être téléversé sur le 32U4 (fourni avec la bibliothèque). L'ATmega32U4 est un vrai Leonardo : brochez-le en « Arduino Leonardo » dans l'IDE via son port COM interne. Côté hôte, la bibliothèque DFRobot lattepanda (Python) dialogue avec lui par série.
Pour aller plus loin
Modulez la période avec un capteur, ou pilotez deux LED depuis deux threads Python.
clignotante.py
#!/usr/bin/env python3
# Clignotement LED via PinPong : Python cote hote, GPIO sur l'ATmega32U4.
# Installation : pip install pinpong
from pinpong.board import Board, Pin
from pinpong.extension.unipiot import * # chargement standard
import time
Board().begin() # detecte le MCU (port serie interne)
led = Pin(Pin.D13, Pin.OUT)
print("Clignotement D13 (Ctrl-C pour arreter)")
try:
while True:
led.write_digital(1)
print("ON")
time.sleep(1)
led.write_digital(0)
print("OFF")
time.sleep(1)
except KeyboardInterrupt:
led.write_digital(0)
print("Arret propre")