LCD 128*64 con Uglib8 non da segni grafici

Buonasera a tutti. Un paio di ore fa carico il seguente sketch su Arduino nano e tutto funziona regolarmente sul display. Scritte righe e quant’altro.

#include "U8glib.h"

U8GLIB_ST7920_128X64_1X u8g(13, 11, 10);	// SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10

void draw(void) {
  u8g.drawLine(0, 6, 127, 6);
  u8g.drawLine(0, 57, 127, 57);

  u8g.setFont(u8g_font_04b_03br);
  u8g.drawStr(0, 5, "T.AMB.:");
  u8g.drawStr(27, 5, "23.4");
  u8g.drawStr(48, 5, "C");
  u8g.setFont(u8g_font_5x7);
  u8g.setPrintPos( 43, 6);
  u8g.print(char (0xb0));

  u8g.setFont(u8g_font_04b_03br);
  u8g.drawStr(83, 5, "H.REL.:");
  u8g.drawStr(110, 5, "78");
  u8g.drawStr(123, 5, "%");

  u8g.drawStr(0, 64, "T.TUBI:");
  u8g.drawStr(27, 64, "18.9");
  u8g.drawStr(48, 64, "C");
  u8g.setFont(u8g_font_5x7);
  u8g.setPrintPos( 43, 65);
  u8g.print(char (0xb0));

  u8g.setFont(u8g_font_04b_03br);
  u8g.drawStr(90, 64, "RISC.:");
  u8g.drawStr(114, 64, "OFF");

/*  
  u8g.setFont(u8g_font_9x18);
  u8g.drawStr(2, 20, "WH");
  u8g.drawStr(2, 38, "180");
  u8g.setFont(u8g_font_5x7);
  u8g.setPrintPos( 8, 52);
  u8g.print(char (0xb0));
  u8g.drawStr(13, 52, "F");
*/
  u8g.setFont(u8g_font_9x18);
  u8g.drawStr(50, 20, "TDS");
  u8g.drawStr(50, 38, "18");
  u8g.setFont(u8g_font_5x8);
  u8g.drawStr(55, 52, "ppm");

  u8g.setFont(u8g_font_9x18);
  u8g.drawStr(100, 20, "EC");
  u8g.drawStr(100, 38, "28");
  u8g.setFont(u8g_font_5x8);
  u8g.setPrintPos( 100, 52);
  u8g.print(char (0xb0));

}

void setup(void) {
}

void loop(void) {
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(1000);
}

Questa è solo la bozza della parte grafica nel display.
Poi procedo a controllare gli altri sketch tra sensori temperatura, flusso, relè e altro.
Creo ogni singolo sketch in modo da individuare rapidamente gli errori e poi assemblo tutto in un unico.
Dopo averli testati tutti passo nuovamente a caricare quello che ho messo in visione sopra e nulla. Display vuoto. Solo luce di sfondo accesa.
C’è un modo per resettarlo? La cache interna se ce ne fosse una o qualcosa del genere?

Alberto

Se riprovi a caricare solo lo sketch che hai postato funziona? Se si, il problema sta nella roba che hai aggiunto (elementare Watson!). Non è da escludere che tu stia anche saturando la memoria, la libreria grafica usa un buffer, e se a questo aggiungi altro è facile che superi i 2K del nano.
Se non hai bisogno della parte grafica (in fondo mi pare che disegni solo 2 linee) puoi provare ad usare la libreria u8x8, dello stesso autore e con un'interfaccia molto simile, ma che non usa un buffer, risparmiando memoria.

Ciao, Ale.

Se ricarico lo sketch non funziona ( compila e carica regolarmente).
Questo tipo di display con la U8glib li ho usati per altre cose ben più ricche di schifezze grafiche e non ho mai avuto problemi.
Non conosco la u8x8 ma prima di cambiare strada vorrei capire.

Allora ricontrolla i collegamenti, specialmodo se sei su una breadboard, se hai altri cavetti prova a cambiarli, non sarebbe la priva volta che si impazzisce una mezza giornata per un cavetto fasullo (perlomeno, a me è capitato, e anche più di una volta).

Ciao, Ale.

Il display è in sede con cablaggio fisso ma stasera riprovo e visto che ne ho uno identico da montare lo proverò su breadboard.

Grazie intanto.
Alberto