ecran lcd 128x64 en I2c

salut à tous ,
je viens de recevoir un lcd 128x64 pour remplacer le classique 16x2

mais je n'arrive pas à choisir la taille et la position des caractères comme avec le 16x2 ou le oled 128x64.

c’est un écran avec une puce st7920

j’arrive à le faire fonctionner en i2c 0x27 avec le hello world du 16x2

j’obtiens des gros caractères

et aussi avec un exemple test graphique du oled 128x64 mais c’est pas propre

L'image

Selon ce tuto, tu peux utiliser la bibliothèque u8g2

oui j'étais tombé la dessus , je pense que je vais laisser tomber la connexion i2c et la librairie lyquidcrystal .

et utiliser la connexion spi , il n'y a qu'un fil de plus.

je vais tester ça mais faut que je dessoude les 16 pins de l'adaptateur

c’est bon ça fonctionne en spi ! j’ai le hello world !

j’ai une erreur quand je veux afficher les variables , je peux juste afficher du texte entre""

u8g2.clearBuffer();          // clear the internal memory
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
u8g2.drawStr(10,38,voie1Read); // write something to the internal memory
u8g2.sendBuffer();          // transfer internal memory to the display
  delay(1000);

à cause du voie1read j’ai le message suivant :

no matching function for call to ‘U8G2_ST7920_128X64_F_SW_SPI::drawStr(int, int, double&)’

j’ai essayé avec :

u8g2.drawStr(10, 38, voie1Read.c_str());

j’obtiens ça :

request for member ‘c_str’ in ‘voie1Read’, which is of non-class type ‘double’

c'est bon ça fonctionne comme ça :

u8g2.clearBuffer();          // clear the internal memory
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font




u8g2.setCursor(0, 10);  //separate setCursor(), print() accepts all Print.h arguments
u8g2.print(voie1Read);  //


    u8g2.setCursor(0, 40);  //separate setCursor(), print() accepts all Print.h arguments
    u8g2.print(voie2Read);  //





u8g2.sendBuffer();          // transfer internal memory to the display
  delay(1000);