Wiskundige voorziet kerstboom van programmeerbare 3d-rgb-verlichting

Een kerstboom volhangen met rgb-verlichting is een koud kunstje. De plaats van iedere individuele led bepalen, om vervolgens de verlichting nauwkeurig te kunnen programmeren is een stuk ingewikkelder. Wiskundige Matt Parker deed dat en doet uitgebreid verslag.

Parker, die zichzelf een stand-up mathematician noemt, heeft zijn kerstboom opgetuigd met vijfhonderd WS2811-rgb-leds. Hij heeft die aangesloten op een Raspberry Pi en vervolgens eigen software geschreven om met de webcam van zijn laptop de exacte plaats van iedere led in de boom te kunnen bepalen. Door de boom steeds een kwartslag te draaien, legde hij de x-, y- en z-coördinaten van iedere individuele led vast. Dat leverde een 3d-map op van de ledjes in de boom.

In zijn YouTube-video geeft Parker uitleg en tips en komen ook problemen aan bod die hij ondervond. Verder toont hij hoe animaties gemaakt met de Houdini-software op de boom gezet kunnen worden. De software die Parker schreef voor zijn kleurrijke boom staat op GitHub.

Parker is niet de eerste knutselaar die creatief is met rgb-leds in zijn kerstboom. Vorig jaar tuigde de Nederlandse ontwikkelaar Jordy Moos zijn boom zo op, dat hij er Snake op kon spelen met een PlayStation 4-controller.

Door Julian Huijbregts

Nieuwsredacteur

25-12-2020 • 16:13

74

Reacties (74)

74
70
51
12
2
13
Wijzig sortering
Ik heb een poging gewaagd en op zijn oproep ingegaan om zelf code voor z'n boom te schrijven: https://github.com/emielch/xmastree2020
Nu hopen dat het werkt, aangezien ik geen boom heb om het zelf op te testen :9
Nou, ik heb je code draaiende, maar daarmee wordt niet per se duidelijker wat het doet :D


000,000,000,000,004,000,000,003,009,021,017,023,018, ...

Wat doet ie?

de boom simuleren gaat me net even te ver ;)

Oh wacht... botsende bal?

Hmm... misschien is een random doolhof genereren en dan een depth first search die de uitgang zoekt ook wel leuk. Doolhof rood, bezochte punten geel, huidige punt knipperend... uitgang groen.


Hmm, boompje weergeven is natuurlijk niet zo moeilijk:
https://github.com/steveman1982/xmastree2020
viewtree.py

Voor wie niet pythont: https://tweakers.net/foto...du7BTa61zVKuG9vu9EHbP.png (kleurtjes zijn willekeurig in dit plaatje)

*UPDATE*
Simulatieprogje ervan gemaakt https://github.com/stevem...2020/blob/main/simtree.py draaien om de standaardcode in actie te zien. (draait wel traag helaes)

Dat ziet er dan zo uit: https://tweakers.net/foto...jyAfkCxdbI3m52HqFbQiW.png

*Update2*

Boom van @emiel.h https://tweakers.net/foto...weL3P6PeKQgQ89oXPLijy.gif

[Reactie gewijzigd door steveman op 9 augustus 2024 17:09]

Aaah cool!
Het moeten inderdaad gekleurde bollen voorstellen die binnen de "bounding box" van de kersboom heen en weer bouncen. Het is in principe dezelfde als de animatie die ik op m'n LED cubus heb geprogrammeerd: https://photos.app.goo.gl/8Ae93C3AXuMDSBsw7
Hmm... misschien is een random doolhof genereren en dan een depth first search die de uitgang zoekt ook wel leuk. Doolhof rood, bezochte punten geel, huidige punt knipperend... uitgang groen.
Ik zeg doen ;)
Update:
Matt heeft in een video alle ontvangen code getest en mijn code lijkt prima te hebben gewerkt :)
https://youtu.be/v7eHTNm1YtU?t=1560
Aha! Ik zat al te kijken... Maar dat was hem dus :)
En voor hen die er zelf het geduld niet voor kunnen opbrengen, er bestaat een commerciële versie van zo een boom met 400 LEDjes in genaamd Twinkly, al is het niet de goedkoopste boom die je in huis kunt halen.
Ik wou net zeggen, met twinkly maak je gewoon een 3d scan van je boom met je telefoon camera en weet hij precies waar elke led zit. Je hebt overigens ook twinkly 100 en 200 die zijn wat betaalbaarder.

Het is trouwens geen boom, maar gewoon kerstlampjes die je in je eigen boom kan doen.

[Reactie gewijzigd door ro8in op 9 augustus 2024 17:09]

Ik heb de consumenten Twinkly lampjes bekeken en het lijkt erop dat die alleen een 2D locatie registreren. (edit: zie correctie van Jeltel hieronder) Je bent dan een stuk meer beperkt tot een paar basic patronen die in de Twinkly app zitten, geen 3d modellen dus. En je moet zelf op een bepaalde positie staan om het effect mooi te kunnen zien.

De Fancy 3D door de boom bewegende patronen van Parker zijn vanaf elke hoek correct. En uiteraard je kan zelf veeel meer patronen tweaken dan met de Twinkly (non pro) apps.

[Reactie gewijzigd door Zwaai Haai op 9 augustus 2024 17:09]

Ik heb hier een twinkly 200 in de boom zitten. De consumentenversie. En die kan wel degelijk 3d mappen.

Natuurlijk is die niet zo flexibel als die van Matt Parker. Maar je hoeft dan ook niets te programmeren.
Kijk dat is goede informatie. dank voor deze essentiele aanvulling!

Als ik kijk naar de app lijkt het er wel op dat er alleen 2D effecten in de app zitten. ben nog op zoek naar filmpjes waarbij er rondom de boom gelopen wordt tijdens het effect voor een betere indruk hoe het werkt.
Hier een screenshot van mijn app de bovenste paar zijn 3d effecten. Bijvoorbeeld een slang die rond je boom naar beneden cirkelt

https://ibb.co/Xy2mq9H

De 3D effecten zijn er nog wat minder, omdat dit pas sinds versie 2 erin zit. Maar een paar leuke zitten er zeker tussen.

Hier ook een filmpje van hunzelf
https://www.youtube.com/watch?v=bStDX2fchEo

[Reactie gewijzigd door ro8in op 9 augustus 2024 17:09]

Nog leuker: je hebt ook een twinkly boom tegenwoordig, die schijnt nog beter te werken met de app en de 3D scanner.
Matt Parker heeft hier op YouTube zelf op gereageerd met de opmerking dat Twinkly alleen de surface mapt (dus wel 2D, maar dan rondom), terwijl Matt werkelijk 3D mapt vanaf de stam naar buiten toe.
I meant that there are not LEDs inside the Twinkly tree (only on the surface). My LEDs are mapped right to the trunk. LOOK LET ME HAVE THIS.
Dat zou prima kunnen.

Vermoed dat je normaal gesproken het verschil niet gaat zien.

Maar het had wel een leuk project geweest. Maar er zijn al zoveel leuke projecties die ik wil doen/afmaken ;)
Ik heb gewoon de consumenten versie van het tuincentrum en die kan je gewoon 3d mappen. Je moet dan met je telefoon camera meerdere keren om je boom heen gaan waarbij hij telkens de lampjes in een bepaald patroon laat knipperen en zo een 3d mapping van je boom maakt.
Je hebt ook een kunstboom van Twinkly waar de lampjes al in geïntegreerd zitten.

150cm boom
https://www.kabelshop.nl/...P-BEU-i20622-t279415.html

180cm boom (met 400 lampjes)
https://www.kabelshop.nl/...P-BEU-i20621-t279415.html

[Reactie gewijzigd door VHware op 9 augustus 2024 17:09]

Zo die kosten een pak meer zeg. Ik heb de 100 lampjes set gekocht, die was 60 euro ofzo echt kerstboompje van 30 euro erbij en zit daar ver onder nog.
Beetje goede kunstvorm zit je al snel aan 200-300 euro. Twinkly zelf was begin december ineens 100 euro voor de 200 lampjes variant (22 meter), was paar maanden er voor nog 160 euro.

Dus de prijzen zijn wel redelijk in lijn.
Techmoan heeft deze onlangs gereviewed: https://youtu.be/DYVMeyGEWes
Verschil is dat hij die zelf gemaakt heeft, dus zelf kan onderhouden. Bij Twinkly werkt de boom maar zo lang de software werkt, c.q. onderhouden wordt. En als ik naar de gemiddelde smart device app onderhoud kijk, kan het net zo goed zijn dat de support over 2 jaar vervalt. Dan blijf je zitten met een onbruikbare boom...
Omdat support wegvalt kan je Twinkly ineens niet meer gebruiken? Ik snap niet waarom je dit beweert.

Ik gebruik al 2 jaar Twinky, heb een aantal V1 en nu V2 setjes. Ik stuur ze allemaal aan via de API. Er wordt helemaal niets gecommuniceerd met hun servers. Zelfs als je hun app gebruikt, gaat die gewoon werken als de support zou wegvallen, meeste functies gaan via lokaal netwerk. Enkel het 3D scannen gaat geloof ik via internet, voor 2D is internet niet nodig.
En juist die hele 3D mapping lijkt me het voornaamste selling point. Je gaat geen 300 euro betalen voor een boom die alleen maar een 2D effect zou kunnen.
Nou wat een doomscenario MeMoRy. ;) je kerstboom krijgt vast voor meer dan 2 jaar security patches. :+

Ander scenario; dat eerder er op een gegeven moment custom patronen in-app te kopen zijn voor een paar dollar per stuk. Die custom patronen worden in je "Twinkly-Cloud" opgeslagen waar later een subscription opzit. en oja, nog wat later komt Twinkly 2.0 met meer opties en nieuwe patronen, oude lampjes en patronen werken daar helaas niet op.
Stel je voor, is je kerstboom opeens gehakt :+
Moet je zorgen dat ie in de kluit zit. :+
Dan nog gaat ie voor de bijl :+
Kun je hem dan wel nog rooten ?
Dan zal je nog wel wat dieper in de materie moeten graven.
Al de patronen zijn gratis te downloaden in de Twinkly app. Eenmalige aanschaf van de lampjes is voldoende. Je krijgt zelfs een mail dat er nieuwe patronen zijn voor jouw boom.
Buiten dat kun je ook bijna elk patroon nog naar je smaak aanpassen. Vind je de gebruikte kleuren niet mooi? Kies je anderen. Gaat het te snel of te langzaam? Dan kun je ook de snelheid en in sommige gevallen ook de intensiteit aanpassen.
200 zigbee lampies van de Lidl gaat ook prima hoor..
Maar die kan je weer niet (tot m'n grote frustratie) individueel aansturen!
Met de Philips Hue bridge is het niet mogelijk nee, maar gebruik je hun eigen bridge dan zijn er patronen mogelijk maar alleen die door Lidl (Tuya) beschikbaar zijn gesteld.

Met de Philips Hue bridge wijken de kleuren ook enorm af! uiteindelijk maar de Lidl bridge gekocht en toen werkte het perfect!
Volgens mij is het gewoon niet ingebouwd bij die dingen. Ik gebruik m'n eigen hub met zigbee2mqtt en daar zijn ze iig tot de conclusie gekomen dat het niet kan.

Wel kan je met een eigen hub die patronen instellen.

Voor de geinteresseerden: https://www.zigbee2mqtt.i....html#silvercrest-hg06467
Dat zou volgens de site van Lidl toch moeten kunnen met hun eigen hub en app? Of heb ik die pagina niet goed gelezen?
Je kan wel veel instellen: er is een reeds standaard patronen die je (met eigen kleuren) kan instellen. Maar echte pixel control heb je niet.
Die heeft geen 3D of überhaupt zulke effecten als Twinkly. Verder wel leuk voor wat random kleurtjes enzo dat wel
Ik dacht meteen aan Techmoan. Lijkt erop dat je dit al kunt kopen:

https://youtu.be/DYVMeyGEWes?t=392
De scanning-manier in dat filmpje (vanaf 6:30) is wel heel erg vet gemaakt. Elk lampje toont een unieke kleur-sequence en zo weet de app welk lampje op welke plek zit. En dat doe je vanuit meerdere hoeken, tot de app elk lampje heeft gelokaliseerd. Dat is nog eens een goed voorbeeld van "smart" lampjes.
Dit vind ik altijd de kunst van het programmeren. De code kunnen schrijven is leuk maar de methode om met een webcam de lampjes te 3D scannen en vervolgens met wiskunde effecten te programmeren vind ik altijd indrukwekkend.
Ik snap niet wat er bijzonder aan is. Bij ons draait de boom al 2 jaar met 250 stuk ws2811b en wled (zelfbouw). Het effect is hetzelfde en het inrichten stelt niets voor.
Twinkly doet ook vrijwel hetzelfde.

Buiten staat bij ons een zelfbouw boom met 1490 stuks ws2811b en een falcon f16v3 controller. https://youtu.be/wzenQQWZ1Do

[Reactie gewijzigd door mw303 op 9 augustus 2024 17:09]

Met dat verschil dat jouw ‘boom’ een keurig gestructureerde (afgeknotte) kegel is en Matt’s lichtjes er willekeurig in hangen.
Dat maakt in dit geval een wereld van verschil.
Jouw standaard led matrix boom stelt idd niets voor. Je had met die extra tijd die je had wel wat meer je best mogen doen als ik deze variant zie.
Ook mooi, maar toch wat eenvoudiger dan leds die willekeurig in je boom hangen.

(Opmerkelijk hoe goed de vorm van de airco bij de stijl van het huis past 😉)
Ik heb ook eens zoiets gedaan met een WS2812 LED strip. Werd bestuurd door een laptop.
Ik heb ook eens zoiets gedaan met een WS2812 LED strip. Werd bestuurd door een laptop.
Beetje onpraktisch ;) Ik heb ooit op een development desktop een aantal algoritmen ontwikkeld en getweaked voor gebruik met een LED string, waaronder realistische vuureffecten. Door de jaren heen geport naar een Cortex M3, en later voor een 12-LED ring aangestuurd door een 8-pins ATtiny85 in een waxinelicht formfactor.
Leuk project! De nuttigste besteding van kerstmis die ik sinds tijden gezien heb :)

Maar.... draait Doom er al op?
Nee, wel flightsimulator als easter egg ;)
Wel ironisch: een Easter Egg bij een kerstboom... :*)
Ja, mensen hebben Doom op ledjes gedraaid :P
Cool, wel blij dat did boom niet bij mij thuis staat :D
Toch hadden er ook wel een stel kerstballen en in piek in gemogen, blijft erg kaal zo. Zo zie je maar weer dat zelfs de beste programmeur de hulp van een vrouw kan gebruiken...

> Dit is onder toeziend oog van... gepost ;-)

Op dit item kan niet meer gereageerd worden.