Votre meilleur code ne fait pas clignoter la LED.
Celui que je vous ai suggéré fait les trois fonctions. Le voici :
int b = 13;
String chaine = ""; // création d'un String vide
void setup() {
pinMode(13, OUTPUT); // MOC3041 negatif
digitalWrite(b, LOW);
Serial.begin(9600); //débute la communication avec le moniteur série
Serial.setTimeout(50); // Pou diminuer le temps de prise en compte de la chaîne venant du moniteur série : non indispensable
Serial.println("*********\nListe des ordres\n*********");
}
void loop() {
if (Serial.available()) { //teste s'il y a une saisie en attente
chaine = Serial.readString();
}
//test de la saisie
if (chaine == "1") {
Serial.println("Marche");
digitalWrite(b, HIGH);
}
if (chaine == "2") {
Serial.println("Arrêt");
digitalWrite(b, LOW);
}
if (chaine == "3") {
Serial.println("Clignote");
digitalWrite(b, LOW);
delay(200);
digitalWrite(b, HIGH);
delay(200);
}
}
Mais ce code est perfectible en remplaçant les delay() par des millis() ...
Cordialement.
Pierre