Leggere un carattere seriale
Fa parte della sezione Ingressi del percorso Arduino di Coddy. Lezione 15 di 22.
La connessione Serial funziona in entrambe le direzioni. Il testo digitato nel riquadro del monitor Serial e inviato con Invia raggiunge la scheda un carattere alla volta e vi rimane in un buffer finché lo sketch non lo legge.
Serial.available() indica quanti caratteri sono in attesa. Serial.read() estrae il successivo dal buffer. Un carattere entra in una variabile char, scritta tra apici singoli:
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1') {
// È stato digitato 1
}
}'1' tra apici singoli è il carattere 1, il tasto che premi. Non è il numero 1: la scheda memorizza il carattere come codice 49.
Il monitor Serial invia anche un carattere di nuova riga invisibile, scritto '\n', dopo tutto ciò che digiti. Uno sketch agisce sui caratteri che conosce e ignora gli altri.
Sfida
FacileIl LED è sul pin 13. Attivalo o disattivalo dal monitor seriale:
- quando c'è un carattere in attesa, leggilo in una
char '1'accende il LED,'0'lo spegne- qualsiasi altro carattere, come il carattere di nuova riga, non cambia nulla
Premi Esegui, digita 1 o 0 nel monitor seriale e premi Invia, poi Verifica.
Provalo tu
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// quando è disponibile un carattere, leggilo
// '1' accende il LED, '0' lo spegne
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Ingressi
3Input seriale
Leggere un carattere serialeComandi a paroleVelocità di lampeggio da serialeLampeggiare su comandoEsercitati da solo: Playground Arduino