Bonjour à tous,
C'est l'hiver et quoi de mieux que de s'essayer à la manipulation d'écran OLED pour un petit projet perso...
Je ne me démonte pas, je commande des tous petits OLED sur AE, munis d'une puce SSD1306, car elle me semblait assez répandu.
J'utilise la bibliothèque recommandée, et j'arrive à faire des trucs avec l'écran, mais, il y a un mais.
L'affichage est complétement fucked.
En dépit d'une initialisation "setCursor" à 0, mon texte est à cheval sur les bordures de l'écran. Si je change les valeurs de "setCursor", le texte bouge, mais rien ne semble logique.
En plus de ça, invariablement à ce que je fais j'ai un champs de pixels randoms sur la droite de l'écran (environ 40% de la surface) à vue de pif, qui ne disparait que pendant le "oled.clearDisplay".
Alors mon idée fut de dessiner uniquement 4 pixels, aux 4 coins de l'écran.
Seuls 2 apparaissent, et pas du tout à la bonne place.
Vous allez me dire que c'est un problème de résolution, je ne pense pas, car en changeant la résolution déclarée de quelques pixels (en plus ou en moins), l'écran ne réagit plus du tout ; il réagit uniquement quand la "bonne" résolution est déclarée (72x40).
PS: j'ai 4 écrans, les 4 réagissent pareil.
Voici mon code de test :
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 oled(72,40,&Wire,-1);
void setup()
{
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
oled.clearDisplay(); // clear display
oled.display();
delay(3000);
}
void loop()
{
oled.setCursor(0,0);
oled.drawPixel(1,1, WHITE);
oled.drawPixel(1,71, WHITE);
oled.drawPixel(39,1, WHITE);
oled.drawPixel(39,71, WHITE);
oled.display();
}
Merci aux âmes charitables qui pourraient m'expliquer où je me suis viandé.