clignotante.py

LattePanda 3 Delta (id : lattepanda-3) · Fichier : clignotante.py · Langage : Python · Usage : Faire clignoter une LED depuis Python (broche du MCU)

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 3 Delta (x86 Intel N5105, Windows 10/11 ou Ubuntu) avec son coprocesseur Arduino compatible (ATmega32U4) relié aux deux 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). Côté hôte : pip install pinpong puis python3. Côté MCU : l'ATmega32U4 apparaît comme un port COM — programmez-le avec l'Arduino IDE (carte « Arduino Leonardo »).

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")

← Retour à la fiche