In acest articol vom utiliza un afisaj grafic LCD 128x64 pixeli cu controller ST7290.
Pentru a putea folosi acest display va trebui sa adaugam libraria U8Glib in editorul Arduino. Aceasta librarie poate fi descarcata de aici si se instaleaza accesand meniul Schita > Incarcare biblioteca > Adauga biblioteca.zip.
Conectarea o vom relativ simplu folosind interfata SPI si este facuta ca in schema de mai jos:

Sketch-ul folosit este urmatorul:
#include "U8glib.h"
U8GLIB_ST7920_128X64 u8g(52, 51, 50, U8G_PIN_NONE);
void ecran1(void) {
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 15, 18, "www.");
u8g.drawStr( 03, 38, "electronicstore");
u8g.drawStr( 80, 58, ".ro");
}
void ecran2(void) {
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 07, 18, "Folosirea unui");
u8g.drawStr( 07, 38, "LCD grafic");
u8g.drawStr( 07, 58, "cu Arduino");
}
void ecran3(void) {
u8g.setFont(u8g_font_7x13);
u8g.drawStr( 07, 18, "Display grafic");
u8g.drawStr( 07, 38, "LCD 128*64 pixeli");
u8g.drawStr( 07, 58, "cu chipset ST7290");
}
void clearLCD(){
u8g.firstPage();
do {
} while( u8g.nextPage() );
}
void setup(void) {
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255);
}
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
u8g.setColorIndex(3);
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1);
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255,255,255);
}
}
void loop(void) {
u8g.firstPage();
do {
u8g.drawFrame(0,0,127,63);
ecran1();
} while( u8g.nextPage() );
delay(2000);
clearLCD();
u8g.firstPage();
do {
u8g.drawFrame(0,0,127,63);
u8g.drawFrame(2,2,123,59);
ecran2();
} while( u8g.nextPage() );
delay(2000);
clearLCD();
u8g.firstPage();
do {
ecran3();
} while( u8g.nextPage() );
delay(3000);
clearLCD();
delay(50);
}
Rezultatul va fi urmatorul:


