Ajouter un commentaire

Arduino : librairie graphique pour écran OLED

Par:
francoistonic

lun, 06/07/2015 - 14:20

Vous avez sans doute été confronté à ce problème : j’achète un écran OLED  (typiquement du 96x96) pour quelques euros, je le connecte mais après je fais comment ? 

Vous serez souvent dans un des 2 cas suivants :

  • OLED d’un fournisseur « officiel » : une librairie est sans doute proposée par défaut et qu’il faudra récupérer (voir la doc officielle si elle existe)
  • OLED générique (sans marque) : pas de doc technique le plus souvent, aucun exemple.

Pour un OLED officiel, vous trouverez une documentation plus ou moins officielle et/ou une librairie. La communauté a peut être aussi déjà travaillé avec cet écran, n’hésitez jamais à chercher, notamment sur Instructable. 

Dans le cas d’un OLED générique, cela peut rapidement être délicat à gérer. Il existe plusieurs librairies graphiques pour OLED sur Arduino (notre usage). Nous avons rapidement opté pour la librairie U8glib. Cette librairie est très générique et est utilisable par de nombreux écrans, notamment avec une carte Arduino. Le projet a récemment migré sur Github.

U8glib s’installe comme toute autre libraire Arduino et dans son code, il suffit de faire un include pour l’inclure. Pour un débutant en Arduino ou en programmation, elle nécessite un temps d’apprentissage car elle est très riche et il faut un peu de temps pour comprendre sa « logique » surtout pour de l’affichage complexe de données de différents composants, avec différentes polices, etc. Et parfois, l’affichage se révèle très instable. Il faudra bien choisir le constructeur, celui-ci est indispensable pour pouvoir gérer l'écran et afficher dessus.

Si vous ne voulez pas vous embêter, un écran de type Grove OLED qui simplifie beaucoup la programmation mais la librairie Grove est aussi moins riche que la U8glib.

François Tonic

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 ZZZZZ  M   M  X   X  N   N  M   M 
Z MM MM X X NN N MM MM
Z M M M X N N N M M M
Z M M X X N NN M M
ZZZZZ M M X X N N M M