Electronique > Théorie > Afficheurs > Afficheurs OLED

Dernière mise à jour : 15/02/2015

ecran_oled_bolymin_001a Afficheurs OLED 

Présentation

Contrairement à ce que leur nom pourrait laisser penser, les afficheurs OLED (Organic Light Emitting Diode) partagent peu de points communs avec les afficheur à LED. Ces derniers sont en effet constitués de quelques LED pour illuminer de "larges" segments, alors que les afficheurs OLED sont, à l'instar des afficheurs LCD, composés d'une matrice de points aptes à représenter des lettres ou des graphiques (carré simple ou image bitmap, par exemple). Pourtant, celui qui souhaite afficher quelque chose sur un écran OLED fait vite le constat amer que cela n'est pas aussi simple que de piloter un écran LCD alphanumérique. En fait, on retrouve le degré de complexité auquel on peut avoir déjà goûté avec les écrans LCD graphiques. Certains fabricants (comme Digole) proposent des écrans OLED auxquels sont associé un microcontrôleur, lequel embarque la mécanique nécessaire pour simplifier leur usage (on envoie des commandes simples que l'uC associé traduit en commandes spécifiques à destination de l'écran). Si le débutant qui découvre ce type de produit (moi par exemple) peut se vanter d'avoir réussi à afficher un écran "complexe" en quelques lignes de code, c'est bien parce qu'on trouve sur la toile des bibliothèques toutes faites (pour Arduino ou autres uC) qui masquent singulièrement la complexité du procédé.

Constitution d'un afficheur OLED

Les afficheurs OLED sont constitués de matériaux semi-conducteurs basés sur le carbone et l'hydrogène (d'où l'appellation organique), qui s'éclairent quand ils sont soumis à une source de tension électrique. Cette propriété s'appelle l'électroluminescence (comme pour une LED standard qui elle aussi est un semi-conducteur). Un écran OLED présente l'avantage de ne pas nécessiter de rétro-éclairage comme c'est le cas pour les écrans LCD. Il offre un contraste plus élevé et une bonne lisibilité sur un large angle de vision, car la lumière émise est plus diffuse et moins directive. De plus, l'écran peut être très mince, transparent (qui n'aurait pas l'idée d'en fixer un sur une fenêtre pour voir un lumineux paysage à la place d'un ciel gris) et même flexible, ce qui ouvre la porte à de multiples application (éclairage "moderne" aux formes variées, affichage sur vêtements, etc).

ecran_oled_oledinfo_001a  ecran_oled_rave_001a

Le temps de réponse des écrans OLED (temps mis par l'afficheur pour activer ses pixels) est inférieur à la milliseconde, c'est plus rapide que le temps de réponse des écrans LCD et à priori adapté à la vidéo. Tout cela pourrait laisser penser que les écrans OLED ont tout pour remplacer les écrans LCD, mais un petit défaut limite leur usage à large échelle : leur durée de vie qui est d'un peu plus de 10000 heures (pour les modèles communs) et qui les destine plutôt à des produits jetables (téléphones portable ou baladeur MP3 par exemple) ou à des produits qui ne sont pas allumés 24/24h. Eh oui, un rapide calcul suffit pour se rendre à l'évidence : 365 jours x 24 heures = 8760, durée de vie estimée d'un peu plus d'un an. La technologie OLED ne serait donc pas, à priori, adaptée aux écrans TV ou d'ordinateur. Mais cette information est-elle encore d'actualité ? On peut en effet lire ici ou là que certains fabricants (Samsung et LG par exemple) proposent des dalles OLED d'une durée de vie supérieure à 50000 heures. Un autre inconvénient des écrans OLED est leur sensibilité à l'humidité, qui imposent des procédés de fabrication plus "stricts". Et puis, il ne faut pas oublier le frein au développement posé par le problème du brevet (détenu par plusieurs sociétés dont Kodak). Malgré ces inconvénients, les écrans OLED s'imposent de plus en plus. Même l'amateur peut s'y initier, on en trouve des tous petits à bas prix (j'en ai acheté un à 3 euros). Cela suffit pour se faire la main, et on se rend vite compte que leur résolution et contraste élevé permettent d'afficher des choses très lisibles sur une toute petite surface. Quant à leur fragilité, je ne suis pas sûr qu'on soit vraiment plus embêté qu'avec des écrans LCD...

Ecran OLED à matrice passive (PMOLED, PM = Passive Matrix)
Un écran PMOLED est plus facile et moins coûteux à construire, mais nécessite une tension de commande plus élevée pour disposer d'une luminosité comparable à celle offerte par les écrans AMOLED (matrice active). Un des inconvénients imposé par cette technologie est la taille et/ou la résolution réduite des écrans, car plus on augmente le nombre de lignes (ou de colonnes) et plus la tension de commande doit être élevée. Il n'est donc pas surprenant de constater que les écrans PMOLED sont de taille réduite (généralement inférieure à 3 pouces) et qu'on les réserve aux petits appareils (affichage secondaire de smartphone, lecteurs MP3, etc). Ce qui est bien suffisant pour afficher quelques lignes de texte et des petits graphismes.

Ecran OLED à matrice active (AMOLED, AM = Active Matrix)
Un écran AMOLED est plus coûteux à fabriquer car il comporte, en plus des pixels eux-même, des condensateurs destinés à "garder en mémoire" les états d'activation de chaque ligne. La tension requise pour activer les pixels est de ce fait moindre, et cette simple caractéristique suffit pour augmenter la durée de vie de l'écran. De plus et grâce à cette astuce, l'écran AMOLED consomme moins d'énergie et présente une vitesse de rafraichissement accrue. Les écrans AMOLED, de taille plus conséquente, sont plutôt destinés aux téléphones (écrans principaux), caméscope et téléviseurs. Mais c'est aussi ce type d'écran qui équipe certaines montres...

Alimentation d'un écran OLED
De par sa nature même, un écran OLED perd de sa luminosité avec le temps. Comme la résistance interne de la source lumineuse OLED s'accroit au fil de son utilisation, une commande en tension ne permet pas de compenser cette baisse de luminosité, qui du coup apparaît plus rapidement. Avec une commande en courant, la baisse de luminosité est moins perceptible et la "durée de vie" de l'écran s'en trouve allongée. De plus, les variations de flux lumineux en fonction des conditions extérieures (température) sont réduites. Bien sûr, ce mode de commande en courant n'est pas du ressort de l'utilisateur final, c'est un choix de conception mis en oeuvre par celui qui propose le produit "fini" (nous, bricoleurs, n'avons à la limite pas besoin de connaître ce détail).

Pilotage des écrans OLED

Il existe beaucoup d'écrans OLED sur le marché :
- de tailles différentes (par exemple 128x64, 128x96, 160x128, etc)
- avec ou sans le convertisseur DC/DC qui délivre la "haute tension"
- plus ou moins de broches de connexion, selon mode de dialogue (parallèle ou série)
- avec ou sans contrôleur annexe épaulant le contrôleur écran lui-même.
La plupart des écrans OLED à commande série comportent moins de broches que les écrans LCD à pilotage parallèle 4 ou 8 bits. Les commandes peuvent être envoyées en I2C ou SPI (2 ou 3 fils, auxquels il convient d'ajouter les deux fils d'alimentation masse et +V). Les écrans OLED associés à un microcontrôleur peuvent parfois être pilotés avec un seul fil (liaison série UART, un exemple est donné plus loin).

Modes de liaison : comment s'y reconnaître ?
Si vous disposez d'un écran OLED dont le mode de liaison vous échappe, alors sans doute pouvez-vous localiser le nom des broches de raccordement et voir ci-après à quoi elles correspondent.
Les signaux d'horloge (CLOCK) et de données (DATA) servent pour les liaisons de type I2C ou SPI.

Nota 1 : certains afficheurs n'accèptent qu'une tension d'alim de 3,3 V, d'autres comportent un régulateur de tension qui permet de les utiliser directement sous une tension de 5 V ou plus. Pour ceux qui sont prévus pour 3,3 V, pas question de les brancher directement sur un microcontrôleur qui tourne sous 5 V. Il faut insérer un adaptateur (convertisseur) de niveau, un CD4050 par exemple mais de simples résistances peuvent suffire pour abaisser la tension de 5 V à 3,3 V. Le régulateur de tension LM1086 peut être utilisé pour délivrer un +3,3 V à partir d'un +5 V. Si l'écran possède deux broches libellées 5V et 3V3, il y a de fortes chances pour qu'on puisse l'utiliser avec une tension de 5 V, en laissant dans ce cas la broche 3V3 en l'air (inutilisée).

Bien souvent dans les tutoriels destinés aux écrans OLED (pour Arduino, Raspberry ou autres), vous trouverez comment raccorder l'écran OLED au microcontrôleur. Cinq fils suffisent bien souvent !

Visualisation d'une lettre ou d'un graphique

L'écran OLED est constitué de pixels (monochromes ou RVB) qu'il faut allumer pour dessiner quelque chose. Ces pixels sont accessibles au moyen de commandes spécifiques que l'on doit envoyer à l'écran, via une liaison SPI ou I2C. Ces commandes qui sont assez nombreuses peuvent dérouter facilement le débutant. Heureusement, il existe des routines toutes faites (librairies) qui permettent de se simplifier la vie. Pour pouvoir afficher des lettres sur un écran OLED, il faut avant tout disposer d'une fonte (font, police de caractères). La fonte en question correspond au dessin nécessaire pour représenter chaque lettre de l'alphabet. Il est possible de disposer de plusieurs tailles de caractères, mais pour commencer on peut se contenter d'une seule. Les photos ci-après montrent différents afficheurs Digole en action. 

ecran_oled_digole_001b ecran_oled_digole_003b indicateur_niv_bat_007_proto_001c ecran_oled_digole_001d

Ces afficheurs sont associés à un PIC 18F26K20 qui comporte le code requis pour permettre une commande simplifiée. Lorsque j'ai débuté dans le monde des écrans OLED, je me suis bien gratté la tête. Et trouver un écran OLED équipé d'un uC épaulant le contrôleur écran était une belle aubaine !

ecran_oled_digole_002a

J'ai eu l'occasion de travailler sur un autre écran avec commandes simplifiées de 4D-System : le uOLED 160-G2 piloté par un processeur GOLDELOX. Très simple d'emploi lui aussi, je l'ai fait fonctionner avec de simples commandes UART. Et pour les autres écrans (Newhaven, Bolymin et autres à base de SSD1306, SSD1351, SSD1353 ou SEPS525) j'ai du mettre les mains dans le cambouis, goûtant aux joies des commandes d'initialisation et autres amuses-gueule.

ecran_oled_bolymin_001a ecran_oled_newhaven_001aecran_oled_4dsystem_001a ecran_oled_digole_001e