Lavalampe til Jenkins

Jeg købte en billig lavalampe. Ved at skrue foden af og gå amok med en Dremel kunne printet (heldigvis fenolprint, som let kunne brækkes i mindre stykker inden i lampen) tages ud. Herpå sad en RGB LED med indbygget farveskiftschip og en 20 ohms modstand, som fungerede som varmelegeme.

Det lykkedes at få plads til 3 stk RGB LED (WS2812-style), en ATTiny, den originale modstand, samt en MOSFET til at tænde og slukke for varmelegemet. Et USB-kabel blev loddet på ATTiny-printet og ført ud igennem foden. For at gøre lampen mere stabil, og for at trækaflaste ledningen, kom jeg en god klat silikonefugemasse i foden og pressede en kraftig metalskive ned i det.

På ATTiny'en ligger en simpel stump kode, der tillader at sende nogle få enkle kommandoer via USB (da den primitive USB-stak der er plads til ikke er helt compliant, er det nødvendigt at bruge noget dedikeret kode til at snakked med lampen.

Kommandoerne er

C<g><r><b>

Sæt farven til den angivne GRB triple. F. eks. C000255000 for rød.

B<g1><r1><b1><g2><r2><b2>

Skift mellem de to angivne farver. F. eks. C000255000000000255 for at skifte mellem rød og blå.

H<on>

Tænd/sluk varmelegemet.

D<delay>

Sæt delay mellem blink (millisekunder).