Envoie donnée par port série

Bonjour, Hier j'ai reçu mon premier arduino uno. Donc pour comprendre un peu le langage de programmation, et le fonctionnement, je me suis crée des exercices. J'en suis au 6ème, qui est lié au précédents. Je veux envoyer un chiffre compris entre 0 et 7 pour après l'afficher sur 3 leds en binaire. J'ai déjà réussi à faire le compteur en binaire. Mais par exemple quand j'envoie le chiffre 3, l'arduino me renvoi 51. Comme il y avait un problème, j'ai essayer de faire un programme très simple pour comprendre l'erreur

int a;

void setup()
{
Serial.begin(9600);
}

void loop()
{
a=Serial.read();
Serial.println(a);
delay(5000);
}

Voila c'est très basique mais la valeur que je donne dans a, n'est pas identique lorsque je l'affiche. J'ai aussi compris qu'il fallait que a soit un char. Mais par rapport à mon compteur 3 leds, il me faut un entier... Merci d'avance pour vos réponse.

Bonjour,

Avec ton terminal tu envoie '3', c'est à dire le caractère '3' en ASCII, qui correspond en décimal à 51.

Pour convertir en nombre tu peux utiliser la fonction atoi ou simplement si tu as un seul chiffre soustraire le code ASCII de zéro.

a=a-'0';

Merci beaucoup pour ta réponse.