ESP32 C3 Super Mini - Affichage SSD1309 OLED 128x64 | Tutoriel OLED 2.42 pouces I2C
Apprenez à utiliser l'affichage SSD1309 OLED 128×64 (2.42 pouces) avec votre ESP32 C3 Super Mini en utilisant l'interface I2C. Ce guide convivial pour les débutants couvre tout, du câblage de base aux fonctionnalités avancées comme les images bitmap et les polices personnalisées.
Dans ce tutoriel, vous apprendrez:
- Ce qu'est l'affichage SSD1309 OLED et comment il fonctionne avec l'ESP32 C3 Super Mini
- Comment câbler l'OLED I2C 2.42 pouces à l'ESP32 C3 Super Mini
- Comment afficher du texte, des nombres et des graphiques sur l'OLED SSD1309
- Comment centrer le texte, dessiner des formes et afficher des images bitmap
- Comment utiliser le défilement matériel et ajuster le contraste
- Comment implémenter des polices personnalisées à partir de la bibliothèque Adafruit GFX

Matériel Requis
| 1 | × | ESP32 C3 Super Mini | |
| 1 | × | Câble USB Type-A vers Type-C (pour PC USB-A) | |
| 1 | × | Câble USB Type-C vers Type-C (pour PC USB-C) | |
| 1 | × | SSD1309 I2C OLED Display 128x64 (2.42 inch) | |
| 1 | × | Fils de connexion |
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos de l'Affichage SSD1309 2.42 Pouces OLED
Le SSD1309 est une puce pilote CMOS OLED pour les affichages à matrice de points 128×64 qui communiquent via I2C.
Caractéristiques clés:
- Résolution: pixels 128×64 (diagonale 2.42 pouces)
- Interface: I2C (seulement 2 fils nécessaires - SDA et SCL)
- Compatibilité: Compatible au niveau des registres avec SSD1306
- Tolérance de tension: Accepte jusqu'à 16V VCC (plus élevé que SSD1306)
- Convertisseur boost intégré: La plupart des modules incluent une régulation d'alimentation intégrée
- Consommation d'énergie faible: 20-40 mA à pleine luminosité
- Monochrome: Pixels blancs sur fond noir
- Pourquoi c'est excellent pour les débutants: Câblage I2C simple, bibliothèque facile à utiliser et partage du bus I2C avec d'autres appareils
Brochage SSD1309 OLED (Module I2C)
Le module SSD1309 OLED 2.42 pouces a quatre broches:
- GND: Connexion à la masse
- VCC: Alimentation (3.3V)
- SCL: Ligne d'horloge I2C
- SDA: Ligne de données I2C

※ Note:
- La disposition des broches du module OLED peut différer selon le fabricant. Utilisez toujours les étiquettes imprimées sur le module lui-même.
- Ce tutoriel utilise le SSD1309 I2C OLED de DIYables, qui a été testé et confirmé pour fonctionner.
Schéma de Câblage
Connectez l'affichage SSD1309 OLED 128x64 à votre ESP32 C3 Super Mini en suivant ce schéma:

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Tableau de connexion:
| Module OLED | ESP32 C3 Super Mini |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
※ Note:
- Remarque: Assurez-vous que les connexions sont sécurisées avant de mettre sous tension
- Remarque: Les broches I2C (A4/A5) peuvent être partagées avec d'autres appareils I2C
Comment Programmer l'ESP32 C3 Super Mini pour SSD1309 OLED
Cette section vous montre comment installer la bibliothèque requise et écrire du code pour votre affichage SSD1309 OLED ESP32 C3 Super Mini.
Ce que vous ferez:
- Installez la bibliothèque DIYables_OLED_SSD1309 et les dépendances
- Initialisez l'affichage OLED I2C dans votre code
- Affichez du texte, des nombres et des graphiques
- Utilisez les fonctionnalités avancées comme le défilement et les polices personnalisées
Installez la Bibliothèque DIYables_OLED_SSD1309
- Cliquez sur l'icône Bibliothèques dans la barre de gauche de l'Arduino IDE.
- Recherchez DIYables_OLED_SSD1309, puis trouvez la bibliothèque DIYables OLED SSD1309 par DIYables.
- Cliquez sur Installer pour installer la bibliothèque DIYables_OLED_SSD1309.

- Vous serez invité à installer les dépendances de la bibliothèque.
- Cliquez sur Installer Tout pour installer toutes les dépendances requises.

Étapes de Programmation
1. Incluez les bibliothèques requises
2. Définissez les dimensions de l'écran
3. Déclarez l'objet d'affichage
4. Initialisez l'OLED dans setup()
5. Affichez du contenu
Code ESP32 C3 Super Mini — Hello World sur SSD1309 OLED
Cet exemple simple affiche le texte "Hello World" sur votre affichage SSD1309 OLED.
Ce que ce code fait:
- Initialise l'affichage OLED I2C
- Efface le tampon d'écran
- Définit la taille et la position du texte
- Affiche le texte "Hello World"
- Envoie le tampon à l'écran physique
Code ESP32 C3 Super Mini — Afficher du Texte sur SSD1309 OLED
Cet exemple montre les fonctionnalités de texte avancées, y compris plusieurs tailles de texte, formatage des nombres et utilisation efficace de la RAM.
Ce que ce code fait:
- Affiche le texte à différentes tailles
- Affiche les entiers et les nombres en virgule flottante
- Utilise la macro F() pour économiser la RAM
- Formate les nombres en décimal et en hexadécimal
- Démontre le positionnement correct du curseur
Référence des Fonctions d'Affichage Utiles
Contrôle d'affichage de base:
- oled.clearDisplay() — effacez le tampon de cadre (tous les pixels éteints)
- oled.display() — transférez le tampon à l'OLED pour que les modifications deviennent visibles
- oled.drawPixel(x, y, color) — définissez ou effacez un pixel individuel
Fonctions de texte:
- oled.setTextSize(n) — mettez à l'échelle la police par le facteur *n* (1 = 6×8, 2 = 12×16, etc.)
- oled.setCursor(x, y) — déplacez le curseur de texte aux coordonnées de pixel *(x, y)*
- oled.setTextColor(SSD1309_PIXEL_ON) — texte de premier plan uniquement (arrière-plan transparent)
- oled.setTextColor(SSD1309_PIXEL_OFF, SSD1309_PIXEL_ON) — texte avec couleur d'arrière-plan explicite
- oled.println("message") — imprimez une chaîne et avancez à la ligne suivante
- oled.println(number) — imprimez un entier en décimal
- oled.println(number, HEX) — imprimez un entier en hexadécimal
Défilement matériel:
- oled.startscrollright(start, stop) — défilement matériel à droite entre la page *start* et *stop*
- oled.startscrollleft(start, stop) — défilement matériel à gauche
- oled.startscrolldiagright(start, stop) — défilement matériel en diagonale à droite
- oled.startscrolldiagleft(start, stop) — défilement matériel en diagonale à gauche
- oled.stopscroll() — arrêtez tout défilement matériel actif
Paramètres d'affichage:
- oled.setContrast(value) — ajustez la luminosité de l'affichage (0–255)
- oled.dim(true/false) — assombrissez ou restaurez rapidement l'affichage
- oled.invertDisplay(true/false) — inversion de couleur au niveau matériel
Comment Centrer Verticalement et Horizontalement le Texte sur l'OLED SSD1309
Centrer le texte sur votre affichage ESP32 C3 Super Mini OLED crée des interfaces d'aspect professionnel.
Code ESP32 C3 Super Mini — Dessiner des Formes sur SSD1309 OLED
La bibliothèque DIYables_OLED_SSD1309 vous permet de dessiner des formes géométriques sur votre affichage OLED 128x64.
Ce que ce code fait:
- Dessine des pixels, des lignes et des rectangles
- Crée des cercles et des triangles
- Affiche les formes remplies et en contour
- Démontre les rectangles arrondis
- Utilise les fonctions graphiques Adafruit GFX
Code ESP32 C3 Super Mini — Défilement Matériel sur SSD1309 OLED
L'OLED SSD1309 inclut un défilement matériel intégré qui déplace le contenu sans utiliser les ressources CPU.
Ce que ce code fait:
- Démontre les quatre directions de défilement (droite, gauche, diagonale-droite, diagonale-gauche)
- Utilise l'accélération matérielle pour un défilement fluide
- Montre comment démarrer et arrêter le défilement
- Fonctionne avec les numéros de page (0-7 pour les bandes hautes de 8 pixels)
※ Note:
Appelez display() pour pousser votre contenu à l'OLED avant de commencer un défilement. Arrêtez le défilement avec stopscroll() avant de dessiner du nouveau contenu.
Code ESP32 C3 Super Mini — Afficher une Image Bitmap sur SSD1309 OLED
Affichez des images personnalisées sur votre SSD1309 OLED en les convertissant en tableaux d'octets.
Comment convertir les images:
- Allez à image2cpp online tool
- Téléchargez votre image (PNG, JPG, BMP, etc.)
- Définissez la taille du canevas à 128×64 (ou plus petit)
- Choisissez Arduino code comme format de sortie
- Copiez le tableau généré dans votre sketch

Ce que ce code fait:
- Convertit les images en bitmaps monochromes
- Stocke les données bitmap en PROGMEM pour économiser la RAM
- Affiche le bitmap sur l'OLED 128x64
- Montre le positionnement correct des bitmaps
※ Note:
- Les dimensions des bitmaps ne doivent pas dépasser 128×64 pour ce module
- Les images sont automatiquement converties en monochrome (noir et blanc)
Code ESP32 C3 Super Mini — Contraste et Assombrissement sur SSD1309 OLED
Contrôlez la luminosité de votre affichage SSD1309 ESP32 C3 Super Mini avec les fonctions de contraste et d'assombrissement.
Ce que ce code fait:
- Ajuste le contraste de 0 (minimum) à 255 (maximum)
- Utilise setContrast() pour un contrôle de luminosité précis
- Utilise dim() pour une commutation de luminosité rapide
- Démontre les transitions de luminosité fluides
Code ESP32 C3 Super Mini — Polices Externes Personnalisées sur SSD1309 OLED
La bibliothèque Adafruit GFX inclut des dizaines de polices typefaces FreeFont professionnelles pour votre affichage SSD1309 OLED.
Familles de polices disponibles:
- Polices Serif (aspect classique)
- Polices Sans (aspect moderne et propre)
- Polices Mono (largeur fixe)
- Chacune en styles Regular, Bold, Italic
- Quatre tailles pour chaque police
Ce que ce code fait:
- Montre comment inclure les en-têtes de polices personnalisées
- Démontre setFont() pour la commutation de police
- Affiche le texte dans plusieurs styles de police
- Utilise PROGMEM pour un stockage flash efficace
※ Note:
- Lorsqu'une police externe est active, la coordonnée Y du curseur fait référence à la baseline du texte, pas au coin supérieur gauche
- Les polices externes sont stockées en flash (PROGMEM). Utilisez-les judicieusement pour rester dans le budget flash du ESP32 C3 Super Mini
Étapes Rapides
- Nouveau sur ESP32 C3 Super Mini? Complétez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
- Câblez l'affichage: Connectez SSD1309 OLED à l'ESP32 C3 Super Mini en utilisant le tableau de câblage ci-dessus
- Installez la bibliothèque: Ouvrez le gestionnaire de bibliothèque Arduino IDE et installez DIYables_OLED_SSD1309 et toutes les dépendances
- Ouvrez l'exemple: Chargez l'un des sketches d'exemple des sections de code ci-dessus
- Sélectionnez la carte: Choisissez ESP32C3 Dev Module dans le menu Outils > Carte
- Téléchargez le code: Connectez votre ESP32 C3 Super Mini et cliquez sur Télécharger
- Vérifiez l'affichage: L'OLED SSD1309 doit afficher immédiatement la sortie de l'exemple
- Expérimentez: Essayez de modifier le texte, les couleurs ou les coordonnées pour voir comment l'affichage répond
- Conseil Pro: Appelez toujours display.display() après le dessin pour mettre à jour l'écran - le SSD1309 utilise un tampon de cadre qui doit être poussé à l'affichage physique
Dépannage SSD1309 OLED avec ESP32 C3 Super Mini
Si rien ne s'affiche sur votre affichage SSD1309 OLED 2.42 pouces, suivez ces étapes de dépannage:
Problèmes courants et solutions:
- Vérifiez le câblage: Confirmez que SDA→A4, SCL→A5, VCC→3.3V et GND→GND sont tous correctement connectés
- Confirmez le puce pilote: Cette bibliothèque cible le contrôleur SSD1309 - les modules avec SH1106 ou d'autres puces ne fonctionneront pas
- Vérifiez l'adresse I2C: La plupart des modules SSD1309 utilisent 0x3C, mais certains utilisent 0x3D - exécutez le scanner ci-dessous pour trouver la vôtre
- Appelez display(): Le SSD1309 utilise un tampon de cadre - rien n'apparaît jusqu'à ce que vous appeliez oled.display()
- Vérifiez l'alimentation: L'OLED 2.42 pouces consomme 20-40 mA - assurez-vous que 3.3V peut fournir suffisamment de courant
- Testez les connexions: Essayez de bouger doucement les fils pour vérifier les connexions lâches
- Utilisez le scanner I2C: Téléchargez le code ci-dessous pour détecter l'adresse I2C de votre OLED
Code du scanner I2C:
Sortie attendue du Moniteur Série quand le SSD1309 est détecté:
Idées d'Application et de Projets
Voici quelques projets pratiques que vous pouvez construire avec votre ESP32 C3 Super Mini et l'affichage SSD1309 OLED:
- Station météo affichant la température, l'humidité et les icônes de prévision
- Horloge en temps réel avec date, heure et indicateurs d'alarme personnalisés
- Moniteur de force du signal WiFi avec graphiques à barres visuels
- Tableau de bord de capteurs IoT affichant plusieurs lectures de capteur
- Interface du lecteur de musique avec titre de la chanson, artiste et contrôles de lecture
- Moniteur système affichant l'utilisation du CPU, la mémoire et l'état du réseau
- Console de jeu pour les jeux simples basés sur les pixels comme Snake ou Pong
- Panneau de messages à défilement pour les notifications et les alertes
Tutoriel Vidéo
Regardez la vidéo ci-dessous pour une présentation visuelle de ce projet.
...VIDEO 5yFyA1jrNuk
...VIDEO
Testez Vos Connaissances
Poussez vos compétences en matière de SSD1309 OLED ESP32 C3 Super Mini au niveau suivant avec ces défis:
- Facile: Modifiez l'exemple Hello World pour afficher votre nom et votre emoji préféré avec différentes tailles de texte
- Facile: Créez une horloge numérique simple qui affiche les heures, les minutes et les secondes en gros texte
- Moyen: Construisez un affichage de température qui affiche les lectures d'un capteur DHT11 avec un thermomètre graphique
- Moyen: Concevez une barre de chargement animée qui se remplit de gauche à droite à l'aide de rectangles
- Avancé: Créez un système de menu avec plusieurs pages que vous pouvez parcourir à l'aide de boutons
- Avancé: Construisez un graphique en temps réel qui fait défiler les données du capteur sur l'écran 128x64
- Avancé: Concevez une animation bitmap qui alterne entre plusieurs cadres pour créer du mouvement