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") {
// ...
}
}'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");
}Défi
FacileLa 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 onallume la LED,offl’é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
}
}
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
3Entrée série
Lire un caractère sérieCommandes par motsVitesse de clignotement depuis le port sérieClignoter sur commandeEntraînez-vous par vous-même : Playground Arduino