Auteur Sujet: Un écran plus grand pour Labox  (Lu 1155 fois)

lebelge2

  • Jr. Member
  • **
  • Messages: 80
    • Voir le profil
Un écran plus grand pour Labox
« le: novembre 28, 2024, 03:39:47 pm »
Bonjour, Labox est dotée d'un écran OLED de 0,96 pouce.(SSD1306)

Je souhaite un écran plus grand, le OLED SH1106  1,3 pouce.
Son mode d’affichage est différent et nécessite une autre librairie.

Cependant, il est plus simple de modifier la librairie existante (Adafruit_SSD1306.cpp)

Modifications logicielles à effectuer dans la librairie Adafruit_SSD1306.cpp

-   Sur première ligne, écrire : #define SH1106
-   Dans la fonction : void Adafruit_SSD1306::display(void) ,  après la ligne :      uint8_t *ptr = buffer;
Insérer ce code :

#if defined (SH1106)
   for (int8_t i = 7; i >= 0; i--){
      ssd1306_command1(0xB0 + i);                           // Set row
      ssd1306_command1(0x02);                               // Set lower column address
      ssd1306_command1(SSD1306_SETHIGHCOLUMN);              // Set higher column address
     
      for (uint16_t j = SSD1306_LCDWIDTH; j > 0; j--){
        Wire.beginTransmission(i2caddr);
        WIRE_WRITE(0x40);
        for (uint8_t x=0; x<16; x++) {
          WIRE_WRITE(buffer[i * SSD1306_LCDWIDTH + SSD1306_LCDWIDTH - j]);
          j--;
        }
        j++;
        Wire.endTransmission();
      }
    }
  TRANSACTION_END
  return;
#endif

-     Reste à ajuster l’offset verticale.
      Dans : static const uint8_t PROGMEM init2[]    Changer valeur  0  (// no offset)   à 1

Modification matérielle.
D’origine, sur le SH1106, les Pins Gnd et Vcc sont inversées par rapport au SSD1306.
Il faut déplacer deux pontages au dos de l’afficheur pour que toutes les broches soient compatibles avec celles de Labox.


lebelge2

  • Jr. Member
  • **
  • Messages: 80
    • Voir le profil
Re : Un écran plus grand pour Labox
« Réponse #1 le: décembre 04, 2024, 06:49:15 pm »
Avec un écran encore plus grand, le SSD1309 de 2,42 pouces.

Il n’y a pas de librairie à modifier, simplement des contacts un peu plus longs pour surélever l‘écran car il déborde sur l’ESP32.