Problème avec U8g2

Bonjour mes amis.
Vous pouvez m'aider s'il vous plaît, à résoudre ce problème, ci-dessous ?

Parce qu'ici je suis en train de faire un détecteur de foudre ou d'orage, et je cherche le code pour réaliser ce projet, avec un écran j'ai déjà un module de capteur de foudre CJMCU3935 MA5532-EA.
Il y a plus de 15 jours que je chercher, vous pouvez m'aider.

C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_prepare()':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:366:3: error: 'u8g2' was not declared in this scope
u8g2.setFont(u8g2_font_6x10_tf);
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:366:3: note: suggested alternative: 'U8G2'
u8g2.setFont(u8g2_font_6x10_tf);
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_box_frame(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:374:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "drawBox");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:374:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "drawBox");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_disc_circle(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:383:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "drawDisc");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:383:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "drawDisc");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_r_frame(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:392:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "drawRFrame/Box");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:392:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "drawRFrame/Box");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_string(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:398:3: error: 'u8g2' was not declared in this scope
u8g2.setFontDirection(0);
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:398:3: note: suggested alternative: 'U8G2'
u8g2.setFontDirection(0);
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_line(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:409:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "drawLine");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:409:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "drawLine");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_triangle(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:418:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "drawTriangle");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:418:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "drawTriangle");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_ascii_1()':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:428:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "ASCII page 1");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:428:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "ASCII page 1");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_ascii_2()':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:440:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "ASCII page 2");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:440:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "ASCII page 2");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_extra_page(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:451:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr( 0, 0, "Unicode");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:451:3: note: suggested alternative: 'U8G2'
u8g2.drawStr( 0, 0, "Unicode");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_bitmap_overlay(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:501:3: error: 'u8g2' was not declared in this scope
u8g2.drawStr(0, 0, "Bitmap overlay");
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:501:3: note: suggested alternative: 'U8G2'
u8g2.drawStr(0, 0, "Bitmap overlay");
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void u8g2_bitmap_modes(uint8_t)':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:520:3: error: 'u8g2' was not declared in this scope
u8g2.drawBox(0, frame_size * 0.5, frame_size * 5, frame_size);
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:520:3: note: suggested alternative: 'U8G2'
u8g2.drawBox(0, frame_size * 0.5, frame_size * 5, frame_size);
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void setup()':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:562:3: error: 'u8g2' was not declared in this scope
u8g2.begin();
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:562:3: note: suggested alternative: 'U8G2'
u8g2.begin();
^~~~
U8G2
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino: In function 'void loop()':
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:567:3: error: 'u8g2' was not declared in this scope
u8g2.clearBuffer();
^~~~
C:\Users\fautr\AppData\Local\Temp.arduinoIDE-unsaved202376-12868-2ooupa.8r78r\GraphicsTest\GraphicsTest.ino:567:3: note: suggested alternative: 'U8G2'
u8g2.clearBuffer();
^~~~
U8G2

exit status 1

Compilation error: 'u8g2' was not declared in this scope

J’ai déplacé votre sujet de la section forum anglais à la section forum français.
Veuillez vous référer au guide suivant pour plus d’informations.
Règles de la section du forum français.
Merci.

vous avez installé la bibliothèque adéquate ?

(lisez les conseils des bonnes pratiques pour voir quoi poster (et comment), on ne peut pas faire grand chose de ce que vous avez mis (il nous faudrait le code, des infos sur votre installation et le circuit etc)

Je prends une des erreurs au hasard (ce sont toutes les mêmes, donc si on corrige une on corrige tout). Ici u8g2 semble être une instance d'un objet créé dans ton code, très probablement lié à la bibliothèque graphique. Sûrement ton écran.

L'erreur indique que tu n'as pas créé / déclaré cette instance :

Pour aller plus loin, il faut que tu nous en dises plus, en particulier :

  • Quel arduino
  • Quel écran : type (LCD, OLED, etc) et bus de com (SPI, I2C ?)
  • et ton code

Tu peux trouver de l'aide ici, si tu ne sais pas répondre :

En gros, il faut que tu déclares ton écran au début du code, avant le setup, par une ligne qui ressemble à ça :

U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, 13, 11, 10, 8);

Le texte U8G2_ST7920_128X64_1_SW_SPI dépend de ton écran : on pourra le trouver quand tu nous auras donné des réponses. Une photo de l'écran (recto verso) peut aider aussi

Bonjour Lesept.

Merci beaucoup, pour votre aide, voici les photos ci-jointes



La suite les photos



C'est un écran OLED en I2C. Quelle est la résolution ? Nombre de pixels en x et en y ?

Excusez-moi encore, aux faites ce programme c'est uniquement pour tester l'écran. Il est existe bien d'autres programme. Parce qu'ici je ne vois pas comment faire pour déclarer l'écran et ou placer, si je pourrais avoir un exemple, afin je vais encore chercher pour que ça marche, je ne suis pas très fort en informatique mais j'arrive, je vous en remercie beaucoup de votre aide.

Ca ressemble à ça, je t'ai donné cet exemple un peu plus haut. Pour savoir la syntaxe exacte, il faut connaitre l'écran. J'ai besoin de savoir la résolution. Par exemple, ici c'est 128 x 64.

La liste de tous les constructeurs (les instructions de déclaration de l'écran) est ici :

Bonjour lesept

Voici que j'ai pu trouver la où j'ai acheté ces écrans en lot, c'est bien un 128x64.

5 Pièces 0,96 Pouces Module OLED 12864 128x64 Carte d'Affichage Auto-Lumineuse Série IIC I2C du Pilote Compatible avec Arduino

Il aurait été préférable de passer le lien vers le site en question pour avoir toutes les infos sur cet écran.

Néanmoins, avec le programme GraphicsTest.ino, tu pourrais commencer par décommenter la ligne suivante qui doit probablement passer avec la majorité des écrans de ce type car le SSD1306 est un des drivers les plus utilisés

//U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

Si ça ne fonctionne pas, il faut tâtonner en remettant cette ligne en commentaire et en essayant une autre il faut juste s'assurer que dans le nom il y a _HW_I2C

1 Like

Bonjour mes amis.
Vous êtes tous formidables, vous m'avez vraiment bien aider, après avoir vérifier les mises à jours et installer, tout à fonctionne parfaitement bien, avec le programme ssd1306_126x64_i2c que j'étais chercher dans la bibliothèques, avais pas mal de mise à jour, maintenant que tout fonctionne, et encore merci beaucoup, vous avait été formidable. Une excellente journée, porter vous bien.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.