Bonjour,
Je cherche à réaliser un programme pour mon écran oled SSD1306 en I2C. Je suis débutante dans le domaine et j’ai d’abord réalisé mon programme à l’aide des librairies adafruit_GFX et adafruit_SSD1306. Cependant les librairies prenant beaucoup d’espace mémoire sur ma carte arduino nano, je cherche à retranscrire mon programme à l’aide de la librairie u8glib. Celle-ci est plus compliquée à utiliser que les librairies adafruits. Je n’arrive par exemple pas à utiliser une boucle for à l’intérieur d’une fonction. Pouvez vous s’il vous plait me donner des éléments de réponse?
Cdt
#include "U8glib.h"
#define LINE_MAX 30
#define ROW_MAX 12
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI
int p;
void Titre(); // Page-1
void (*pages[])() = { Titre } ;
uint8_t screen[ROW_MAX][LINE_MAX];
// clear entire screen
void clear_screen(void) {
uint8_t i, j;
for( i = 0; i < ROW_MAX; i++ )
for( j = 0; j < LINE_MAX; j++ )
screen[i][j] = 0;
}
void setup() {
u8g.setFont(u8g_font_unifont);
u8g.setColorIndex(6);
p = 0;
Serial.begin(9600);
}
void loop() {
u8g.firstPage();
do {
(*pages[p])();
} while( u8g.nextPage() );
delay(1000);
p = p+1;
if (p == 1)
p=0;
}
void Titre() {
char message[] = "Arrosage automatique";
for(int x = 0; x < 128; x+=2){
u8g.drawStr(128-x,15,message);
clear_screen();
}
}