Menu
CoddyTech

Lire un caractère série

Fait partie de la section Entrées du Journey Arduino de Coddy. Leçon 15 sur 22.

La connexion Serial fonctionne dans les deux sens. Le texte saisi dans la zone du moniteur Serial et envoyé avec Envoyer est transmis à la carte un caractère à la fois, puis attend dans un tampon jusqu’à ce que le sketch le lise.

Serial.available() indique combien de caractères sont en attente. Serial.read() retire le suivant du tampon. Un caractère tient dans une variable char, écrite entre apostrophes :

if (Serial.available() > 0) {
  char c = Serial.read();
  if (c == '1') {
    // 1 a été saisi
  }
}

'1' entre apostrophes est le caractère 1, la touche sur laquelle tu appuies. Ce n’est pas le nombre 1 : la carte stocke le caractère sous la forme du code 49.

Le moniteur Serial envoie également un caractère de nouvelle ligne invisible, écrit '\n', après tout ce que tu saisis. Un sketch agit sur les caractères qu’il connaît et ignore les autres.

challenge icon

Défi

Facile

La LED est sur la broche 13. Commande-la depuis le moniteur série :

  • lorsqu’un caractère est en attente, lis-le dans un char
  • '1' allume la LED, '0' l’éteint
  • tout autre caractère, comme le saut de ligne, ne change rien

Appuie sur Run, saisis 1 ou 0 dans le moniteur série et appuie sur Send, puis sur Check.

Essayez vous-même

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // lorsqu’un caractère est en attente, lisez-le
  // '1' allume la LED, '0' l’éteint
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Entrées

Entraînez-vous par vous-même : Playground Arduino