La scheda e il terminale probabilmente non utilizzano lo stesso baud rate. Controlla l'angolo in basso a destra del terminale seriale Arduino e assicurati che sia impostato su 9600.
Dati seriali
La comunicazione seriale funziona inviando l'intero flusso di dati un bit alla volta. Ciò è in contrasto con la porta parallela standard che invia un byte alla volta. Entrambi i dispositivi devono sapere a quale velocità vengono inviati i dati. Inoltre, entrambi i dispositivi devono funzionare alla stessa velocità. Questo è chiamato baud rate.
Baud Rate
Baud significa davvero solo impulsi al secondo. Nel contesto della comunicazione seriale, significa quanti bit vengono trasmessi al secondo. Uno dei valori più comuni è 9600, ma ce ne sono altri comuni che sono fattori o multipli di 9600. Tuttavia, non importa, a condizione che entrambi i dispositivi funzionino alla stessa velocità.
Se ti invio messaggi più velocemente di quanto tu li riceva, perdi dati. Se ti invio messaggi più lentamente di quanto tu li stia ricevendo, le sciocchezze si mescolano a ciò che ti ho inviato.
Bit di dati, parità, stop
Se guardi la documentazione per begin()
, vedrai che può prendere due parametri:
Serial.begin(speed)
Serial.begin(speed, config)
Spero che tu capisca la velocità ora, sono i bit al secondo a cui Arduino comunicherà.
Il secondo parametro, config
consente di configurare alcune altre cose sulla trasmissione seriale dei dati. Questi sono i bit Data, Parity e Stop. Vedrai sulla pagina che ha valori come 5N1
, 6N1
eSERIAL_8N1 (the default)
Il primo numero rappresenta quanti bit di dati. Il secondo personaggio ti dice che tipo di parità c'è. E
per parità pari, O
per parità dispari o N
per nessuna parità. Il terzo numero indica quanti bit di stop.
Quindi, davvero, con 8N1, abbiamo 10 bit inviati per ogni 8 bit di "tuoi" dati. 1 bit di avvio, 8 bit di dati e 1 bit di arresto.
Ad ogni modo, entrambe le parti devono concordare su queste informazioni e sulla velocità. Il terminale seriale Arduino non ti dà la possibilità di modificare queste impostazioni, ma altri lo fanno, quindi dovrai assicurarti che tutte queste impostazioni di configurazione siano le stesse.
Maggiori informazioni sul wiki: comunicazione seriale asincrona