logoAirCarto
Tutoriel: l'écran OLED

Connexion de l'écran OLED SSD1306

Nous avons vu dans la partie précédente comment connecter un capteur de particules fines à un Arduino. Ici nous allons voir comment afficher les données mesurées sur un petit écran OLED de 128 sur 64 pixels. Contrairement au capteur de particules fines, l'écran que nous allons utiliser ici fonctionne en 3.3V et communique avec l'ardino en I2C (grâce aux ports SDA et SCK).

img_tools L'écran OLED SSD1306
img_tools Les pins 3.3V, GND, SDA et SCK
img_tools Connexion SSD1306 et Arduino

Pour connecter l'écran OLED au Arduino MEGA on utilise des câbles dupont et on relie:

Une fois ces branchements effectués vous pouvez connecter votre Arduino MEGA à l'ordinateur. L'écran ne s'allumera pas et c'est normal: il faut charger un code sur l'arduino pour que l'écran réagisse.

Installer les bibliothèque et téléverser un code

Pour fonctionner l'écran OLED nécessite deux bibliothèques qui sont disponible directement dans le logiciel Arduino IDE, il faut tout simplement les installer depuis le menu Outils → Gérér les bibliothèques. Une fois le gestionnaire de bibliothèque ouvert recherchez et installez Adafruit GFX Library by Adafruit et Adafruit SSD1306 by Adafruit.

Une fois les deux bibliothèques installées vous pouvez charger un code proposé par Adafruit en se allant dans Fichier → Exemples → Adafruit SSD1306 → ssd 1306_128x64_i2c. Avant de téléverser le code assurez vous d'avoir sélectionné le bon port de série (outils → port) et le bon type de carte (outils → type de carte: "Arduino Genuino/MEGA or MEGA 250").

Attention! Il est possible que le code ne fonctionne pas directement si vous n'effectuez pas une petite modification dans le code proposé par Adafruit. Pour corriger cet erreur, parcourez le code qui s'affiche et descendez jusqu'à la balise "void setup()" et dans la ligne qui commence "if (!display... " il faut remplacer 0x3D par 0x3C pour avoir ce résultat:

void setup() {
  Serial.begin(9600);

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
}

Si tout fonctionne bien vous devriez voir de nombreuses animations sur votre écran.

GIF

Afficher un message personalisé sur votre écran

Pour afficher un message de votre choix sur l'écran il suffit de télécharger le code ci-dessous et d'ouvrir le fichier avec le programme Arduino IDE. Vous pouvez changer le text qui se trouve entre guillemets aux lignes 24, 25 et 26 et voir résuletat une fois que le nouveau code a été téléverser sur la carte.

Titre 3

Parapgraphe