C'est pourtant du texte tout simple, sans accent. Par exemple "?" ou bien "iti".
Faut-il que je lui envoie en UTF-8 aussi? Comment? Les CR / LF à la fin aussi en UTF-8?
Comme je l'ai expliqué dans l'article sur les chaines de caractères, les processeurs et donc les liaisons série ne savent pas ce qui transite sur leurs fils. Ils voient passer des bits, et donc des octets, rien d'autre. C'est celui qui écrit sur le bus, et celui qui lit qui interprètent. Le fait qu'il y ait des accents ou de la ponctuation n'intervient pas...
Comme la liaison série ne sait pas ce qu'elle transporte, il est tout à fait possible d'y passer des caractères accentués par exemple en utilisant une table ASCII étendu de code 850 qui regroupe presque la totalité des caractères francophones. En pratique, cela signifie envoyer un octet de valeur 130 pour un 'é', recevoir ce même 130 de l'autre côté et l'interpréter comme un 'é' ! Sur un clavier Windows Français, dans n'importe quelle application acceptant du texte, vous pouvez d'ailleurs presser la touche Alt et taper 130 sur le clavier numérique. Vous verrez apparaître ce fameux 'é'.
Tout ça pour dire que peu importe ce qui passe pour une liaison série, le moniteur de Arduino IDE devrait au moins afficher des caractères cabalistiques si quelque chose passait... Ce qui me fait penser que le problème vient plus certainement du protocole, voire de la liaison physique. Même si la vitesse est mauvaise, même si les paramètres de transmission ne sont pas bons, des 'trucs' devraient quand même passer. Attention aussi à l'usage de Serail.print() qui doit être suivi par un Serial.println() sinon rien ne sera affiché sur le moniteur !