Arduino, Tutoriels

Comment utiliser afficheur OLED I2C BLEU avec Arduino

Guide Complet Pour Utiliser Un Module D'Affichage Graphique Oled Avec Arduino

Introduction

Dans ce guide, nous allons explorer comment utiliser un module d’affichage graphique OLED avec Arduino pour donner une touche captivante à vos projets. Les écrans OLED, ou diodes électroluminescentes organiques, sont une technologie d’affichage plate composée de fines couches organiques entre deux conducteurs. Contrairement aux écrans LCD traditionnels, les OLED ne nécessitent pas de rétroéclairage, ce qui les rend plus efficaces en termes de consommation d’énergie et offre une meilleure qualité d’image ainsi qu’une plus grande durabilité. Nous allons utiliser un module OLED avec le pilote SSD1306, qui peut communiquer avec Arduino via une interface I2C ou SPI.

Aperçu de l’OLED

Le module OLED que nous allons utiliser est basé sur le pilote SSD1306, un circuit intégré CMOS qui facilite la communication entre le microcontrôleur et l’écran. Ce module est disponible dans différentes tailles et offre une excellente flexibilité d’utilisation. Étant donné que ces modules n’ont pas besoin de rétroéclairage, ils consomment moins d’énergie, ce qui les rend plus économiques et efficaces. Le courant moyen de fonctionnement de ces modules est d’environ 20 mA, et ils peuvent être alimentés dans une plage de tension allant de 1,65 V à 3,3 V. Chaque module dispose de 1 Ko de GDDRAM (mémoire graphique), qui est divisée en 8 pages de 128 colonnes chacune, avec chaque colonne pouvant stocker 8 bits de données.

Module D'Affichage Graphique Oled I2C Bleu
Module d’affichage OLED I2C BLEU

Matériel requis

Avant de commencer, assurez-vous de disposer du matériel suivant :

  • Arduino UNO : Le cœur de notre projet, responsable du contrôle de l’affichage OLED.
  • Câble USB Type A vers B : Pour connecter l’Arduino à l’ordinateur pour le téléchargement du code.
  • Fils de connexion : Pour établir les connexions entre l’Arduino et cette écran d’affichage.
  • Module d’affichage graphique OLED : Le composant qui affichera les informations sur l’écran.
  • Breadboard (plaque d’essai) : Pour faciliter le prototypage et la connexion des composants.

Schéma de câblage

Avant de télécharger le code sur l’Arduino, assurons-nous que les connexions sont correctement établies entre l’Arduino et le module d’affichage OLED :

  • Connectez la broche GND de l’OLED à la broche GND de l’Arduino.
  • Connectez la broche VCC de l’OLED à la broche 5V de l’Arduino.
  • Connectez la broche SCL de l’OLED à la broche A5 (SCL) de l’Arduino.
  • Connectez la broche SDA de l’OLED à la broche A4 (SDA) de l’Arduino.
Schéma De Connexion Oled I2C Bleu Module D'Affichage Graphique Avec Arduino
Schéma de connexion

Code Arduino

Nous allons maintenant écrire le code nécessaire pour faire fonctionner l’affichage OLED. Avant de commencer, assurez-vous d’avoir installé les bibliothèques Adafruit_GFX et Adafruit_SSD1306 dans votre environnement Arduino.

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display(-1);

void setup()   
{                
	// initialize with the I2C addr 0x3C
	display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

	// Clear the buffer.
	display.clearDisplay();

	// Display Text
	display.setTextSize(1);
	display.setTextColor(WHITE);
	display.setCursor(0,28);
	display.println("Hello world!");
	display.display();
	delay(2000);
	display.clearDisplay();

	// Display Inverted Text
	display.setTextColor(BLACK, WHITE); // 'inverted' text
	display.setCursor(0,28);
	display.println("Hello world!");
	display.display();
	delay(2000);
	display.clearDisplay();

	// Changing Font Size
	display.setTextColor(WHITE);
	display.setCursor(0,24);
	display.setTextSize(2);
	display.println("Hello!");
	display.display();
	delay(2000);
	display.clearDisplay();

	// Display Numbers
	display.setTextSize(1);
	display.setCursor(0,28);
	display.println(123456789);
	display.display();
	delay(2000);
	display.clearDisplay();

	// Specifying Base For Numbers
	display.setCursor(0,28);
	display.print("0x"); display.print(0xFF, HEX); 
	display.print("(HEX) = ");
	display.print(0xFF, DEC);
	display.println("(DEC)"); 
	display.display();
	delay(2000);
	display.clearDisplay();

	// Display ASCII Characters
	display.setCursor(0,24);
	display.setTextSize(2);
	display.write(3);
	display.display();
	delay(2000);
	display.clearDisplay();

	// Scroll full screen
	display.setCursor(0,0);
	display.setTextSize(1);
	display.println("Full");
	display.println("screen");
	display.println("scrolling!");
	display.display();
	display.startscrollright(0x00, 0x07);
	delay(2000);
	display.stopscroll();
	delay(1000);
	display.startscrollleft(0x00, 0x07);
	delay(2000);
	display.stopscroll();
	delay(1000);    
	display.startscrolldiagright(0x00, 0x07);
	delay(2000);
	display.startscrolldiagleft(0x00, 0x07);
	delay(2000);
	display.stopscroll();
	display.clearDisplay();

	// Scroll part of the screen
	display.setCursor(0,0);
	display.setTextSize(1);
	display.println("Scroll");
	display.println("some part");
	display.println("of the screen.");
	display.display();
	display.startscrollright(0x00, 0x00);
}

void loop() {}

Explication du code

Le code ci-dessus commence par inclure les bibliothèques nécessaires et crée un objet display de la classe Adafruit_SSD1306 avec l’adresse I2C -1 pour ce module .

Dans la fonction setup(), nous initialisons l’écran OLED avec la commande display.begin(SSD1306_SWITCHCAPVCC, 0x3C). Ensuite, nous utilisons différentes fonctions pour afficher du texte, changer la taille de la police, afficher des nombres en différentes bases, afficher des caractères ASCII, et effectuer des opérations de défilement sur l’écran.

Pour afficher du texte, nous utilisons display.setTextSize() pour définir la taille de la police, display.setTextColor() pour définir la couleur du texte, et display.println() pour afficher le texte à la position spécifiée par display.setCursor().

Pour afficher des nombres en différentes bases, nous utilisons display.print() avec les arguments HEX pour l’affichage en hexadécimal et DEC pour l’affichage en décimal.

Pour afficher des caractères ASCII, nous utilisons display.write() avec le code ASCII du caractère spécifié.

Pour effectuer des opérations de défilement sur l’écran, nous utilisons différentes fonctions comme display.startscrollright(), display.startscrollleft(), display.startscrolldiagright(), et display.startscrolldiagleft() pour définir le sens et le délai du défilement. display.stopscroll() est utilisée pour arrêter le défilement.

Conclusion

Félicitations, vous avez maintenant appris à interfacer un module d’affichage graphique OLED avec Arduino ! Grâce à cet article, vous avez découvert les avantages des écrans OLED par rapport aux écrans LCD traditionnels, tels que leur efficacité énergétique, leur qualité d’image améliorée et leur durabilité.

Nous avons également exploré les différentes fonctionnalités offertes par le module OLED, telles que l’affichage de texte, de nombres en différentes bases, de caractères ASCII, ainsi que les opérations de défilement. Ces fonctionnalités peuvent être utilisées pour créer des projets interactifs et captivants.

N’hésitez pas à explorer d’avantage les capacités de cette affichage et à intégrer cette technologie dans vos futurs projets. Amusez-vous à créer des interfaces visuellement attrayantes et innovantes pour vos appareils électroniques en utilisant l’OLED avec Arduino !

Vidéo descriptif

Lien outilles

  1. Téléchargement de l’Arduino IDE : https://www.arduino.cc/en/software
  2. Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques
  3. TwitterMoussa Lhoussaine (@Moussasoft_com) / Twitter

Arduino – Home