problem de communication Serie !!!!!

salut j'ai une probleme avec ce code l'orsque je simule avec l'isis et envoyer le nombre 11 et 21 je peux pas commander le LED malgré 11 et 21 sont deux entier svp aide moi
int ledPin = 13; // the number of the LED pin

void setup() {
Serial.begin(9600); // set serial speed
pinMode(ledPin, OUTPUT); // set LED as output
digitalWrite(ledPin, LOW); //turn off LED
}

void loop(){
while (Serial.available() == 0); // do nothing if nothing sent
int val = Serial.read() - '0'; // deduct ascii value of '0' to find numeric value of sent number

if (val == 11) { // test for command 1 then turn on LED
Serial.println("LED on");
digitalWrite(ledPin, HIGH); // turn on LED
}
else if (val == 21) // test for command 0 then turn off LED
{
Serial.println("LED OFF");
digitalWrite(ledPin, LOW); // turn off LED
}
else // if not one of above command, do nothing
{
//val = val;
}
Serial.println(val);
Serial.flush(); // clear serial port
}

//------------- END OF ARDUINO SKETCH ----------------- :0

Et quézaquo ?

Serial.println(val);
Serial.flush(); // clear serial port

Tu envoi au sérial et tu fais un "clear" juste derrière ? Tu a le temps de lire entre le print et le clear ?

@carolyne:
tiens pour ta culture personnelle : Serial.flush() - Arduino Reference

@sandero

l'orsque je simule avec l'isis  et envoyer le nombre 11 et 21

Pas super clair !!
C'est quoi l'isis?
Comment tu envoies 11 et 21 sous quelle forme?

Autrement, il faut placer le code que tu mets dans tes messages entre des balises code ce qui met le code en évidence. Tu peux faire générer ces balises automatiquement en utilisant la touche # qui se trouve juste au-dessus de la fenêtre d'édition lorsque tu tapes ton message.
Tu peux re-éditer ton message pour corriger cela.

Bonjour,

"Isis" ? Tu veut parler du simulateur de circuits fourni avec la suite d'outils de Proteus ?
Si oui ce serait bien de le préciser dès le départ ...

Bon sinon ton problème vient du fait que tu ne fait pas la différence entre ASCII et binaire.
Enfin si, tu l'as fait, mais uniquement sur un caractère, donc de 0 à 9 ici.

Indice : envoi le caractère ';' (point virgule) ça devrait allumer ta led ('E' pour l’éteindre).
Autre indice : Serial.parseInt()