Les écrans OLED
Sommaire du chapitre
Les écrans OLED
Les caractéristiques
Les écrans OLED sont des afficheurs graphiques compacts avec une résolution de 128×64 pixels ou 64x32 pixels.Leur résolution plus élevée que des écrans LCD permet d’afficher du texte, des images, et des figures graphiques. Ces écrans intègrent généralement un contrôleur, permettant de faire l’interface entre l’écran en lui même et la carte de commande (Arduino, ESP32...) et utilisent le protocole I2C pour communiquer, avec les broches SDA et SCL.

La plupart des écrans utilisent le contrôleur SSD1306 et généralement, ces modules OLED s’alimentent de 3,3V à 5V.
Installation de la bibliothèque
Contrairement aux précédentes parties de ce document, nous allons avoir besoin d'une bibliothèque à ajouter pour
utiliser l'écran OLED. Ils 'agit de la bibliothèque .
Pour utiliser notre écran OLED, nous avons 2 solutions
Incorporer la bibliothèque manuellement pour notre projet (platformio_install_library
Ouvrir le projet PlateFormIO avec toutes les dépendances qui vont s'installer automatiquement
Utilisation de la carte CREPP.io
La carte CREPP.io dispose d'un emplacement pour l'écran OLED.
Pour les cartes de la version 1.0, l'écran est à l'envers :
Il faut donc faire dépasser l'écran du circuit imprimé.
Pour les versions 1.1 et au-dessus, l'écran est à l'endroit.
Il ne faut pas oublier de mettre les jumper pour sélectionner la broche . En effet, certains écrans OLEd ont les broches et inversées.

Code
Code pour l'écran OLED
L'adresse I2C pour ces modules est souvent 0x3C pour les écrans 128x64 et 0x3D pour les écrans 128*32
Explication du code
Bibliothèque standard
Tout d'abord on ajoute les bibliothèques propres à l'écran puis les bibliothèques de la carte.#include
#include
#include
#include
#include
#include
Puis on règle les paramètres de l'écran (résolution, adresses I2C...)
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 //reset pin
#define SCREEN_ADDRESS 0x3C ///Sometimes 0x3D ou 0x3F
On crée ensuite notre objet display qui va nous servir pour afficher des données :
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
A chaque redémarrage, après avoir initié la communication entre le PC et la carte à 9600 bauds, on va scanner le bus I2C avec la fonction
Serial.begin(9600);
I2C_Scan();
On peut enfin appeler la fonction et vérifier que notre écran est bien présent et qu'il répond aux sollicitations de la carte :
bool status_OLED = display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
if (!status_OLED)
Serial.println("Could not find a valid OLED sensor, check wiring!");
//I2C_Scan();
else
Serial.println("Found a valid OLED sensor");
Enfin , on peut utiliser les fonctions d'affichage de l'écran :
display.clearDisplay(); //On efface le texte
display.setRotation(2); //On fait une rotation de 2*90 degrés
display.setTextSize(1); //Taille du texte
display.setCursor(0, 0); //Placement du curseur
display.setTextColor(SSD1306_WHITE); //texte en blanc, obligatoire
display.println("OLED : OK");
display.println("By CREPP");
display.display(); //Mise à jour du texte
Bibliothèque de la carte
Une fois que la bibliothèque est importée, on peut utiliser la fonction puis
utiliser ou :
#include
#include
void setup() Serial.begin(9600); I2C_Scan(); OLED_Init(); void loop() OLED_Println("BLABLABLA"); delay(1000); OLED_Clear();
Les écran à encre électronique
Parmi les supports d'affichage disponibles, en plus des écrans, cristaux liquides (LCD), OLED, une révolution est apparue : le papier électronique e-paper bien connu des utilisateurs de liseuses type Kindle ou Kobo (Fnac).
L'objectif de ces écrans est d'imiter l'apparence d'une feuille imprimée.

L'affichage est obtenu par l'orientation de sphères colorées (noir et blanche ou noir, blanche, rouge) sous l'effet d'un champ électrique.
Une fois que l'affichage a été actualisé, l'écran n'a plus besoin d'énergie pour maintenir l'affichage de l'écran.



Quelques utilisations :
Des posters
Des liseuses
Les étiquettes des prix dans les grandes surfaces
La principale utilisation est l'étiquette électronique de gondole / EEG Electronic Shelf Labels
qui est vendu actuellement comme un système intégré de gestion géré par un ordinateur central.
Cela permet d'automatiser les prix en temps réel (cela évite de faire des centaines d'étiquettes
papier à mettre à jour) mais surtout de synchroniser les prix dans un magasin en ligne et
hors ligne sur plusieurs sites.
Des bornes interactives permettent de trouver un produit dans un hypermarché.
Équipé de puces NFC ou par QR code, des informations sont disponibles sur le smartphone du client
en rayon.