UN Affichage OLED de 0,91 " est un petit écran à contraste élevé parfait pour Affichage des données de texte, de graphiques et de capteurs Dans les projets Arduino. Ce guide vous guidera à travers Câblage, codage et affichage du texte et des graphiques en utilisant le Module OLED basé sur SSD1306 avec Arduino.
1. Ce dont vous avez besoin
✅ Conseil d'administration d'Arduino (Uno, Mega, Nano, etc.)
✅ Affichage OLED 0,91 "(SSD1306, I2C)
✅ Fils de cavalier
✅ Arduino IDE installé
🔹 Note: Ce tutoriel se concentre sur Communication I2C, qui utilise uniquement Deux fils (SDA et SCL), ce qui le rend idéal pour des projets simples.
2. Câblage de 0,91 "OLED à Arduino (mode I2C)
Pin d'affichage OLED | Épingle arduino uno | Arduino Nano Pin |
---|---|---|
VCC | 5V | 5V |
GND | GND | GND |
SDA | A4 (SDA) | A4 (SDA) |
SCL | A5 (SCL) | A5 (SCL) |
🔹 Pour arduino mega: Utiliser SDA (broche 20) et SCL (broche 21).
3. Installation des bibliothèques requises
Avant de coder, installez le Adafruit SSD1306 et Adafruit gfx Bibliothèques:
- Ouvrir Arduino ide.
- Aller à Sketch → Inclure la bibliothèque → Gérer les bibliothèques.
- Rechercher Adafruit SSD1306 et l'installez.
- Rechercher Adafruit gfx et l'installez.
4. Code de base pour afficher le texte sur OLED
Cet exemple initialise l'OLED et les affichages "Bonjour, Arduino!".
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Define OLED screen size
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
// Initialize OLED display (I2C address 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
// Start OLED display
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
for (;;);
}
display.clearDisplay(); // Clear buffer
display.setTextSize(1); // Text size
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 10);
display.println("Hello, Arduino!");
display.display(); // Show text on screen
}
void loop() {
// Nothing here (text is static)
}
🔹 Ce que fait ce code:
✔ Initialise le Affichage SSD1306.
✔ Tirages "Bonjour, Arduino!" à l'écran.
✔ Usages Adresse i2c 0x3c (Certains modules peuvent utiliser 0x3d).
5. Affichage des graphiques (lignes, cercles, images)
Pour dessiner formes, modifier le code en utilisant Fonctions Adafruit GFX.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
// Draw a rectangle
display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
// Draw a filled circle
display.fillCircle(90, 16, 10, SSD1306_WHITE);
display.display();
}
void loop() {}
🔹 Autres fonctions de dessin:
✔ display.drawLine(x1, y1, x2, y2, color);
→ trace une ligne
✔ display.drawCircle(x, y, radius, color);
→ dessine un cercle
✔ display.drawRect(x, y, width, height, color);
→ dessine un rectangle
6. Exemple de texte de défilement
Cet exemple défile horizontalement à travers l'écran OLED.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println("Scrolling Text...");
display.display();
// Start scrolling
display.startscrollleft(0x00, 0x0F);
}
void loop() {}
🔹 Fonctions de défilement:
✔ display.startscrollleft(start, stop);
→ STROLL Texte gauche
✔ display.startscrollright(start, stop);
→ STROLL Texte droite
✔ display.stopscroll();
→ Arrête de faire défiler
7. Conseils de dépannage
Problème: Affichez sans rien montrer.
✅ Vérifier Câblage (SDA et SCL correctement connectés).
✅ Assurer le L'adresse I2C OLED est 0x3C (ou essayez 0x3d).
✅ Utiliser un Scanner I2C Pour détecter l'appareil:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Scanning...");
for (byte address = 8; address < 120; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("Found I2C device at 0x");
Serial.println(address, HEX);
}
}
}
void loop() {}
Problème: Le texte est trop petit ou trop grand.
✅ Ajuster display.setTextSize(1);
(augmenter pour un texte plus grand).
8. Applications pratiques
✔ Affichage des données du capteur - Afficher les lectures en temps réel de DHT11, BMP280, etc.
✔ Affichage d'horloge - combiner avec Module DS3231 RTC pour faire une horloge numérique.
✔ Systèmes de menu - Utilisez des boutons pour naviguer dans les menus.
✔ Indicateur de tension de la batterie - surveiller les niveaux de puissance dans les projets portables.
9. Conclusion
En utilisant un 0,91 "OLED avec Arduino est un excellent moyen d'ajouter sortie visuelle à vos projets. Que vous souhaitiez afficher Données de texte, de graphiques ou de capteurs, ce petit écran propose contraste élevé et faible consommation d'énergie.