Bonjour,
Il y a un mois de cela je me suis sur la programmation d'une carte arduino dans le but d'afficher une fréquence sur 5 digit 7 segments pour des récepteurs radios (voir présentation).
Je commence à y voir clair, mais je suis tombé sur un bout de code facilement compréhensible ( qui vient d' un autre site) mais qui ne fonctionne pas (test sur plusieurs pc).

Que j'écrive on ou off dans le moniteur , j'ai toujours la même réponse "commande inconnue".
Pourtant String msg contient bien les bons caractères...

J'ai remarqué que l'affichage dans la barre du moniteur série par ex "on "n'était pas exactement identique à l'écriture du "on" dans le code.
Est ce que cela pourrait être dû à un pb de casse.

Merci



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//Informations nécessaires pour la led :
#define LED 13
 
//Informations nécessaires pour la communication série :
String msg; //Variable contenant le message
 
void setup() {
  //Déclaration de la led en tant que sortie :
  pinMode(LED, OUTPUT);
 
  //Initialisation de la liaison Série :
  Serial.begin(9600);
}
 
void loop() {
  if (Serial.available() > 0) //Si un message a été reçu :
  {
 
  msg = Serial.readString(); //Lit le message reçu comme une suite de caractère
  Serial.print(msg); //Affiche le message dans l'interface Série
 
    if (msg == "on") //Test du message pour on
    {
      digitalWrite(LED, HIGH); //Allume la led
      Serial.println(" OK"); //Affiche OK sur l'interface Série afin de montrer que l'opération est terminée
    }
 
    else if (msg == "off") //Test du message pour off
    {
      digitalWrite(LED, LOW); //Éteint la led
      Serial.println(" OK"); //Affiche OK sur l'interface Série afin de montrer que l'opération est terminée
    }
    else //Si le message n'est ni on ni off = Sinon
    {
      Serial.println(" -> Commande inconnue");
    }
  }
}