Leider hat es Heltec nicht mal geschafft die neuen / geänderten pins des Displays einfach zugänglich auf die pinout-Grafik (s.o.) zu schreiben. :-( Einzig der reset-Pin hat es als ausgeführten Pin geschafft, er ist mit OLED_RST / GPIO21 vermerkt, die anderen SCL (clock) und SDA (data) sucht man vergebens und sie sind in der neuen Version V3 auch nicht mehr ausgeführ. Hier hilft ein Blick in die pin definition file (oder in @Beegood_2000’s posting oben :-). Hat man die Heltec-Boards in der Arduino-IDE installiert findet man unter C:\Users\[your-user-name]\AppData\Local\Arduino15\packages\Heltec-esp32\hardware\esp32\0.0.7\variants\wifi_kit_32_V3 die Datei pins_arduino.h u.a. mit diesen Angaben:
Die die Pinout Darstellung ist - wie Clemens bereits schreibt - etwas verkürzt. Die Heltec Versionen V3 und V2 haben zwar das gleiche Pin-Layout, d.h. die Position der Pin-Durchführungen hat sich nicht geändert, jedoch wurde der Chipsatz verändert, was dazu führt, dass die einzelnen GPIOs unterschiedlich belegt sind. Ich orientiere mich daher lieber an der schematischen Darstellung.
Aber Hallo, das Bild hast du doch mit Photoshop gemacht, oder?
Im Ernst, mir ist der Unterschied zu meinen Versuchen nicht klar. Du benutz doch die gleiche Code Version und die Bibliothek von Oliver, oder?
Hallo Beegood, leider klappt es auch mit der Version nicht. Gibt es einen Grund warum du keine Neuere nimmst?
Jetzt fällt mir nur noch die Frage ein, ob du die Arduiono IDE verwendest und wenn ja, auch hier die Frage nach der Version. Danke!
Das ist die offiziell von Heltec verlinkte Schematik. Etwas verwirrend finde ich hier, dass es LoRa-pins gibt, obwohl das board kein LoRa-Modul hat und es in der Vergangenheit auch Verwechslungen zu Board aus der Serie mit LoRa gab.
Ich meinte, ob du die gleiche Bibliothek für das Display nimmst. olikraus · GitHub)/u8g2
Beim Code hatte ich mich bisher mit der Version Abfuellwaage Version 0.2.9 versucht.
Als Plattform benutze ich Arduino IDE 2.0.3
Bei mir compiliert (mit Warnungen, läuft aber durch) der aktuelle code auf master (v0.2.9) nur mit dem Arduino ESP32 core 1.0.6, mit dem 2.x-er core nicht.
Nun habe ich versucht den Heltec V3 als ESP32 Dev Module anzusprechen, das geht aber nicht, Hochladen wird quittiert mit:
A fatal error occurred: Invalid head of packet (0x47)
Wenn ich den Heltec V3 als board auswähle (board installieren, falls es bei euch nicht auftauch), bringt der seinen eigenen ESP core mit (vermutlich >2) und ich habe Compilierungsfehler.
D.h. ich werde jetzt erst mal versuchen den aktuellen code oder besser gleich den im develop-Branch (v0.2.12) etwas upzudaten und den mit ESP core 2.x lauffähig zu bekommen … stay tuned!
[edit] Ich habs mir es jetzt erst mal etwas einfacher gemacht und die compiling errors auf Standard gesetzt, war von einer früheren debug session noch auf Weitere.
Nun compiliert der code mit Wifi Kit 32(V3) als board und lädt den code auch hoch, allerdings bleibt – wie oben berichtet – das Display dunkel.
Wir haben im code für die alte Version (V1 / V2) pins verwendet, die momentan (V3) komplett anders belegt sein können, daher müssen wir an die weiteren Pins ran:
Nun habe ich so gut wie alle pins neu zugeordnet – ich habe das erst einmal vorläufig gemacht, muss nochmal checken, ob die so passen – und es läuft eigentlich ganz passabel (Servo habe ich noch nicht angeschlossen):
Zwischenfazit: Die neue Verison V3 des “WiFi Kit 32” von Heltec funktioniert generell als HaniMandl-Basis, allerdings müssen der code und die physikalischen Anschlüsse geändert werden.
Neben real world testing :-) habe ich bisher bei der Zuordnung von ESP32-pins zu Hardware immer einen Blick auf
geworfen. Dort ist gut dokumentiert, welche pins z.B. beim booten toggeln und so schon einmal eine Servo unintendiert ansteuern oder welche pins anderweitig belegt sind oder nur inputs sind … Die Doku ist allerdings für einen ESP-WROOM-32 o.ä. jedenfalls wird dort z.B. GPIO 34, 35, 36, 39 als INPUT ONLY gekennzeichnet, was bei unserem board nicht sein kann, da die onboard LED (s. pinout-Grafik oben) an GPIO 35 hängt.
Laut WiFi Kit 32 (V3) – Heltec Automation > [weiter unten auf tab datasheet klicken] > [scrollen zu Tabelle 1.1] ist bei unserem neuen board ein ESP32 S3 verbaut, während die V2 einen ESP32-D0 hatte.
Da ich dazu leider etwas unwissend bin, wie bekomme ich denn mein Heltec ESP 32 V3 zum laufen? Ich habe null Ahnung von Programmieren. Gibt es da evtl ein fertiges Programm fürs Arduino?
Hi Marci, bisher leider noch gar nicht! Wir sind gerade dabei den code bzw. die zu verwendenden pins auszutüfteln, ich denke in ein paar Tagen sollten wir etwas weiter sein und du kannst dann nachbauen.
Heureka! Jetzt sehe sogar ich nicht mehr schwarz! (Arduino IDE, ESP32S3 Dev Modul) Der Code 0.2.9 wird kompiliert (nur Warnungen, keine Fehler) und hochgeladen. Das Display zeigt an, was es soll.
Danke für eure Geduld und Energie!
Im ersten Versuch hat der Heltec V3 mit unserem modifizierten code (pin Zuordnung, s.o.) funktioniert, allerdings ist die Reaktionszeit von Display / Waage und auch Eingabe über rotary / Buttons deutlich träger, zäher als mit einem Heltec V2, die ich gerade parallel mit identischem code (0.2. 8 9) getestet habe. Allerdings ist der Heltec V2 schon etwas länger bespielt worden, kann sein, dass da ein anderer Arduino ESP32 core verwendet wurde. Ist in einem Gehäuse festgeklebt, daher komme ich zum Umprogrammieren nicht leicht ran. Den V3 mit einem core < 2.x zu testen geht aber nicht, da es da den ESP S3 noch nicht gab. Also weiter schauen, hatte mir das etwas einfacher vorgestellt.
Hallo Clemens, da möchte ich doch gleich mal eine Rückmeldung geben. Im Prinzip scheint es bei mir mit dem Code 0.2.8 zu funktionieren! Super!
Wenn ich allerdings versuche den Öffnungswinkel im Automatikmodus kleiner zu stellen, stürzt das Programm bei unter 41% ab und bootet neu. Kann allerdings auch an meinen fliegenden Verkabelungen liegen, oder es ist ein Bedienfehler meinerseits. Morgen werde ich das Ganze mal in ein Gehäuse einbauen und mich erneut versuchen.