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

 

 

 

En poursuivant votre navigation sur mon site, vous acceptez l’utilisation des Cookies et autres traceurs  pour réaliser des statistiques de visites et enregistrer sur votre machine vos activités pédagogiques. En savoir plus.