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.
Défi
FacileLa 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
}
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