lundi 2 août 2021

Ecran OLED SSD1351

 

Ecran OLED SSD1351

 

Je me suis laissé tenter par un écran OLED SSD1351. Ces modules deviennent relativement abordables (environ 10€ chez WorldChips).

Les écrans SSD1306 existent en version couleur (blanc, bleu, bleu avec les premières lignes jaunes) mais cela reste de l'affichage monochrome :

Ce SSD1351 est un vrai écran 65536 couleurs, 128x128, 16 bits.

1. Le côté matériel

Ce module est équipé de trous de fixation.

Si j'avais une critique à formuler, je dirais que le choix du câble livré n'est pas des plus heureux : JST XH 7 broches d'un coté, DUPONT femelle de l'autre. Pour une application sérieuse il faudrait envisager de remplacer les connecteurs DUPONT par un deuxième JST XH.

2. Le côté logiciel

Contrairement aux écrans I2C SSD1306, cet écran se pilote par le bus SPI, plus rapide.

Une librairie existe : Adafruit SSD1351, installable depuis l'IDE ARDUINO.

Deux types de branchement sont possibles :

  • SPI logiciel : on a le libre choix des sorties utilisées
  • SPI hardware (plus rapide) :
    • DIN (MOSI) : 11
    • CLK : 13

Après avoir installé la librairie on peut charger l'exemple test.ino. On a le choix entre deux constructeurs :

// Option 1: use any pins but a little slower
//Adafruit_SSD1351 tft = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT, CS_PIN, DC_PIN, MOSI_PIN, SCLK_PIN, RST_PIN);  

// Option 2: must use the hardware SPI pins
// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be
// an output. This is much faster - also required if you want
// to use the microSD card (see the image drawing example)
Adafruit_SSD1351 tft = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT, &SPI, CS_PIN, DC_PIN, RST_PIN);

Pour ma part j'ai choisi la deuxième version (CLK sur 13, DIN sur 11), plus rapide, en conservant les définitions des broches du sketch (CS_PIN = 5, DC_PIN = 4, RST_PIN = 6)

Après chargement, différents tests en mode texte et graphique se déroulent.

Avec la plus petite police utilisée cet écran est capable d'afficher 16 lignes de 21 caractères.

Une dernière chose (compilé pour l'ARDUINO UNO) :

Le croquis utilise 18624 octets (64%) de l'espace de stockage de programmes. Le maximum est de 28672 octets.
Les variables globales utilisent 726 octets (28%) de mémoire dynamique, ce qui laisse 1834 octets pour les variables locales. Le maximum est de 2560 octets.

D'un point de vue mémoire FLASH ou RAM, la librairie est assez gourmande, ce qui peut être gênant. Il n'est pas interdit d'avoir recours à un ESP8266 ou ESP32 si le logiciel se trouve à l'étroit.

3. Photos



4. Conclusion

Ces écrans permettent d'imaginer des interfaces graphiques plus cossues que leurs homologues SSD1306 128x32 et 128x64, et ceci en couleurs !


Cordialement

Henri


Aucun commentaire:

Enregistrer un commentaire