Hallöchen,
Hab mir letztens ein 0,96 zoll I²C 128x64p OLED Display gekauft. Dieses
will ich mit einem Arduino Uno ansteuern. Aber bei den ersten Tests
haben sich schon Probleme ergeben. Nur zur Info, ich bin bezüglich
Arduino noch nicht besonders weit, kenne nur das was wir in diesem Jahr
in der Schule gelernt haben und ich hab mich ein bisschen selbst
informiert. Beim Display kenn ich mich noch weniger aus, bei meinem gab
es eine pdf mit einem Beispielcode. Was ich damit sagen will, ist, dass
ich nicht weiß ob das Display spinnt oder ich einen Fehler mache.
1 |
|
2 | #include <U8g2lib.h>
|
3 | #include <Wire.h>
|
4 | U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
|
5 |
|
6 |
|
7 | void setup() {
|
8 | // put your setup code here, to run once:
|
9 |
|
10 | u8g2.begin();
|
11 | }
|
12 |
|
13 |
|
14 | void loop() {
|
15 | // put your main code here, to run repeatedly:
|
16 |
|
17 | int i = 5;
|
18 |
|
19 | u8g2.setFont(u8g2_font_t0_11_tf);
|
20 | u8g2.setFontRefHeightExtendedText();
|
21 | u8g2.setDrawColor(1);
|
22 | u8g2.setFontPosTop();
|
23 | u8g2.setFontDirection(0);
|
24 | u8g2.drawStr(1, 1, i);
|
25 | u8g2.sendBuffer();
|
26 | delay(25);
|
27 | }
|
Ich verwende die U8G2 Library (hab sie natürlich installiert). Hier habe
ich diese "Standardzeilen", die man ja anscheinend immer braucht, aus
dem Beispielcode übernommen. Eigentlich sollte hier einfach nur eine
Variable deklariert und dann am Display ausgegeben werden. Aber das
Display zeigt gar nichts an. Wenn ich z.b.
1 | u8g2.drawStr(1, 1, "1");
|
schreibe, dann wird 1 ausgegeben wie gewünscht.
Ich habe auch probiert, eine als double gespeicherte variable
auszugeben, aber da gibt es eine fehlermeldung, anscheinend weil die
"Koordinaten" für die Position der Schrift int sind.
1 | no known conversion for argument 3 from 'double' to 'const char*'
|
2 | exit status 1
|
3 | no matching function for call to 'U8G2_SSD1306_128X64_NONAME_F_HW_I2C::drawStr(int, int, double&)'
|
Kann mir bitte jemand weiterhelfen?
LG Julian