bonjour,
déjà que vient faire cette ligne?
if (touche=='S'|| touche=='Q' || touche=='D'|| touche=='W')
le mieux serait d'utiliser switch case
ca te permettrait peut être de voir que ton
if (Serial.available() > 0) // On detecte un appui sur une touche
{
s'arrête avant
if (touche == 'S')
donc normal que tu ne sorte pas de ta boucle, vu que les autres possibilités ne sont pas reconnues.