Comunicazione seriale: come Arduino parla con un computer
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
- Stesso baud rate ai due capi, o ottieni caratteri spazzatura.
- 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.