Menu
CoddyTech

Commandes par mots

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

Un caractère par commande, ça devient vite insuffisant. Les mots sont plus clairs : on, off. Un mot comporte plusieurs caractères, il faut donc lire toute la ligne d’un coup. Un morceau de texte est une String, et Serial.readStringUntil() lit les caractères jusqu’à rencontrer celui que vous lui indiquez, le caractère de nouvelle ligne, qu’elle élimine :

if (Serial.available() > 0) {
  String command = Serial.readStringUntil('\n');
  if (command == "on") {
    // ...
  }
}
"on" ; un seul caractère, entre guillemets simples, 'o'.

Pour choisir parmi plusieurs commandes, enchaînez les tests avec else if. La carte les vérifie dans l’ordre et n’exécute que la première qui est vraie ; le dernier else intercepte tous les autres cas :

if (command == "on") {
  // ...
} else if (command == "off") {
  // ...
} else {
  Serial.println("Unknown command");
}
challenge icon

Défi

Facile

La LED est connectée à la broche 13. Contrôle-la avec des mots saisis dans le moniteur série :

  • lis une ligne entière dans une String
  • on allume la LED, off l’éteint
  • tout autre mot affiche Unknown command

Appuie sur Run, envoie on, off ou un mot de ton choix depuis le moniteur série, puis Check.

Essayez vous-même

const int ledPin = 13;

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

void loop() {
  if (Serial.available() > 0) {
    // lire la ligne, puis réagir à "on", "off" ou à toute autre valeur
  }
}
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