ESP32 - OLED
Ce tutoriel vous explique comment utiliser un ESP32 avec un écran OLED I2C 128x64 en utilisant MicroPython. En détail, nous apprendrons :
- Comment connecter l'ESP32 à un écran OLED 128x64.
- Comment écrire du code MicroPython pour l'ESP32 afin d'afficher du texte, un entier et un nombre à virgule flottante sur un écran OLED.
- Comment centrer automatiquement le texte et le nombre verticalement et horizontalement sur l'écran OLED.
- Comment écrire du code MicroPython pour l'ESP32 afin d'afficher une image sur un écran OLED.
- Comment écrire du code MicroPython pour l'ESP32 afin de dessiner des formes sur un écran OLED.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de l'écran OLED
Les écrans OLED varient en termes de méthodes de communication, de tailles et de couleurs.
- Protocole de communication : I2C, SPI
- Tailles : 128 × 64, 128 × 32
- Couleurs disponibles : blanc, bleu, jaune...

SPI offre un transfert de données plus rapide que l'I2C mais nécessite plus de broches sur l'ESP32. En revanche, l'I2C n'utilise que deux broches et peut se connecter à plusieurs périphériques I2C. Votre choix dépend de savoir si vous privilégiez une utilisation moindre des broches ou une vitesse plus élevée. Pour les écrans OLED basés sur l'I2C, les pilotes courants incluent SSD1306 et SH1106. Ce guide porte spécifiquement sur l'utilisation de l'écran OLED I2C SSD1306 128x64.
Schéma de brochage de l'afficheur OLED I2C
- Broche GND : Connectez-la à la masse (GND) sur l'ESP32.
- Broche VCC : Connectez-la à la broche 5 V ou 3,3 V sur l'ESP32 pour l'alimentation.
- Broche SCL : Il s'agit de la broche d'horloge pour la communication I2C.
- Broche SDA : Il s'agit de la broche de données pour la communication I2C.

※ Note:
Configuration des broches du module OLED
- Les configurations de broches varient selon le fabricant et le modèle.
- Suivez les étiquettes sur votre module.
Ce guide utilise le pilote I2C SSD1306. Nous l'avons testé avec un écran OLED DIYables.
Diagramme de câblage
- Comment connecter l'ESP32 à un écran OLED 128x64 en utilisant breadboard

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 à l'écran OLED 128x64 en utilisant une carte d'extension à bornes à vis

Consultez le tableau ci-dessous pour obtenir des informations sur les autres modèles ESP32.
| OLED Module | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
Code MicroPython ESP32 - Affichage de texte, d'entiers et de nombres à virgule flottante sur OLED
Étapes rapides
Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :
- Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
- Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
- Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
- Branchez l'afficheur OLED sur l'ESP32 conformément au schéma fourni.
- Connectez la carte ESP32 à votre ordinateur avec un câble USB.
- Ouvrez l'IDE Thonny sur votre ordinateur.
- Dans l'IDE Thonny, allez dans Outils Options.
- Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
- Assurez-vous que le bon port est sélectionné. L'IDE Thonny le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM3 sur Windows ou /dev/ttyACM0 sur Linux).
- Accédez à Outils Gérer les paquets dans l'IDE Thonny.
- Recherchez “DIYables-MicroPython-OLED”, puis trouvez la bibliothèque OLED créée par DIYables.
- Cliquez sur DIYables-MicroPython-OLED, puis cliquez sur le bouton Install pour installer la bibliothèque OLED.

- Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre ESP32 comme suit:
- Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, choisissez l'appareil MicroPython.
- Nommez le fichier main.py.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Regardez le résultat sur l'écran OLED. Il apparaît comme ci-dessous:

Comment centrer automatiquement verticalement et horizontalement le texte ou le numéro sur l'écran OLED
Le code MicroPython ci-dessous centre automatiquement le texte à la fois verticalement et horizontalement sur l'écran OLED.
Après avoir exécuté le code, vous verrez un carré, un cercle et un triangle sur l'écran OLED.

Code MicroPython ESP32 – Afficher une image sur l'OLED
Le code ci-dessous trace une image sur l'écran LCD. L'image est l'icône DIYables.
En exécutant le code ci-dessus, vous verrez l'image affichée sur l'écran OLED comme indiqué ci-dessous.

Pour afficher une autre image sur un écran OLED, vous pouvez suivre les étapes ci-dessous :
- Changez l'image (dans n'importe quel format) en un tableau bitmap. Vous pouvez utiliser cet outil en ligne outil en ligne pour la conversion. Regardez l'image ci-dessous pour apprendre comment convertir une image en un tableau bitmap. J'ai converti l'icône ESP32 en un tableau bitmap.

- Mettre à jour le tableau bitmap converti dans le code MicroPython ESP32 avec le nouveau code pour le tableau.
- Modifier la largeur et la hauteur de l'image dans le code MicroPython ESP32 pour qu'elles correspondent aux dimensions de l'image.
Veuillez noter que la taille de l'image doit être égale ou inférieure à celle de l'écran.
Code MicroPython ESP32 : Dessiner des formes sur un écran OLED
Après avoir exécuté le code, vous verrez un rectangle, un cercle et un triangle sur l'écran OLED.

Dépannage OLED
Si rien n'apparaît sur l'écran OLED, veuillez suivre ces étapes :
- Vérifiez que le câblage est correct.
- Assurez-vous que votre OLED I2C dispose d'un pilote SSD1306.
- Trouvez l'adresse I2C de votre OLED en utilisant ce code de scanner d'adresses I2C sur l'ESP32.
Sortie dans le Shell en bas de Thonny :