Hallo,
ich habe gestern damit verbracht ein 32x64er LED Matrix an einem ESP32
wrover-b zum laufen zu bekommen.
Von vornerein war klar das GPI(O):
- 34, 35, 36 und 39 nur Inputs sind
- 16 und 17 aufgrund der Bauart gesperrt sind (Speicher)
- ich 21 und 22 für I2C brauche
Ich bin dennoch fast verzweifelt, mit einem normalen ESP32 lief das
gleiche Programm mit Nutzung GPIO19, GPIO34, GPIO35 (ich hab viel
probiert, glaube ich zumindest).
Sicher bin ich mir das jedsesmal wenn ich einen drei nutze, geht das
Display nicht mehr geht(getestet mit CLK, LAT, OE und den beiden RGB).
Ich erinnere mich vage das irgendwas mit dem GPIO19 war, habe im
Datenblatt aber nichts mehr gefunden (OGPIO19, VSPIQ, U0CTS, EMAC_TXD0).
Wenn ich eine DuoLED auf 34/35 blinken lasse machen die beiden das was
sie sollten :( an der LED Matrix nicht mehr.
Weiß jemand ob GPIO19, GPIO34, GPIO35 irgenwelche Einschränkungen auf
dem wrover-b haben wenn es schnell wird (die matrix macht anscheinend
50fps@12b)?
Hallo,
auf Anhieb weiß ich nichts. Möglich, das eine IO-Gruppe wegen des PSRAM
auf eine andere Spannung als 3,3V gesetzt wird.
An einem normalen ESP32-Modul ohne PSRAM habe ich ein 64x64 mit der
ESP32-RGB64x32MatrixPanel-I2S-DMA Lib unter ArduinoIDE laufen, da hängt
die Matrix bei mir an
#define R1_PIN_DEFAULT 25
#define G1_PIN_DEFAULT 26
#define B1_PIN_DEFAULT 27
#define R2_PIN_DEFAULT 14
#define G2_PIN_DEFAULT 12
#define B2_PIN_DEFAULT 13
#define A_PIN_DEFAULT 23
#define B_PIN_DEFAULT 19
#define C_PIN_DEFAULT 5
#define D_PIN_DEFAULT 17
#define E_PIN_DEFAULT 18 // Change to a valid pin if using a 64 pixel
row panel.
#define LAT_PIN_DEFAULT 4
#define OE_PIN_DEFAULT 15
#define CLK_PIN_DEFAULT 16
Beim 32x64 wäre hier E_PIN_DEFAULT -1, also unbenutzt.
Gruß aus Berlin
Michael
Michael U. schrieb:> auf Anhieb weiß ich nichts. Möglich, das eine IO-Gruppe wegen des PSRAM> auf eine andere Spannung als 3,3V gesetzt wird.
hmmm, PSRAM das könnte sein, ich habe die Module sehr güpnsig bekommen,
da der falsche PSRAM vom Hersteller verbaut wurde... mir egal ich nutze
nur die 16MB flash... aber das könnte natürlich effekte auf andere Ports
haben werde alle mal messen...
Du hast 64x64 am laufen? 2x 34x64 als Quadrat oder nebeneinander?
Hallo,
Frank schrieb:> Du hast 64x64 am laufen? 2x 34x64 als Quadrat oder nebeneinander?
64x64 2,5mmm als Quadrat, war ein günstiges Angabot damals irgendwo bei
ebay als 2er-Pack. Eins hat mein Bekannter, das andere ich.
Der hat letztlich auch immer mehr an die Software angebaut.
Oben Laufschrift mit Wettermeldungen und Innen-Außentemperaur und
Meldungen per MQTT, Dann eine abgewandelte Morph-Clock, Datum darunter.
Die untere Hälfte als Lagerfeuer. Wahlweise auch CD-Coveranzeige auf dem
kompletten Display, macht bei der Auflösung 64x64 eigentlich keinen
wirklichen Sinn, sieht aber ganz nett aus.
Im Moment experimetiert er mit Audio-Spectrumdarstellung. Hauptproblem
war jeweils, alles ohne Hänger und Aussetzer laufen zu lassen.
Gruß aus Berlin
Michael
Michael U. schrieb:> Hauptproblem war jeweils, alles ohne Hänger und Aussetzer laufen zu lassen.
Nice! Ja statt Hänger/Aussetzer hatte ich es vor dem ESP32 eher mit
Geschwindigkeit/Flackern. Dann mit dem ESP32 mit mitleuchten von
benachtbarten LEDs (bei Gelb/Weiss) also ne Art Schlieren.
Jetzt mit dem Code von VGottselig (Github/ESP32-RGB-Matrix-Display) ist
es einfach nur noch stressfrei. Das läuft im Hintergrund, ich schiebe
nur die Werte in Variablen aus der Hauptschleife - easy ;)
Grüße aus Dresden,
Frank
Hallo,
Frank schrieb:> Jetzt mit dem Code von VGottselig (Github/ESP32-RGB-Matrix-Display) ist> es einfach nur noch stressfrei. Das läuft im Hintergrund, ich schiebe> nur die Werte in Variablen aus der Hauptschleife - easy ;)
eigentlich gehen nur I2S-DMA-Sachen nahezu ohne Störungen weil sie von
der Hardware erledigt werden. Zumindest solange, wie der DMA-Buffer
schnell genug nachgefüllt wird. z.B. kann myApixuWeather zusammen mit
dem JSON-Decoder da durchaus für Chaos sorgen, weil eben Antwortzeiten
im Internet unsicher sind.
Die Morph-Clock, Idee von hier:
https://www.instructables.com/id/Morphing-Digital-Clock/
möchte auch ein recht genaues Timing, weil schon kleine Hacker durchuas
sichtbar werden. Das Textscrolling oben war auch recht anfällig.
Dazu das Lagerfeuer in der unteren Häfte, da wollen 2048 LEDs mit 50fps
aktualisiert werden...
Inzwischen nutze ich seinen Code nur noch, ich steige da zwar durchuas
noch durch, aber seine ganze Timer- und Eventnutzung ist schon etwas
"anstrengend". ;)
Gruß aus Berlin
Michael