oled ssd1306 I2C u8glib

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();
  }
}

If you're having trouble with those, I've released a library for that display which is much simpler to use. It doesn't offer as many options, but it takes a different approach that greatly reduces its complexity:

Larry's OLED Library