[Résolu]Problème afficheur 7 segments Telnet

Bonjours Tout le monde !

Je vous explique mon petit projet :

Je souhaite à l'aide d'une carte Arduino et du module ethernet, réaliser ceci :

En se connectant simplement en Telnet sur la carte arduino et en lui envoyant 2 chiffres, qu'elle les affiche sur des afficheurs 7 segments. Le montage est bon XD

Problème je n'arrive pas à récupérer ces chiffres ( à les obtenir dans leur variables respectives ) en y regardant de plus près avec Wireshark je m'aperçois que quand j'envoi par exemple 12 en Telnet : les données reçu par la carte sont " 12\r\n ". ( Est-ce que qu'il n'y a que le " n " de pris en compte ? )

j'utilise ce code pour récupérer mes données et quand j'appui sur entrer j'affiche " 10 " à chaque fois et quand je fais ctrl + c j'ai " 06 "

  EthernetClient client = server.available();
  if (client && client.connected()) {
   
    // si le client nous envoie quelque chose
    if (client.available() > 0) {
    
    nombre = char(client.read());
    
      if(nombre > 9){ // On actualise la dizaine et l'unité en fonction du nombre
      
        dizainee = nombre / 10;
      
      }
      else{
     
        dizainee = 0;
      
      }
    
      unitee = nombre - (dizainee * 10);
    
    }

Comment filtrer les données et les mettres dans mes variables ?

Merci d'avance :)

Dans ta liaison ce ne sont pas les nombres qui passent mais des caractères qui représentent ces nombres.
Les symboles \n\r sont générés lorsque tu fais <entrée> dans une fenêtre de terminal ou lorsque tu fais un println dans un logiciel.

Tout ça pour dire qu’à l’arrivée il faut faire un peu de tri dans les données reçues.
Le plus simple serait de placer les données reçues dans un tampon jusqu’à réception du \r là tu places un 0 dans le tableau comme terminateur de chaîne. Tu rejettes le caractère suivant (le \n) dont tu n’as pas besoin.
Ensuite tu passes le tampon en argument à la fonction atoi qui convertira la chaîne reçue en nombre.

Merci fdufnews de ta réponse.

Le seule problème justement c'est que j'arrive pas à créer se tampon, j'ai essayé de créer un tableau mais sans succès.

Et je ne comprends pas exactement comment la fonction read() marche quand elle reçoit les données : Elle reçoit caractère par caractère ou toute la trame d'un coup ?

Lorsqu'on se pose ce genre de question, il faut chercher dans les docs de référence http://arduino.cc/en/Reference/ClientRead La méthode read() retourne 1 caractère

J'ai réussi !!

Effectivement en fouillant dans les Docs ça aide :P J'ai même réussi à tout filtrer ( Trame de connection qui sert à rien ou si le client met trop de chiffre ). Mon truc sert pas à grand chose mais là je viens d'en apprendre largement plus au niveau programation en quelques heures.

Encore Merci fdufnews :D