Arduino Uno - Afficheur oled i2C - capteur de couleurs TCS3200

Bonjour, pour un projet de BTS, nous devons réaliser la programmation d’un afficheur associé au capteur au travers du module Arduino Uno
En sois, mon programme fonctionne, il dispose d’un affichage d’accueil (ICP) de 4 secondes, puis d’un second affichage avec toujours la mention ICP + le nom de la couleur visée avec le capteur. Sur ce second affichage, je voudrais ajouter le niveau de batterie (pour le moment, on se limite à l’affichage d’un rectangle vide avec 1, 2 ou 3 rectangles pleins dedans, on fera le reste plus tard). Or, je n’arrive pas à comprendre, malgré plusieurs essais, où je dois placer le texte suivant (donc l’appel de la fonction “dessiner les rectangles” ainsi que la fonction "effacer et initialiser l’affichage), sans que mon second affichage ne clignote constamment:

testdrawrect(); // Dessin rectangle “niveau batterie” (contour)
display.display();
testfillrect3(); // Dessin rectangle “niveau batterie” (remplissage)
display.display();

Ainsi que la commande: display.clearDisplay();

En somme, comment nettoyer la zone où se trouve le nom de la couleur, sans affecter l’affichage du niveau de batterie?

Je vous souhaite à tous une bonne et heureuse année 2020!

En vous remerciant de vos retours!

Roxi

Programmation_ICP.ino (7.43 KB)

J’ai fait ça ici : afficheur-oled-ssd1306-comparons

Regarde la fonction void displayBatteryLevel(int batteryLevel, int x, int y)

Il y une version pour la librairie AdaFruit et une pour la librairie GreinMan.

La version AdaFruit affiche le niveau batterie avec display.drawRect() + display.fillRect()
La version GreiMan utilise une police de caractères spéciale.

Lis l’article pour plus de précisions.

Wow! merci pour cet énorme coup de pouce, ça me sera vraiment très utile! Greiman est vraiment ce qui manquait à mon programme!
Débutant pleinement sur arduino (à peine quelques heures de recherches et pleins d’exemples découpé pour trouver ce qu’il me fallait), les ressources sont tellement vaste que je n’avais aucune idée de par où commencer pour chercher et appliquer tout cela!

Encore merci beaucoup!