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

 

 

 

Affichages : 9864