🛠 Pont série SoC ↔ MCU : le tunnel x86 vers ATmega32U4

LattePanda Alpha · intermediaire · Schéma : IMG-lattepanda-alpha-intermediaire-1-pont-serie-soc-mcu.svg — tunnel série USB interne reliant le script Python du SoC x86 au sketch Arduino de l ATmega32U4

Objetivos

Implementar el motivo central de la LattePanda Alpha: el puente serie entre el PC x86 (Core m3-7Y30) y su propio coprocesador ATmega32U4, conectados mediante un USB interno invisible desde el exterior. El MCU emite tramas de medición en Serial, y un script Python en el host las lee línea por línea. Es exactamente el esquema del tutorial oficial «python_arduino_bridge» de DFRobot, sin Firmata.

Material

Código completo

Lado del firmware (IDE de Arduino, tarjeta «Arduino Leonardo»):

// stream_analog.ino — envoie A0 au PC hôte à 10 Hz
void setup { Serial.begin(9600); }
void loop {
  Serial.println(analogRead(A0));   // valeur ADC 10 bits : 0..1023
  delay(100);
}

Lado del host (en la propia Alpha, Windows o cualquier distribución Linux):

# host_reader.py — pas besoin de Firmata, tramage série simple
import serial  # pip install pyserial

# Windows : 'COM5'  |  Linux : '/dev/ttyACM0' (utilisateur dans le groupe 'dialout')
with serial.Serial('COM5', 9600, timeout=1) as ser:
    for line in ser:
        try:
            raw = int(line.strip)
            print(f'ADC={raw}  ({raw * 5.0 / 1023:.2f} V en supposant une référence 5 V)')
        except ValueError:
            pass  # ignorer les lignes partielles au démarrage

Verificación esperada

La terminal del host muestra aproximadamente 10 líneas por segundo: ADC=0 (0.00 V) en reposo, y valores que suben hacia 1023 si se cablea un potenciómetro en A0. Ctrl+C detiene el script sin tocar el firmware, que continúa emitiendo de forma autónoma.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales