Goede morgen,

Heel veel geprogrameerd in mijn leven, maar met de Arduino IDE heb ik nog wat moeilijkheden. Niet zozeer het programeren zelf, maar de (gemis van) goede beschrijvingen van de te laden bibliotheken. Een project gestart met RGB leds en de FastLed library (https://github.com/FastLED/FastLED/blob/master/examples/Blink/Blink.in…) en kwam er redelijk uit. Volgende stap is een RGBW led strip, en na een ochtend zoeken is het mij nog steeds niet duidelijk hoe die stap te maken. Nu heeft AdaFruit hun eigen library (https://github.com/adafruit/Adafruit_NeoPixel/blob/master/examples/sim…) maar die schijnt niet zo uitgebreid te zijn als de FastLed. Heeft iemand hier ervaring mee en kan mij in de goede richting wijzen, bij voorbaat dank.

L.S.

Hoeveel leds heb je en wat wil je bereiken ?

Dit is een zgn mini jukebox die ik "gepimpt" heb met een stel WS2813 leds.

https://www.youtube.com/shorts/XMWIoKi6k5s

En die animaties kun je uit voorbeelden halen en zelf combineren.

Je kan met een WS2812 library in ieder geval ook de SK6812 aansturen. Dat kan je alvast testen. Het enige is dat alle kleuren op de verkeerde plek uitkomen. Voor de rest is het compatible.

Zo weet je of je hardware werkt.

Volgende stap is om bits-per-led van 24 naar 32 te krijgen. Evt kijken of je een define in de library kan omzetten. En als dat niet werkt, kan je gaan zoeken naar een compatible library.

Huh, het lijkt dat ik iets mis. Om een RGBW-strip aan te sturen zijn er toch helemaal geen bijkomende libraries nodig?

4 pwm-uitgangen van de Arduino afsluiten met een geschikte MosFet, in de init ze declareren als "analog" output, en in de hoofdlus diverse waardes uitsturen.

Voor die WS2812 en afgeleiden wordt het al wat complexer natuurlijk, maar daar ging het toch niet over?

Dank jullie allemaal voor de antwoorden. @Paulinha: het zijn addressable LEDs, en worden met een seriele datalijn aangestuurd. @Rew: Dat klopt, maar voor mij is het probleem inderdaad om van 24 bits per led naar 32 bits per LED te gaan. Volgens mij zijn er twee mogelijkheden: de ene mogelijkheid is dat er al een RGBW libary voor de arduino (ST32) bestaat. Mocht dit niet het geval zijn, dan het beste lijkt me een vertaalslag vlak voor het uitsturen, die de RGB info van elk LED vertaald naar een RGBW matrix, maar dat is een beetje omslachtig met 480 LEDs (4 meter, 120 LEDs/meter). Vandaar de vraag. @Roland: Die Jukebox ziet er fantastisch uit, heb je een link naar de sourcecode/gebruikte libraries?

L.S.

het zijn addressable LEDs

mopper mopper
dat mocht er wel eens vanaf het begin bijgestaan hebben

Dat staat er ook: de SK6812... ;)

.

[Bericht gewijzigd door Paulinha_B op (100%)]

In de openingspost? Of in latere inbreng van de topicstarter? Heb ik nu echt iets gemist? O ja, in de draadtitel staat het wel, ja. Zucht.

Maak niets uit, fijn dat er een reaktie komt... Maar met PWM zitten er ook nog wat haken en ogen aan: Als je het stoboscoop effect een beetje wilt vermijden en op zijn minst 8 bit variatie wilt hebben, zit je al gauw tegen de 25.6 kHz PWM frequentie aan. Het voordeel van individuele LEDS is dat je niet alleen met de PWM kan regelen, maar door de grote dichtheid van de LEDs ook "per LED" kan regelen, dus je wint er zo'n twee tot drie bit mee (voordat de gaten echt gaan opvallen)

L.S.

Als ik het goed begrijp ondersteunt Fastled geen RGBW leds. Is wel een hack om het toch voor elkaar te krijgen.
Fast led is in de loop der jaren uitgegroeid naar een kan veel library. Kan te veel library.
Er zijn ook simpelere librarys die hun werk ook goed doen. Durf alleen niet te zeggen of het ook op een ESP32 wil werken.

Quick little class to drive SK6812 RGBW leds reliably on a ESP32

https://github.com/gitpeut/SK6812-RGBW-ESP32/blob/master/README.md

Niet getest want ik heb geen leds met deze controller. Afhankelijk van je toepassing kan een simpele Arduino nano een betere en stabielere keuze zijn dan de ESP32.

heb je een link naar de sourcecode/gebruikte libraries?

Zal ik even moeten gaan zoeken.

[Bericht gewijzigd door Roland van Leusden op (48%)]

Goede morgen en dank voor de info.
Waarom een ESP32: mijn ervaring met uprocs (SoCs), je hebt altijd te weinig processing power en RAM, zeker als je met een "hogere" programeertaal en IDEs gaat werken, b.v. de blokken uit MATLAB zijn goed te kompileren, maar levert niet echt kompakte code op. Manipulatie van matrices zijn in het algemeen RAM en processor power hungry, en alhoewel geen real time FFT, transformatie van 80x3 naar een 80x4 kost al meer dan een kwart van een arduino's UNO RAM. Een betere keus misschien een Mega 2560 Rev 3? Het overwegen waard. Even kijken hoe de SW eruit ziet op de ESP32, mocht die niet doen wat ik wil, dan is dit een optie.

Die "hack" van 2N3055, dankje, had ik ook gevonden. Ik denk dat dit de simpelste manier is om verder te komen. Mee eens, FASTLED is een "kan te veel" library geworden. Ik heb even door de FASTLED library gesnuffeld, en het is echt complex. Maar ook weer toegeven: er zitten hele leuke functies in voor mooie effecten. Alleen weer schaars in documentatie.

Dus zijn we weer bij de orginele vraag: er zijn zoveel bomen, dat het bos moeilijk te zien is. En documentatie is schaars. Maar deze discussie heeft me goed op weg geholpen om weer dingen te proberen, dus nogmaals dank

L.S.

Ik heb zowel voor STM32 als voor RP2040 iets gemaakt dat de hardware de bitjes naar buiten schoffelt. In de software hoef je dan alleen maar de bitjes in de juiste volgorde in RAM te zetten.