Moin, ich habe mir mal paar schöne ESP32 gekauft. Da ich schon viel mit den WS2812B und der FastLED Library gearbeitet habe, dachte ich es würde kein Problem sein das auch auf einem ESP auszuprobieren. Meine Codes liefen auf den AtMega328 Modulen Problemlos. Der ESP8266 - 01 war mir mit der Zeit zu lästig, immer dieses neu verkabeln, somit habe ich den ESP32 ausprobiert. Nach dem Hochladen des DemoReel100 Sketches, bleiben die LEDs im Rainbow Effekt als Standbild und blinken ca alle 2-3 Hell auf. Der ESP an sich funktioniert, ich bekomme jedes Standard WIFI und UDP Programm zum laufen. Nach meiner 2 Tägigen Recherche, liegt es scheinbar an der Taktfrequenz des ESP32. Wie ich es verstanden habe, fehlt ein Bit oder ähnliches in der gesamten Übertragung zum WS2812B , sodass die LEDs nicht ordnungsgemäß angesteuert werden. Ich habe einige Lösungen gesehen, unter anderem einen langen Code, wo jemand das Protokoll Manuel über PIN = High / PIN = Low angesteuert hat. Das ist mir zu lästig. Daraufhin kam ich auf ein Code Zusatz. #define FASTLED_ALLOW_INTERRUPTS 0 Das sollte im Code eingefügt werden, bevor: #include "FastLED.h" erwähnt wird. Es brachte den DemoReel100 Sketch zum laufen, jedoch mit einem sehr schnellen Flackern. Es scheint ein sehr verbreitetes Problem zu sein. Die Adafruit_NeoPixel Library hab ich auch ausprobiert. Es scheint mal mehr oder weniger Stabil zu laufen. Deswegen meine Frage: Hat zufällig jemand eine weitere Lösung, wie ich das Problem zwischen ESP32 und WS2812B lösen kann? Ich sitze inzwischen seit 3 Tagen an diesem Problem und komm einfach nicht weiter. Grüße
Was hat die Taktfrequenz des Mikrocontrollers mit fehlenden Bits zu tun? Ich habe eher das Gefühl, dass du wild geraten hast. An Deiner Stelle würde ich die Kommunikation zwischen dem µC und den LED's mit einem Logic Analyzer aufzeichnen und kontrollieren. Mein Vermutung: Dein Programm wird durch die WLAN Funktionen der Basis-Firmware unterbrochen, so dass keine kontinuierlich gleichmäßigen Signale erzeugt werden. Das ist zumindest beim ESP8266 so. Eventuell kommst du weiter, indem du herausfindest, wie man den zweiten CPU Kern exklusiv nutzt. Aber vorher besorgst du dir einen Logic analyzer.
Hallo, ich müßte mal meinen Bekannten fragen, zumindest lief die aktuelle FastLED mit dem ESP32 bei ihm. Ich gkaube aber, es war ein 3,3V->5V Pegelwandler nötig, weil seine WS2812B-Matrix sonst nicht dem Pegel des ESP32 klarkam. Die Nutzung der RMT-Hardware des ESP32 war aber wohl auch nicht 100% störungsfrei bei WLAN-Aktivitäten. Gruß aus berlin Michaeö
Das würde mich vielleicht weiter bringen, danke! Ich werde das mit dem Pegelwandler mal ausprobieren! Danke!
Hallo, so, gerade etwas mit meinem Bekannten geplaudert... Die Pegelwandlergeschichte betraf seine Matrix, die auch am ESP8266 nicht ohne Pegelwandler lief, vermutlich etwas andere LEDs obwohl sie als WS2812B angegeben sind und auch so laufen. Sein WS2812B Stripe lief auch am ESP32 mit der FastLED und dem Reel-Demo ohne weitere Änderungen erstmal sauber. Beim ESP32 wird dann die RMT-Hardware genutzt, die geht aber wohl nicht an allen GPIO. Er hatte GPIO12 benutzt, warum gerade den weiß er nicht mehr... Gruß aus Berlin Michael
Also ich habe es nun mit einem Logic Channel Converter 5V -> 3,3V probiert. Es bringt leider nichts. Wenn ich die Neopixel Library benutze, geht es zwar, aber jedes mal wenn ich strip.show(); benutze, entstehen immer mind. 1 bis 20 Pixelfehler auf 218 Pixel verteilt. Es geht zwar, nervig ist es trotzdem und leider hat die Neopixel Library nicht so viele Funktionen, wie FastLED. Zumindest von den Möglichkeiten die ich bisher kenne. Danke dir Trotzdem.
Hallo, eigentlich eigenartig. Die FastLED benutzt für den ESp32 eigene Routinen, die auch die RMT-Hardware nutzen. Das sollte eigentlich erstmal ohne Probleme gehen. Hast Du mal in \sketchbook\libraries\FastLED\platforms\esp\32 geschaut, was er da in clockless_esp32.h dazu schreibt?. Hattese Du beim Test außer dem FastLED-Kram noch mehr auf dem ESP32 laufen? Gruß aus Berlin Michael
Hallo hast du die WS2812 zumlaufen gebracht? Hab ein ESP32 mit WS2812 und habe auch das problem mit den Flackern einiger LED´s. Habe verschieden Pegelwanlder versucht. brachte aber alles keinen erfolg. Das einziege was mir aufgefalle ist. Sobalt im am Datapin mit den Osyloskop messe ist daa flacken quasi verschwunden. Warum ist mir ein rätsel?
Hey! Dies kann damit zusammenhängen dass die Kapazität der Oszilloskop Probe hilft. Hast du n Data Pin Widerstand drin? LG Phil
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.