Ecran OLED 128×64 0,96″ pour Arduino
Posted on: 19 mai 2015 /
Categories: Arduino
Aujourd’hui j’ai reçu un petit écran OLED pour Arduino :
Ecran OLED 0.96″ 128X64 blanc pour Arduino
Il s’agit donc d’un petit écran d’une résolution de 128 pixels de large par 64 pixels de haut, qui peut être suffisant pour certaines applications. Aussi, la technologie OLED est la plus confortable car chaque pixel est sa propre source de lumière, il n’y a donc pas de rétro-éclairage nécessaire.
J’ai utilisé la librairie U8Glib qui semble etre la plus simple:
https://github.com/olikraus/u8glib
Pour le câblage:
VCC sur 3.3V
GND sur GND
SCL sur SCL
SDA sur SDA
Simple, n’est-ce pas ?
Sketch utilisé pour cette démo:
#include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Identifier for this display board void draw(void) { // graphic commands to redraw the complete screen should be placed here u8g.setFont(u8g_font_unifont); //u8g.setFont(u8g_font_osb21); u8g.drawStr( 0, 22, "Hello World!"); } void setup(void) { // assign default color value if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { u8g.setColorIndex(255); // white } else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { u8g.setColorIndex(3); // max intensity } else if ( u8g.getMode() == U8G_MODE_BW ) { u8g.setColorIndex(1); // pixel on } else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { u8g.setHiColorByRGB(255,255,255); } } void loop(void) { // picture loop u8g.firstPage(); do { draw(); } while( u8g.nextPage() ); // rebuild the picture after some delay delay(50); }
Et voilà !
J’ai une question, comment faire passer le texte sur la ligne d’apres ?
Il n’y a pas de notion de ligne en réalité.
Avec l’instruction qui sert à “dessiner” du texte, on indique toujours les coordonnées du point de départ pour ce dessin.
Dans mon code, la ligne suivante va commencer à écrire “Hello World!” en commençant à x=0 pixels à partir de la gautche, et y=22 pixels à partir du haut de l’écran:
u8g.drawStr( 0, 22, “Hello World!”);
Voir cette image pour l’explication visuelle :
https://github.com/olikraus/u8glib/wiki/descpic/text_abc.png
Et plus de détails sur le wiki de la librairie u8g https://github.com/olikraus/u8glib/wiki/userreference