Arduino Mega - OLED
Ce guide vous montre comment utiliser un Arduino Mega avec un écran OLED I2C 128x64. Nous allons apprendre en détail :
- Comment connecter un écran OLED 128x64 à Arduino Mega.
- Comment programmer l'Arduino Mega pour afficher du texte et des nombres sur l'OLED.
- Comment centrer le texte et les nombres sur l'OLED (verticalement et horizontalement).
- Comment dessiner sur l'OLED avec Arduino Mega.
- Comment afficher des images sur l'OLED avec Arduino Mega.

Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de l'écran OLED
Il existe de nombreux types d'écrans OLED. Ils diffèrent par leur fonctionnement, leurs tailles et leurs couleurs.
- Modes de connexion : I2C, SPI
- Taille : 128 par 64, 128 par 32
- Couleurs : blanc, bleu, deux tons

Le SPI est généralement plus rapide que l'I2C, mais il nécessite plus de broches sur l'Arduino Mega. L'I2C, en revanche, n'utilise que deux broches et ces broches peuvent se connecter à plusieurs appareils I2C. Vous devez donc choisir : moins de broches ou une communication plus rapide. Pour les écrans OLED I2C, il existe différents pilotes comme SSD1306 et SH1106. Ce guide utilise l'écran OLED I2C SSD1306 128x64.
Brochage de l'écran OLED I2C
- Broche GND : connecter à la masse de l'Arduino Mega.
- Broche VCC : alimentation pour l'écran ; connecter à la broche 5V de l'Arduino Mega.
- Broche SCL : ligne d'horloge I2C.
- Broche SDA : ligne de données I2C.

※ Note:
La disposition des broches sur un module OLED peut être différente selon le fabricant et le modèle que vous avez. Vérifiez toujours et suivez les étiquettes sur le module OLED. Attention !
Ce guide est pour un écran OLED qui utilise le pilote SSD1306 I2C. Nous l'avons testé avec un écran OLED de DIYables. Il fonctionne bien, sans problème.
Schéma de câblage
- Schéma de câblage pour Arduino Mega avec un écran OLED 128x64

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Si vous utilisez un Arduino Mega différent, la disposition des broches ne sera pas la même que l'Uno. Consultez le tableau ci-dessous pour des informations sur d'autres modèles d'Arduino Mega.
| Module OLED | Arduino Mega |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Comment utiliser l'OLED avec Arduino Mega
Installer la bibliothèque OLED SSD1306
- Allez à l'icône Bibliothèques sur le côté gauche de l'IDE Arduino.
- Tapez SSD1306 dans la zone de recherche et cherchez la bibliothèque SSD1306 d'Adafruit.
- Cliquez sur le bouton Installer pour ajouter la bibliothèque.

- Vous devez installer quelques bibliothèques supplémentaires.
- Cliquez sur le bouton Tout installer pour installer toutes les bibliothèques nécessaires.

Comment programmer pour l'OLED
- Ajouter une bibliothèque.
- Définir la taille de l'écran OLED 128 par 64 pixels.
- Créer un écran OLED SSD1306.
- Dans la fonction setup(), préparer l'écran OLED.
- Vous pouvez ensuite afficher du texte, des images et dessiner des lignes.
Code Arduino Mega - Afficher du texte sur l'OLED
Voici quelques fonctions simples que vous pouvez utiliser pour afficher du texte sur l'écran OLED :
- Oled.clearDisplay() : éteint tous les pixels sur l'écran.
- Oled.drawPixel(x, y, color) : dessine un petit point à la position x, y.
- Oled.setTextSize(n) : définit la taille du texte de 1 (petit) à 8 (grand).
- Oled.setCursor(x, y) : définit où le texte commence, à x, y.
- Oled.setTextColor(WHITE) : le texte devient blanc.
- Oled.setTextColor(BLACK, WHITE) : le texte est noir et l'arrière-plan est blanc.
- Oled.println("message") : afficher le texte.
- Oled.println(number) : afficher un nombre.
- Oled.println(number, HEX) : afficher le nombre en hexadécimal.
- Oled.display() : afficher les changements sur l'écran.
- Oled.startscrollright(start, stop) : commencer à déplacer le texte de gauche à droite.
- Oled.startscrollleft(start, stop) : commencer à déplacer le texte de droite à gauche.
- Oled.startscrolldiagright(start, stop) : déplacer le texte en diagonale de bas-gauche à haut-droite.
- Oled.startscrolldiagleft(start, stop) : déplacer le texte en diagonale de bas-droite à haut-gauche.
- Oled.stopscroll() : arrêter tout défilement de texte.
Comment centrer verticalement et horizontalement le texte/nombre sur l'OLED
Code Arduino Mega - Dessiner sur l'OLED
Code Arduino Mega - Afficher une image
Pour afficher une image sur un écran OLED, transformez d'abord l'image (n'importe quel format) en tableau bitmap. Vous pouvez utiliser cet outil Convertisseur d'image en bitmap. Regardez l'image ci-dessous pour voir comment transformer une image en tableau bitmap. J'ai transformé l'icône Arduino en tableau bitmap.

Copiez le nouveau code de tableau et collez-le dans le tableau d'icône Arduino dans le code ci-dessous.
※ Note:
- L'image ne doit pas être plus grande que l'écran.
- Pour utiliser le code avec un OLED 128x32, redimensionnez l'image et définissez la largeur et la hauteur dans la fonction oled.drawBitmap();.
Dépannage OLED
Si l'écran OLED est vide, veuillez suivre ces étapes :
- Assurez-vous que le câblage est correct.
- Vérifiez que votre OLED I2C utilise un pilote SSD1306.
- Trouvez l'adresse I2C de votre OLED en utilisant le code Scanner d'adresse I2C pour Arduino Mega.
Ce que vous voyez dans le Moniteur série :