clignotante.py

LattePanda Alpha · Archivo : clignotante.py · Lenguaje : Python · Uso : Faire clignoter une LED depuis Python (broche du MCU)

El patrón LattePanda: el script Python corre en el PC x86, la patilla física vive en el ATmega32U4, y PinPong tiende el puente en una línea. El mundo Arduino se vuelve librería del PC.

Hardware necesario

Una LattePanda Alpha (x86 Intel m3-7Y30, Windows 10 o Linux) con su coprocesador ATmega32U4 compatible Arduino Leonardo en los conectores de 50 pines. 1 LED + resistencia de 330 Ω en el conector de 50 pines (pin D13 del MCU).

Cableado

Ánodo en el pin D13 del conector (ver esquema), resistencia de 330 Ω, GND en un pin GND del mismo conector.

Funcionamiento

Board().begin() abre el puerto serie interno hacia el MCU; Pin(D13).write_digital maneja la patilla estilo Arduino. El firmware PinPong debe estar programado en el 32U4 (viene con la librería). El ATmega32U4 es un Leonardo auténtico: prográmelo como « Arduino Leonardo » en el IDE por su puerto COM interno. En el anfitrión, la librería Python lattepanda de DFRobot habla con él por serie.

Para ir más lejos

Modulead el periodo con un sensor, o manejad dos LED desde dos hilos 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")

← Volver a la ficha