SSD1306

Salve,
Ho acquistato un display OLED basato su SSD1306, 128x64 pixel, come in figura allegato… e subito cominciano le sorprese:
-) L’indirizzo I2C è 0x3C (quella per i 128x32) e non 0x3D come dovrebbe essere per i 128x64
-) Ogni riga è composta da 4 pixel, non 8 come dovrebbero essere…
-) Facendo alcune prove, vedo in realtà 8 file composte da 4 colonne-
Da queste tre considerazioni se ne dedurrebbe che il display in realtà sarebbe 128x32; ma se lo compilo con la direttiva #define SSD1306_128_64 tutto è OK, con la corrisponde #define SSD1306_128_32 non riesco a vedere nulla… da cui se ne dedurrebbe che il display sarebbe 128x64.

L’ indirizzo I2C e’ selezionabile mediante il pin 13 del display: 1= 0x3D 0= 0x3C.

IL 128x32 e’ vistosamente diverso dal 128x64 perche’ e’ alto la meta’, non c’e’ bisogno di contare i pixel.
Inoltre se il tuo funziona correttamente dichiarandolo 128x64 e’ sicuramente 128x64.

Ciao
Marco

Sì… ma facendo riferimento al suo datasheet del 128x64, se scrivo ‘0xFF’ nella memoria; nella corrispondente locazione visualizzo solo 4 pixel incolonnati, invece di 8 come mi sarei aspettato.
E’ questo che non mi torna per nulla

se lo compilo con la direttiva #define SSD1306_128_64 tutto è OK,

Quindi non e’ tutto ok ... ::slight_smile:

Che libreria stai usando?

Comunque penso che sia guasto ...

Che libreria stai usando?

Quella Standard, della Adafruit

Comunque penso che sia guato

Potrebbe anche essere... ne ho altri 5/6 in casa; domani li proverò.

Prova QUESTA di libreria ... è estremamente efficiente ed affidabile :slight_smile:

Guglielmo