Bonjour à tous.
Je rencontre un problème dont je pense avoir compris la source mais je ne vois pas comment le résoudre ou du moins je ne vois pas qu'elle fonction ou commande utiliser.
L'idée c'est d'afficher sur un écran OLED la valeur numérique que prend une variable de type "int" que l'on nommera B.
Voici un court extrait de mon code actuel :
{B ++;}; // Ajoute 1 à la valeur de B
Serial.println (B); // Affiche la nouvelle valeur de B sur le moniteur série
u8g.setFont(u8g_font_6x10); // Fonction de la librairie U8Glig qui "pilote" l'écran OLED
u8g.setFontPosTop();
u8g.drawStr(40, 114, B); // Fonction de la librairie U8Glig qui positionne en X et Y le texte à // afficher et indique ce qui doit être affiché en troisième argument.
Si je supprime la partie relative à l'affichage sur le OLED, la valeur de B ( 1 , 2 , 3...) s'affiche bien dans le moniteur série (normal).
Le caractère "B" contenu dans la ligne u8g.drawStr(40, 114, B); porte à confusion pour la bibliothèque u8glib. Si je le met entre guillemets, l'écran Oled va simplement afficher B et non sa valeur ( normal à nouveau).
Si je ne met pas les guillemets la compilation n'est pas possible car le code est ambigu.
Je pense que la bibliothèque u8glib ( ou le compilateur ) , ne peut tout simplement pas afficher la "valeur" associée à la variable B. De son point de vue il ne doit s'agir que d'un élément de type "Char" ou "String" (Normal avec une fonction drawStr . Enfin, c'est mon analyse...)
Voici donc enfin ma question !
Comment faire pour convertir ce "B" en sa valeur numérique, de sorte à l'intégrer dans l'affichage ?
J’espère avoir exposé de façon explicite et surtout intelligible la problématique.
Je vous remercie par avance pour votre aide.