Graphic LCD 128x64

Ciao a tutti,

ho un display lcd grafico 128x64 controllato con un bv4511/2 (datasheet http://www.byvac.com/downloads/datasheets/BV4511-2%20Controler%20DataSheet.pdf ) questo funziona sia in seriale che in I2C.

Ho visto molti che riescono a far apparire immagini sul display così ho deciso di provarci anche io :smiley:

Dopo aver convertito l’immagine da bmp in “caratteri” non riesco a farla uscire sul display.

la conversione l’ho effettuata utilizzando Mikrobasic pro…

dopo aver converito ho inserito tutto in un vettore su arduino e ho trasferito il tutto.

#include <BSerial.h>
BSerial bv(3,4);  // impostazione piedini display

 char img[1024] = {
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,   0,  64, 128,   0,  98,  68,   8,  16,   0, 128,  72, 132,   0,   0,  96,  32,   0, 192,  64,   0, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,  16, 132, 121,   4,   3,   1, 128,   0,   0,   0,   0,   0,   0,   0,  24,  23,  16,   0,   0,   0,  32,  32,  64, 128, 128,   1,  34, 156, 112, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,   0,  64, 192,   0,  96,  64,  16,  64,  96,  32, 128,  64,   0, 128,   0,   0,   0,   0,   0,   0,  32,  16,   0,   0,   0,   4,   0,   0,   0,   3,   0,   3,   0,   4,   4,   6,   8,  16, 112, 192,   0,   0,   0,   0,   0,   0,   0,   0, 128,  32,   0,   0,   8,   1,   7,   6,   4,   6,   4,   7,   4,   4,   0,   8,   8,  16, 112, 192,   0,   0,   0,   0,   0,   0,   0,   0, 240,   0,   0, 122, 122,   0,  64,   0,   2,   0,   4, 248,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0, 128, 128,   0,  64, 128,   0,  96, 128,  48,  96,  24,  24,  32,  12,  20,  18,   6,  12,   3,   7,   4,   3,   3,  26,   1,  31, 125,  60,  60,  60, 125,  25,   6,   2,   3,   5,   4,   2,   9,  12,   6,  18,  10,  36,  48,  64,  96,  48, 192, 192,  32, 160, 192,  64,  16, 144,   0,   8,   8,   4,   6,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,  32,  32,  32,  32,  32,   0,  16,  16,   8,  12,   6,   3, 128, 128, 128,   0,   0, 192, 192, 128, 255,   0,   0,   7,  69,   8, 192, 135,   0,   0, 128, 255,   8, 224, 240, 240, 224, 192, 192, 128,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   1,   1,   1, 129,   1,  63,  33,  33,  33,  33, 123,  63,  37,  37,  37,  63, 187,  33,  33,  33,  57,  37,  35, 163,  39,  47,  61,  57,  49,  33,  35,  63,  39,  37,  45,  57,  57,  63,  63,  33,  33,  59, 127,  63,  37,  37,  37,  47,  59,  57,  49, 225,  33,  33,  33,  33,  63,  33,   1, 192,   0, 224,  32,  32,   0,   0,   0,  48,  48,  32,   0, 136, 152, 152,  16, 128, 140,  76,  72,  64,   0, 198, 230,  36,  32,   0,   3, 227, 242,  16,  16,   1,   1,   9, 248, 248,   0,   0,   4, 255,   0,   0, 141, 136, 152, 144,  61,   1,   0, 218, 255,   0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 248, 
  0,   0,   0,   0,   0,   0,   0,   0, 255,   0,   0,   0,   0, 255,  86,   0,   0,   0,   0, 255,   0,   0,   0,   0, 255, 255,  16, 172, 244,  62,  37,  39,  35,  34,  34, 226,  34,  34,  34,  35,  37,  38,  58, 228, 248,   0, 255, 255,   0,   0,   0, 255, 255,   0,   0, 255,   0,   0,   0,   0,   0,   0,   0,   0, 255,   2,   0,   0, 127,  65,  65,   0,  63,  63,   0,   0,  32,  32,  63,  63,   0, 128, 128, 128, 159, 159, 144, 144, 128, 128, 143, 143, 136,   8,  72,  72,  64, 199,  71, 192, 192,   4,  15,   0,  16,   5,  33,  34,  38,  32,  48,   0,  15,   6,   0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
  0,   0,   0,   0,   0,   0,  64,  64, 127,  64,  64,  64,  64, 127, 107,  64,  64,  64,  64, 127,  64,  64,  64,  64, 127, 127,  64,  84, 127,  64,  64,  64,  64,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 127, 127,  64, 127, 127,  64,  64,  64, 127, 127,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 240, 255,   0,   0,   0,   0,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,  64, 255, 255,   0,  16,  16,  16,  16,  16,  16,  16, 255,   0, 255, 255,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,  63, 255,  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
  0,   0,   0,   0,   0,   0,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   0,   0,   0,   0,   0,  63,  43,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  47,  32,  63,  63,  32,  32,  32,  32,  32,  32,  32,  32,  63,  32,  47,  47,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  63,  32,  32,  32,  47,  63,  47,  47,  63,  63,  63,  63,  63
};
}

void setup(){
bv.baud(9600);
  bv.putch(13);
  delay(500);
   bv.puts(img);


  delay(50000);


}

Il problema è che quando avvio il programma sul display non esce niente… secondo voi che sbaglio?

Grazie! :slight_smile:

Che Arduino usi? L'array occupa da solo 1kByte di RAM. Non so quanta ne ha bisogno la libreria. Potresti avere un problema di RAM piena che sovvrascrive parti importanti. Prova di mettere l' immagine nella FLASH con la funzione PROGMEM. Ciao Uwe

Ciao, grazie per la risposta immediata :smiley:

ho fatto alcune prove ma ho un errore quando vado a copiare parte della stringa nel buffer
strcpy_P(buffer, (char*)pgm_read_word(&(string_table*)));*
```
*#include <avr/pgmspace.h>
#include <BSerial.h>
BSerial bv(3,4);  // impostazione piedini display

void setup(){
 
 
prog_char string_0 PROGMEM = {
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 128,  0,  64, 128,  0,  98,  68,  8,  16,  0, 128,  72, 132,  0,  0,  96,  32,  0, 192,  64,  0, 128,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 128,  16, 132, 121,  4,  3,  1, 128,  0,  0,  0,  0,  0,  0,  0,  24,  23,  16,  0,  0,  0,  32,  32,  64, 128, 128,  1,  34, 156, 112, 128,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 128,  0,  64, 192,  0,  96,  64,  16,  64,  96,  32, 128,  64,  0, 128,  0,  0,  0,  0,  0,  0,  32,  16,  0,  0,  0,  4,  0,  0,  0,  3,  0,  3,  0,  4,  4,  6,  8,  16, 112, 192,  0,  0,  0,  0,  0,  0,  0,  0, 128,  32,  0,  0,  8,  1,  7,  6,  4,  6,  4,  7,  4,  4,  0,  8,  8,  16, 112, 192,  0,  0,  0,  0,  0,  0,  0,  0, 240,  0,  0, 122, 122,  0,  64,  0,  2,  0,  4, 248,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  0,  0,  0,  0, 128, 128,  0,  64, 128,  0,  96, 128,  48,  96,  24,  24,  32,  12,  20,  18,  6,  12,  3,  7,  4,  3,  3,  26,  1,  31, 125,  60,  60,  60, 125,  25,  6,  2,  3,  5,  4,  2,  9,  12,  6,  18,  10,  36,  48,  64,  96,  48, 192, 192,  32, 160, 192,  64,  16, 144,  0,  8,  8,  4,  6,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  32,  32,  32,  32,  32,  0,  16,  16,  8,  12,  6,  3, 128, 128, 128,  0,  0, 192, 192, 128, 255,  0,  0,  7,  69,  8, 192, 135,  0,  0, 128, 255,  8, 224, 240, 240, 224, 192, 192, 128,  0,  0,  0,  0,  0,  0,
  0,  0,  0,  1,  1,  1, 129,  1,  63,  33,  33,  33,  33, 123,  63,  37,  37,  37,  63, 187,  33,  33,  33,  57,  37,  35, 163,  39,  47,  61,  57,  49,  33,  35,  63,  39,  37,  45,  57,  57,  63,  63,  33,  33,  59, 127,  63,  37,  37,  37,  47,  59,  57,  49, 225,  33,  33,  33,  33,  63,  33,  1, 192,  0, 224,  32,  32,  0,  0,  0,  48,  48,  32,  0, 136, 152, 152,  16, 128, 140,  76,  72,  64,  0, 198, 230,  36,  32,  0,  3, 227, 242,  16,  16,  1,  1,  9, 248, 248,  0,  0,  4, 255,  0,  0, 141, 136, 152, 144,  61,  1,  0, 218, 255,  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 248,
  0,  0,  0,  0,  0,  0,  0,  0, 255,  0,  0,  0,  0, 255,  86,  0,  0,  0,  0, 255,  0,  0,  0,  0, 255, 255,  16, 172, 244,  62,  37,  39,  35,  34,  34, 226,  34,  34,  34,  35,  37,  38,  58, 228, 248,  0, 255, 255,  0,  0,  0, 255, 255,  0,  0, 255,  0,  0,  0,  0,  0,  0,  0,  0, 255,  2,  0,  0, 127,  65,  65,  0,  63,  63,  0,  0,  32,  32,  63,  63,  0, 128, 128, 128, 159, 159, 144, 144, 128, 128, 143, 143, 136,  8,  72,  72,  64, 199,  71, 192, 192,  4,  15,  0,  16,  5,  33,  34,  38,  32,  48,  0,  15,  6,  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  0,  0,  0,  0,  0,  0,  64,  64, 127,  64,  64,  64,  64, 127, 107,  64,  64,  64,  64, 127,  64,  64,  64,  64, 127, 127,  64,  84, 127,  64,  64,  64,  64,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 127, 127,  64, 127, 127,  64,  64,  64, 127, 127,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 240, 255,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 255,  64, 255, 255,  0,  16,  16,  16,  16,  16,  16,  16, 255,  0, 255, 255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 255,  63, 255,  15, 255, 255, 255, 255, 255, 255, 255, 255, 255,
  0,  0,  0,  0,  0,  0,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  0,  0,  0,  0,  0,  63,  43,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  47,  32,  63,  63,  32,  32,  32,  32,  32,  32,  32,  32,  63,  32,  47,  47,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  63,  32,  32,  32,  47,  63,  47,  47,  63,  63,  63,  63,  63
};

PROGMEM const char *string_table =  

  string_0,

};

}

char buffer[30];
void loop(){

for (int i = 0; i < 6; i++)
  {
    strcpy_P(buffer, (char*)pgm_read_word(&(string_table[i]))); // Necessary casts and dereferencing, just copy.
  bv.puts( buffer );
    delay( 500 );
  }

delay(50000);
}*
```
E’ così che devo fare per prendere dalla memoria i dati?
Grazie!

Ma che errore hai? Non è che si lamenta della virgola dopo string_0 nell'assegnazione a PROGMEM della char string_table?

Ciao ho sbagliato io a scrivere, non è quello l’errore :smiley:

Ho fatto qualche piccola modifica e adesso ho un errore come se non ho dichiarato una variabile

#include <avr/pgmspace.h>
#include <BSerial.h>
BSerial bv(3,4);  // impostazione piedini display

void setup(){
  
  
prog_char string_0[] PROGMEM = {
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,   0,  64, 128,   0,  98,  68,   8,  16,   0, 128,  72, 132,   0,   0,  96,  32,   0, 192,  64,   0, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,  16, 132, 121,   4,   3,   1, 128,   0,   0,   0,   0,   0,   0,   0,  24,  23,  16,   0,   0,   0,  32,  32,  64, 128, 128,   1,  34, 156, 112, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128,   0,  64, 192,   0,  96,  64,  16,  64,  96,  32, 128,  64,   0, 128,   0,   0,   0,   0,   0,   0,  32,  16,   0,   0,   0,   4,   0,   0,   0,   3,   0,   3,   0,   4,   4,   6,   8,  16, 112, 192,   0,   0,   0,   0,   0,   0,   0,   0, 128,  32,   0,   0,   8,   1,   7,   6,   4,   6,   4,   7,   4,   4,   0,   8,   8,  16, 112, 192,   0,   0,   0,   0,   0,   0,   0,   0, 240,   0,   0, 122, 122,   0,  64,   0,   2,   0,   4, 248,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0, 128, 128,   0,  64, 128,   0,  96, 128,  48,  96,  24,  24,  32,  12,  20,  18,   6,  12,   3,   7,   4,   3,   3,  26,   1,  31, 125,  60,  60,  60, 125,  25,   6,   2,   3,   5,   4,   2,   9,  12,   6,  18,  10,  36,  48,  64,  96,  48, 192, 192,  32, 160, 192,  64,  16, 144,   0,   8,   8,   4,   6,   1,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,  32,  32,  32,  32,  32,   0,  16,  16,   8,  12,   6,   3, 128, 128, 128,   0,   0, 192, 192, 128, 255,   0,   0,   7,  69,   8, 192, 135,   0,   0, 128, 255,   8, 224, 240, 240, 224, 192, 192, 128,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   1,   1,   1, 129,   1,  63,  33,  33,  33,  33, 123,  63,  37,  37,  37,  63, 187,  33,  33,  33,  57,  37,  35, 163,  39,  47,  61,  57,  49,  33,  35,  63,  39,  37,  45,  57,  57,  63,  63,  33,  33,  59, 127,  63,  37,  37,  37,  47,  59,  57,  49, 225,  33,  33,  33,  33,  63,  33,   1, 192,   0, 224,  32,  32,   0,   0,   0,  48,  48,  32,   0, 136, 152, 152,  16, 128, 140,  76,  72,  64,   0, 198, 230,  36,  32,   0,   3, 227, 242,  16,  16,   1,   1,   9, 248, 248,   0,   0,   4, 255,   0,   0, 141, 136, 152, 144,  61,   1,   0, 218, 255,   0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 248, 
  0,   0,   0,   0,   0,   0,   0,   0, 255,   0,   0,   0,   0, 255,  86,   0,   0,   0,   0, 255,   0,   0,   0,   0, 255, 255,  16, 172, 244,  62,  37,  39,  35,  34,  34, 226,  34,  34,  34,  35,  37,  38,  58, 228, 248,   0, 255, 255,   0,   0,   0, 255, 255,   0,   0, 255,   0,   0,   0,   0,   0,   0,   0,   0, 255,   2,   0,   0, 127,  65,  65,   0,  63,  63,   0,   0,  32,  32,  63,  63,   0, 128, 128, 128, 159, 159, 144, 144, 128, 128, 143, 143, 136,   8,  72,  72,  64, 199,  71, 192, 192,   4,  15,   0,  16,   5,  33,  34,  38,  32,  48,   0,  15,   6,   0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
  0,   0,   0,   0,   0,   0,  64,  64, 127,  64,  64,  64,  64, 127, 107,  64,  64,  64,  64, 127,  64,  64,  64,  64, 127, 127,  64,  84, 127,  64,  64,  64,  64,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 127, 127,  64, 127, 127,  64,  64,  64, 127, 127,  64,  64, 127,  64,  64,  64,  64,  64,  64,  64, 240, 255,   0,   0,   0,   0,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,  64, 255, 255,   0,  16,  16,  16,  16,  16,  16,  16, 255,   0, 255, 255,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255,  63, 255,  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
  0,   0,   0,   0,   0,   0,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   0,   0,   0,   0,   0,  63,  43,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  47,  32,  63,  63,  32,  32,  32,  32,  32,  32,  32,  32,  63,  32,  47,  47,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  63,  32,  32,  32,  47,  63,  47,  47,  63,  63,  63,  63,  63
};


PROGMEM const char *string_table[] = 	   
{   
  string_0

};

}



char buffer[30];
void loop(){
  
 
  for (int i = 0; i < 6; i++)
  {
    strcpy_P(buffer, (char*)pgm_read_word(&(string_table[i]))); // Necessary casts and dereferencing, just copy. 
   bv.puts( buffer );
    delay( 500 );
  }

  delay(50000);
}

l’errore è string_table was not declared in this scope.
La stranezza è che gli dico cos’è…
Cosa posso fare?

Sapete se esistono esempi per fare questo fatto?

La dichiarazione

prog_char string_0[] PROGMEM = { ecc.

La devi mettere fuori da setup() perchè sia visibile in ambito (scope) globale.

Ciao QP

Si adesso riesco a compilarlo ma il display continua a non funzionare. Sul display non mi esce praticamente niente. Adesso Per semplificare le cose ho cambiato la seriale e sto utilizzando quella normale (Serial.print), collegando al pc l arduino mi arrivano delle stringhe incomprensibili che secondo me sono troppo piccole per essere un immagine xD

Il codice che ho utilizzato é praticamente lo stesso con la variabile fuori e al posto di bv ecc Serial.print.. Qualche idea?

Non credo che quel display sia in grado di rappresentare delle bitmap come intendi fare tu. Dalle informazioni che ho letto sul sito, il controller del display emula le sequenze di escape del mitico VT100, e tra queste sequenze ci sono quelle che permettono di tracciare linee, box e cerchi come puoi vedere qui alla sezione Escape codes. Ho visto un filmato su Youtube che mostra le prestazioni grafiche del controller ma, come scrive l'autore del video, la grafica l'ha costruita utilizzando "the hard way", calcolandosi a mano i parametri per tracciare curve, cubi ecc.

Ciao QP

http://www.youtube.com/watch?v=k0MspqxIPcE

Bello il video con musiche e testi del videogame portal!!!

Quindi non si può fare niente, ho capito bene?

fa niente… Per caso sapresti dirmi a che cosa corrisponde ^z?
ho provato a scriverlo in Serial.print("^z") ma mi riporta la scritta in uscita, invece di usarla come fine delcomando.

7.13. esc[?27D Sign On
The sign on message is stored in EEPROM and
there are approximately 220 bytes available
for a message that will be displayed at start
up or reset. This message is displayed BEFORE
the autobaud detect.
The message is made up of exactly the same
escape codes and text that would form a
normal display. The only difference is that it
must end with CTRL z (^z or byte value 26)
esc[?27D
… message body and formatting codes
^z
The above is what the message should look
like in order to be written to EEPROM. The
final ^z is important. This command if not
properly used may cause the display to stop
working, if this happens then a Hardware reset
is required.

^Z corrisponde a CTRL+Z ma certamente non puoi mandarlo con una stringa. Ti viene però in aiuto il testo che hai quotato:

CTRL z (^z or byte value 26)

^Z equivale al valore ASCII 26. Spedisci un Serial.print(26, BYTE): dovresti ottenere lo stesso risultato.

blasted: Quindi non si può fare niente, ho capito bene?

potresti collegarti direttamente al display in modalità seriale e disegnare l'immagine bye a byte, magari saltando gli spazi vuoti che la memoria è quella che è...