ESP8266 a WS28xx

Jindrich Fucik FULDA na seznam.cz
Středa Únor 2 16:26:52 CET 2022


Ahoj,

to se docela divím, FastLED se celkem používá.
Dokonce i s podobným level shiftem:
https://create.arduino.cc/projecthub/electropeak/play-with-fire-over-wi-fi-esp8266-neopixels-android-app-26c4ad

Po pravdě, já bych tam ten level shift nedával, nemá tam moc přidanou hodnotu. Použil bych pasivnější verzi, asi takto:
https://www.instructables.com/ESP8266-controlling-Neopixel-LEDs-using-Arduino-ID/


---------- Původní e-mail ----------
Od: Petr Zapadlo <zapik na email.cz>
Komu: hw-list na list.hw.cz
Datum: 2. 2. 2022 15:37:28
Předmět: ESP8266 a WS28xx

Zdravím,



bojuju tady už několik dní s ovládáním PWM led driverů  WS2818b 

připojených k ESP8266 - pin D2, GPIO4. Mám za sebou pouhé 3ks ws2818, na 

jednom PCB, kousíček od sebe. Slouží jako generátor PWM pro výkonové ledky.



Schema je zde:



https://cloud.zapadlo.name/index.php/s/Ray8n93kTNKk5nK



Nejsem schopen dosáhnout uspokojivé funkce.



S knihovnou Adafruit_NeoPixel jsem se ničeho funkčního nedobral, když 

zobrazuji střídavě jednotlivé barvy, tak občas se zobrazení změní, ale 

je to chaotické a neodpovídá to posílaným datům. (Zkoušel jsem jak 

400kHz, tak 800kHz). Na LA vidím jitter v časování impulsů - jsou takové 

roztřesené. Za prvním ws2818 už data neprolezou = nerozumí jim. Na LA 

není vidět žádná změna při nastavené 400KHz. Ovšem počty impulzů sedí a 

nejsou rozpadlé do shluků. Zkoušeno jen bez Wifi neboť to stejně nikam 

nevede. Vlastní délky impulsů jsou lehce mimo toleranci uvedenou v DS.



Dále jsem vyzkoušel knihovnu Fast_LED, zde jsem dosáhl docela úspěchu - 

ale jen v situaci, kdy není inicializovaná Wifi.  Pokud není wifi - 

impulzy sedí přesně s časováním a funguje to. Nicméně v okamžiku kdy 

zinicializuji Wifi, tak vše končí - v řadě impulzů se objevují velké 

díry, které jsou ws2818 detekovány jako reset. (noInterrupt() situaci 

neřeší). Zajímavé je, že jsem musel připojit na vstup ws za level 

shifter kondenzátor proti zemi 22p, jinak to nechodilo. (zkoušeno i u 

knihovny Ada... beze změny)



Dále jsem našel knihovnu Makuna/NeoPixelBus, zde autor využívá nějaký 

HW, protože jsou k dispozici různé metody - DMA, UART a bitbang. Na 

první dvě jsou pouze jeden konkrétní pin, bitbang by měl chodit na 

každém. Mě teda nechodil - opět na LA "roztřesené" impulzy. Při 

provizorním připojení na RX pin a použití metody DMA - jsou impulzy 

perfektní se stabilním časováním bez ohledu na wifi. Nicméně ta knihovna 

je nějaká pro mě těžkopádná a evidetně určená k výrazně komplikovanější 

situaci  - nejsem schopen zjistit jak nastavit prostou hodnotu na 

jednotlivých kanálech. Neznáte někdo tuhle knihovnu?





Docela jsem z toho frustrován - knihovna Adafruit_NeoPixel má v 

repozitáři statisíce stáhnutí a internet je plný návodů na  její použití 

a ESP8266. Evidentně mi něco uniká a já nevím co.



Díky



Petr





_______________________________________________

HW-list mailing list  -  sponsored by www.HW.cz

Hw-list na list.hw.cz

http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list