Outils pour utilisateurs

Outils du site


hardware:electronique:afficheurs_oled

Afficheurs OLED

todo

  • Afficheurs OLED format 0.91“(128×32 OLED) et 0.96”(128×64 OLED)
  • TCA9548A: multiplexeur I2C

Les afficheurs de type OLED1) utilisent des diodes électroluminescentes. Une caractéristique importante de ce type d'afficheur est qu'il n'a pas besoin de rétro éclairage, il consomme peu.

Avantages:

  • Pas besoin de rétroéclairage
  • affichage léger
  • Basse consommation
  • angle de vision large
  • intensité et contrastes élevés
  • temps de réponse faible
  • noir intense

Inconvénients:

  • Technologie plus onéreuse que LCD
  • Cycle de vie plus court que LCD
  • OLED peut se détériorer rapidement si la même image est affichée en continu (l'image restera alors en permanence sur l'écran).
  • eau et humidité détériore se type d'afficheur.

Certains modèles d'afficheurs permettent de définir l'adresse du périphérique I2C (via switchs ou resistances).

Bibliothèques

Il existe de nombreuses bibliothèques permettant de gérer ces afficheurs comme u8glib ou adafruit qui à l'avantage d' être simple d'utilisation.

Installer les bibliothèques adafruit

Dans l'IDE Arduino:

  • Menu Croquis → Inclure une bibliothèque → Gérer les bibliothèques;
  • Installer adafruit_GFX et adafruit_SSD1306
  • Définir correctement l'adresse du périphérique dans le code et le header Adafruit_SSD1306.h
  • La taille de l'afficheur devra être correctement définie dans header de la bibliothèque Adafruit_SSD1306.h
  • Pour les devkit remplacer OLED_RESET 4 par LED_BUILTIN

A partir du sketch exemple :

  • Menu Fichier Exemples → Adafruit SSD1306 → ssd_1306_128x64_i2c

Modifier la valeur de OLED_RESET

# Redéfinir la valeur de OLED_RESET pour le DevKit
#define OLED_RESET     LED_BUILTIN

Définir la constante de portée globale I2C_DISPLAY_ADDRESS

# L'afficheur fournit dans le kit utilise l'adresse i2c 0x3c
const int I2C_DISPLAY_ADDRESS = 0x3c;

Dans la fonction setup(), appeler display.begin() avec en paramètre l'adresse de l'afficheur:

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

Ressources

Références

1)
Organic Light Emitting Diode
hardware/electronique/afficheurs_oled.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1