Attention, vous devez avoir la dernière version d'Arduino IDE (1.8.5) et avoir installé les drivers de l'Esp32.
Etape 1 : Importer la bibliothèque Oled
Lancer Arduino IDE
Aller dans Croquis -> Inclure une bibliothèque -> Gérer les bibliothèques
Installer la bibliothèque "Esp8266 and Esp32 Oled driver".
Etape 2 : Programmation
Relancer Arduino et copier le code ci-dessous dans un nouveau programme.
//inclure la bibiliothèque de l'afficheur Oled
#include "SSD1306.h"
// Initialiser l'oled en utilisant la bibliothèque de gestion de l'I2C ( Adresse I2C, pin SDA, pin SCL)
SSD1306 oled(0x3c, 4, 15);
void setup() {
//Initialiser l'afficheur oled (sinon ne fonctionne pas)
pinMode(16,OUTPUT);
digitalWrite(16, LOW); // set GPIO16 low to reset OLED
delay(50);
digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 to high
// Initialiser interface de l'OLED
oled.init();
//Inverser le sens d'affichage de l'oled. Mettre les 2 instructions sinon problème.
oled.flipScreenVertically();
oled.setFont(ArialMT_Plain_10);
}//fin setup
//Afficher taille de caractère différente
void drawFontFaceDemo() {
//Aligner le texte
oled.setTextAlignment(TEXT_ALIGN_LEFT);
//taille des caractères
oled.setFont(ArialMT_Plain_10);
//position et texte à afficher
oled.drawString(0, 0, "STI2D SIN");
oled.setFont(ArialMT_Plain_16);
oled.drawString(0, 10, "STI2D SIN");
oled.setFont(ArialMT_Plain_24);
oled.drawString(0, 26, "STI2D SIN");
}
//texte justifier
void drawTextFlowDemo() {
oled.setFont(ArialMT_Plain_10);
oled.setTextAlignment(TEXT_ALIGN_LEFT);
oled.drawStringMaxWidth(0, 0, 128,
"Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}
//Alignement des textes
void drawTextAlignmentDemo() {
oled.setFont(ArialMT_Plain_10);
// The coordinates define the left starting point of the text
oled.setTextAlignment(TEXT_ALIGN_LEFT);
oled.drawString(0, 10, "Left aligned (0,10)");
// The coordinates define the center of the text
oled.setTextAlignment(TEXT_ALIGN_CENTER);
oled.drawString(64, 22, "Center aligned (64,22)");
// The coordinates define the right end of the text
oled.setTextAlignment(TEXT_ALIGN_RIGHT);
oled.drawString(128, 33, "Right aligned (128,33)");
}
void loop() {
// efface l'oled
oled.clear();
// Appelle la fonction pour dessiner
drawTextAlignmentDemo();
//affiche sur l'oled -> écrit dans le buffer de l'oled
oled.display();
delay(2000);
//Appelle le texte suivant
oled.clear();
drawFontFaceDemo();
oled.display();
delay(2000);
//Appelle le texte suivant
oled.clear();
drawTextFlowDemo();
oled.display();
delay(2000);
}//fin loop
Etape 3 : Téléverser
Choisir la carte "Heltec wifi lora 32" et le port de la carte
Vérifier et téléverser vers la carte.
Source : https://hackaday.io/project/26991-esp32-board-wifi-lora-32