Blog

Comunicazione seriale: come Arduino parla con un computer

Alessandro Panait·

La comunicazione seriale e' il modo piu' semplice per far scambiare dati a due dispositivi: inviare caratteri uno dopo l'altro su un solo filo, a una velocita' concordata (il baud rate, es. 115200).

Debug con la seriale

Il primo uso e' stampare. Quando il codice si comporta male, stampa cosa sta facendo:

void setup() { Serial.begin(115200); }
void loop() {
  int d = analogRead(A0);
  Serial.print("distanza: ");
  Serial.println(d);
  delay(100);
}

Apri il Serial Monitor e vedi i valori dal vivo. E' lo strumento di debug piu' utile su Arduino.

Schede che parlano con schede

In un robot vero, spesso una scheda legge i sensori e manda i valori a un computer piu' potente. Un approccio semplice e robusto e' un protocollo di testo: ogni riga e' un messaggio.

S1 340
S2 512
G1 12.4 3.1

Chi riceve legge una riga, la divide e sa esattamente cosa significa ogni numero. I protocolli di testo sono facili da debuggare perche' li leggi coi tuoi occhi.

Due regole che salvano ore

  1. Stesso baud rate ai due capi, o ottieni caratteri spazzatura.
  2. Gestisci le righe rotte. I dati seriali possono arrivare corrotti. Proteggi sempre il parsing, cosi' una riga malformata non manda in crash il programma.

La seriale e' vecchia, semplice e ovunque. Padroneggiala e colleghi quasi tutto a tutto.

Commenti (0)