Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Il 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
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Ingressi

Esercitati da solo: Playground Arduino