Arduino IDE, U8G2 Display Anschließen

Hallo,

hab heute vergebens versucht in der Arduino IDE Umgebung ein Display zum laufen zu bekommen.
IDE ist 2.2.2, U8G2 wurde alm (Beta) Master hinzugefügt.
Ich vermute ich mache was beim Anschließen falsch und oder auch mit dem Code ist es mir nicht ganz gelungen.

Es Handelt sich um einen VFD Grafik Display, GP1294, er war schon auf der Platine angelötet EVG256x48 200AP-C.

Geplant war eigentlich diesen mit ESP32 zu betreiben, auf der ESP und ESP8266 habe ich es auch nicht hin bekommen. Auch nicht mit Arduino Mega 2560. Vermutlich schnalle ich das nicht, mit den richtigen Pins.

Habe die Platine nach dem Beispiel angeschlossen, es ist aber ein anderer Display, 256 x 50. Auch aus dem Beispiel den Code probiert. Half aber auch net, dann auch die richtige Ausklammerung weggemacht und die Pinns etwas angepasst, leider auch ohne Erfolg:

https://www.hackster.io/mircemk/simple-esp8266-ntp-clock-on-vfd-display-vfd256x50-gp1287-e0187a

Theoretisch sind die Anschlüsse gleich, von meiner Platine:

Anschlüsse

In seinem Beispiel hat er diesen Eintrag:

U8X8_GP1287AI_256X50_4W_SW_SPI u8x8(/* clock=*/ 0, /* data=*/ 2, /* cs=*/ 14, /* dc=*/ 4, /* reset=*/16);

Wenn ich die Beispiele von der Arduino IDE nehme und mein Display ausklammere, sieht es so aus:

U8G2_GP1294AI_256X48_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/10, /* dc=*/U8X8_PIN_NONE, /* reset=*/8);

Mache ich die Zeile in seinen Sketch rein, meckert er beim zusammenbauen.
Was macht in meinem Beispiel der Eintrag "U8G2_R0", Pin 0? Und der hier " U8X8_PIN_NONE", den gar nicht anschließen?

Und wenn man die schönen Beispiele aus der Arduino IDE verwenden möchte, und dafür ein ESP nutzen möchte, muss man des Scetch anpassen? Oder so stehen lassen:

#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

Der richtige Board ist ja ausgewählt, der ESP kommt auch in den Wlan z.B. aber das Display bleibt aus.
Ach ja Stromversorgung zum flashen nutze ich über USB, zum betreiben versuche ich aber mit einem Netzteil. Die Boards bekommen die 5V von der Platine.

In diesem Video sieht man das in der Platine noch ein Treiber mit ESP drin steckt, diese habe ich leider nicht. Von Alli, als erstes ist ein Video, da sieht man es:. Ist aber der 256x50 Display:

https://es.aliexpress.com/item/1005005512189506.html

Hier auch ein Link von Ali, weiter unten schreibt einer seine Lösung, hab auch getestet...:

https://de.aliexpress.com/i/1005004465771709.html

Dankeschön schon mal voraus für die Tipps, wäre coll mal festzustellen wo es hängt.

Grüße

Prüfe mal ob die Library UG82 ?? kompatibel zur IDE-Version ist.
Die Version macht immer noch vereinzelt Probleme.
Verwende die 1.8.19, die läuft fehlerfrei.

1 Like

Moin, wie kann ich das überprüfen? Die ich über IDE installiert habe, musste ich entfernen damit die Beta drauf kann.
Sorry vertippt.

Gute Idee, werde ich die Tage mal ausprobieren

Derzeit hast Du eine Gleichung nit zu vielen Unbekannten zu lösen, daher nutze besser eine erprobte Version, ich bin bei 1.8.19.

Sieht hübsch aus, kenne ich aber leider nicht. Für mich ist das ein Display mit SPI-Anschluß.

Guter Plan.

U8X8 und U8G2 sind unterschiedliche Bibliotheken unter einem gemeinsamen Dach. Momentan finde ich:

U8G2_GP1294AI_256X48_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/10, /* dc=*/U8X8_PIN_NONE, /* reset=*/8);

Also fällt die Wahl auf U8G2.

Das Beispiel aus dem Internet nutzt U8X8_GP1287AI_256X50_4W_SW_SPI Software-SPI, beim ESP32 sollte man Hardware-SPI vorziehen. Ollis Beispiel sieht dann verkürzt so aus:

#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>

U8G2_GP1294AI_256X48_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/5, /* dc=*/U8X8_PIN_NONE, /* reset=*/17);

void setup(void) {
  u8g2.begin();
}

void loop(void) {
  u8g2.clearBuffer();         // clear the internal memory
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
  u8g2.drawStr(0,10,"Hello World!");  // write something to the internal memory
  u8g2.sendBuffer();          // transfer internal memory to the display
  delay(1000);  
}

Die Pins 5 und 17 sind variabel, 5 ist der normale CS, 17 liegt daneben. Der Compiler sollte zufrieden sein. So würde ich mal den Anschluß probieren:

ESP32 VFD
3V3 FILAMENT_EN
GPIO18 SCK
GPIO5 CS
GPIO23 SDA
GPIO17 RESET
GND GND
5V VSYS

Alle Angaben ausdrücklich ohne Gewähr :slightly_smiling_face:

EDIT: GPIO22 in GPIO18 geändert.

1 Like

Vielen Dank für die Antwort, ich kann erst morgen das austesten.

VFD da ich im Fahrzeug auf paar VFD Displays habe, wollte ich was schönes in das Armaturenbrett einbauen. Es ist fast eln Oldtimer, nächstes Jahr wird er es.
Der hat auch noch das OBD1, da müsste ich schauen irgendwie die Daten aus der Leitung auf das Display zu bekommen. Ist eher nur als Mäusekino gedacht und um paar Informationen an zu zeigen.
Sollen 3 - 4 stück werden, einer aber nur als Equalizer etwas rum zappeln bei der Musik.

Dankeschön jedenfalls für die tolle Antwort.

Grüße

Bei Arduino müßte das mit dem CAN-Bus mitzulesen sein. Der ESP32 hat Hardware dafür eingebaut, es fehlt nur ein externer Treiber. Ich nutze das TJA1050 CAN Bus Tranceiver Modul, was Du für Deinen Oldtimer benötigst, mußt Du mal recherchieren oder in einem eigenen Thema hier im Forum fragen.

1 Like

Vielen Dank für den Tipp, werde auch versuchen mich mot dem Display gut aus zu setzen.
Bin gespannt ob das klappen wird.

Dankeschön für die Antworten :ok_hand:

Moin,

leider bekomme ich diese nicht zum leben, auch nicht mit dem Scetch oben, hatte auch paar Beispiele probiert mit der Zeile:

U8G2_GP1294AI_256X48_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/5, /* dc=*/U8X8_PIN_NONE, /* reset=*/17);

Leider ohne Erfolg, ich verstehe das nicht ganz woran das jetzt scheitern sollte...

Folgenden ESP32 verwende ich:

https://mischianti.org/2021/02/17/doit-esp32-dev-kit-v1-high-resolution-pinout-and-specs/

Hmmmm....

Sorry, mein Fehler, SCL gehört zu I²C, der Takt für SPI ist SCK an GPIO18.

1 Like

Hi, ah Dankeschön. Teste mal heute, glaube hab auch ausprobiert gehabt, aber ohne Gewähr.
Hab auch bei Github gefragt, da waren Jungs auch am grubbeln. Die haben da eher mit kleinen Raspberrys hantiert, jetzt kam auch ne Antwort wo einer nen ESP32 zum laufen gebracht hatte.
Wenn dich auch mal interessieren sollte:

Wollte Dir auch nicht enthalten, falls Interesse besteht.

Dir echt ein großes Dankeschön, das Du mal unter die Arme greifst.

Grüße

Hi,

wollte mich mal zurückmelden. Habe aus GitHub die Pins nach dem Tipp angeschlossen.
Zum glück hat er da blinkende LED mit eingebaut... So konnte ich feststellen das paar meine ESP32 defekt sind.
Habe auch Dein Beispiel mit der Pin Belegung ausprobieren wollen und die Bespiele aus Arduino IDE, leider ohne Erfolg, selbst wenn ich die Zeile mit der Anweisungen für die Pins in der Zeile da einfüge.:

U8G2_GP1294AI_256X48_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/18, /* data=*/23, /* cs=*/25, /* dc=*/U8X8_PIN_NONE, /* reset=*/33);

Edit: mit dem Pin Filement an 3.3V Funktioniert es schon mal. Von GitHub wurde aber empfohlen den Pin zu schalten und kontrollieren. Werde mich nach und nach da einarbeiten. Zumindest zum leben erweckt...

Dankeschön für die Hilfe.

Grüße

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