Arduino UNO R4 - OLED
Ce tutoriel vous explique comment utiliser l'Arduino UNO R4 avec l'écran OLED 128x64 I2C. En détail, nous allons apprendre :
- Comment connecter un écran OLED 128x64 à Arduino UNO R4.
- Comment programmer l'Arduino UNO R4 pour afficher du texte et des nombres sur un OLED avec Arduino UNO R4.
- Comment centrer le texte et les nombres verticalement et horizontalement sur un OLED.
- Comment créer des dessins sur un OLED avec Arduino UNO R4.
- Comment afficher des images sur un OLED avec Arduino UNO R4.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de l'écran OLED
Il existe plusieurs types d'écrans OLED. Ils varient selon leur mode de communication, leurs tailles et leurs couleurs.
- Méthodes de communication : I2C, SPI
- Dimensions : 128x64, 128x32...
- Couleurs : blanc, bleu, bicolore...

Le SPI est généralement plus rapide que l'I2C mais nécessite plus de broches sur l'Arduino UNO R4. En revanche, l'I2C n'a besoin que de deux broches et ces broches peuvent se connecter à plusieurs périphériques I2C. Vous devez choisir entre utiliser moins de broches ou obtenir une communication plus rapide. Pour les écrans OLED utilisant l'I2C, il existe différents pilotes tels que le SSD1306 et le SH1106. Ce guide utilise l'écran OLED I2C SSD1306 128×64.
Schéma des broches de l'affichage OLED I2C
- Broche GND : doit être connectée à la masse de l'Arduino UNO R4
- Broche VCC : est l'alimentation de l'affichage, à laquelle nous connectons la broche 5 V sur l'Arduino UNO R4.
- Broche SCL : est une broche d'horloge série pour l'interface I2C.
- Broche SDA : est une broche de données série pour l'interface I2C.

※ Note:
La disposition des broches sur un module OLED peut différer selon le fabricant et le modèle du module. Vérifiez toujours et suivez les marquages sur le module OLED. Faites attention !
Ce guide concerne un écran OLED qui utilise le contrôleur I2C SSD1306. Nous l'avons testé avec un écran OLED de DIYables. Il fonctionne parfaitement sans aucun problème.
Diagramme de câblage
- Schéma de connexion pour Arduino UNO R4 avec écran OLED 128x64

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voir Comment alimenter l'Arduino UNO R4..
Si vous utilisez un autre type d’Arduino UNO R4, la disposition des broches ne sera pas la même que celle de l’UNO. Consultez le tableau ci-dessous pour obtenir des informations sur d'autres modèles Arduino UNO R4.
OLED Module | Arduino UNO R4 |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Comment utiliser l'OLED avec Arduino UNO R4
Installer la bibliothèque OLED SSD1306
- Aller sur l'icône Libraries sur le côté gauche de l'IDE Arduino.
- Tapez « SSD1306 » dans la zone de recherche et recherchez la bibliothèque SSD1306 réalisée par Adafruit.
- Appuyez sur le bouton Install pour ajouter la bibliothèque.

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

Comment programmer pour un écran OLED
- Inclure une bibliothèque.
- Réglez la taille de l'écran sur OLED 123x64.
- Créer un élément OLED SSD1306.
- Dans la fonction setup(), configurez l'écran OLED.
- Ensuite, vous pouvez afficher du texte, des images et tracer des lignes.
Code Arduino UNO R4 - Affichage de texte sur OLED
Voici quelques fonctions que vous pouvez utiliser pour afficher du texte sur l'écran OLED :
- oled.clearDisplay(): éteint tous les pixels.
- oled.drawPixel(x, y, color): dessine un pixel aux coordonnées x, y.
- oled.setTextSize(n): change la taille du texte, avec des choix de 1 à 8.
- oled.setCursor(x, y): définit le point de départ du texte.
- oled.setTextColor(WHITE): rend le texte en blanc.
- oled.setTextColor(BLACK, WHITE): rend le texte noir et l'arrière-plan blanc.
- oled.println("message"): affiche le texte.
- oled.println(number): affiche un nombre.
- oled.println(number, HEX): affiche un nombre en format hexadécimal.
- oled.display(): met à jour l'affichage avec les changements.
- oled.startscrollright(start, stop): fait défiler le texte de la gauche vers la droite.
- oled.startscrollleft(start, stop): fait défiler le texte de la droite vers la gauche.
- oled.startscrolldiagright(start, stop): fait défiler le texte en diagonale du bas à gauche vers le haut à droite.
- oled.startscrolldiagleft(start, stop): fait défiler le texte en diagonale du bas à droite vers le haut à gauche.
- oled.stopscroll(): arrête tout défilement du texte.
Comment centrer verticalement et horizontalement le texte/numéro sur un écran OLED
Code Arduino UNO R4 - Dessin sur OLED
Code Arduino UNO R4 – Afficher l'image
Pour afficher une image sur un écran OLED, commencez par convertir l'image (quel que soit son format) en un tableau bitmap. Vous pouvez utiliser cet outil en ligne pour la convertir. Regardez l'image ci-dessous pour voir comment transformer une image en un tableau bitmap. J'ai converti l'icône Arduino en un tableau bitmap.

Copiez le nouveau code du tableau et mettez-le à jour dans le tableau d’icônes Arduino dans le code ci-dessous.
※ Note:
- La taille de l'image doit être aussi petite que possible ou inférieure à la taille de l'écran.
- Pour utiliser le code donné pour un OLED 128x32, vous devez redimensionner l'image et ajuster la largeur et la hauteur dans la fonction oled.drawBitmap();.
Dépannage des écrans OLED
Si l'écran OLED n'affiche rien, veuillez suivre ces étapes :
- Assurez-vous que le câblage est correctement effectué.
- Confirmez que votre OLED I2C est équipé d’un pilote SSD1306.
- Vérifiez l'adresse I2C de votre OLED en utilisant le code suivant du scanner d'adresses I2C sur Arduino UNO R4.
La sortie sur le moniteur série :