RGB-LED-ljusstake

För några år sen byggde jag en ljusstake att ta med till Dreamhack, den gick ut på att jag bytte ut de vanliga glödlamporna i en klassisk sjuarmad ljusstake till blåa lysdioder och fixade så att varje ljus gick att styra individuellt för att på så sätt skapa intressanta mönster.

Den gamla hade blåa lysdioder och styrningen till den satt på ett separat kort utanför vilket gjorde det lite osmidigt och fult då det krävdes att nio kablar (spänning, jord och styrning) skulle ledas ut från ljusstaken och kopplas in på en kopplingsbräda.

Min nya ljusstake är bättre på alla vis, istället för att ha enfärgade ljus bytte jag ut alla mot RGB-lysdioder och kan på så sätt skapa alla färger, inte bara en olika stark blå. Jag valde att gå all in och designa egna kretskort för att få det så proffsigt som möjligt, visst blev den säkert alltför dyr men det har varit roligt på vägen och det är det som räknas. För att få ner storleken på kretskorten valde jag att köra med enbart ytmonterade komponenter.

Ett krav på ljusstaken har alltid varit att den ska gå att köras fritt från datorn, den styr sig själv och det enda man använder datorn till är att skriva programmet. Hade man styrt ljusstaken från datorn hade man kommit undan med en "dummare" ljusstake, nu har den en inbyggd mikroprocessor som har inbyggda ljusshower och styr varje enskilt ljus.

Under åren har jag haft tre olika versioner av ljusstaken så jag kan dra lite historia för den intresserade
Bygget handlar alltså om versionen under DHW11.

DHW08: Hann precis inte klart med ljusstaken utan fick den klar efter Dreamhack, trots att jag försökte in i det sista under natten innan jag skulle åka hann jag inte klart.

DHW09: Mjukvaru-PWM från en extern ATMEGA168, denna var väldigt hastigt ihopsatt och jag hade inte satt mig in i hur man fixar hårdvaru-PWM så mycket av processortiden gick åt till att skapa de olika toningarna av ljusen, man har alltså inte så mycket tid över till att skapa avancerade program och utföra beräkningar för dessa.

DHW10: Bytte ut den lösa ATMEGA-processorn mot en Arduino Pro Mini. En Arduino består visserligen av en ATMEGA-processor så det är fortfarande samma arkitektur men Arduino har en väldigt smidig utvecklingsplattform vilket gör det snabbare att utveckla program. Arduino:n är dock större än den separata ATMEGA-kretsen så även denna höll till på ett separat kort utanför ljusstaken. Ingen hårdvara förändrades inne i själva ljusstaken. Detta åren hade jag gått över till hårdvaru-PWM vilket gjorde att jag kunde ha mer avancerade toningar på ljusen.

DHW11: Egendesignade kretskort med ett huvudkort och sju slav-kort. Huvudkortet innehåller en mikroprocessor (ATMEGA328) och jag valde att göra mitt kort Arduino-kompatibelt för att kunna använda den smidiga utvecklingsmiljön. Varje slavkort innehåller en egen IC-krets som tar hand om PWM-styrningen för just sitt ljus så huvudprocessorn behöver inte bry sig om styrningen av ljusen mer än att skicka en färg till dem. Varje slavkort har en ingång för färger och en utgång för att koppla vidare till nästa kort, alla kort sitter alltså i en lång kedja och processorn behöver bara skicka 7 x 3 (RGB) värden så skyfflas allt vidare automatiskt till nästa kort. Att koppla korten i en slinga reducerar antalet kablar som behöver kopplas in i huvudkortet och det behövs då det är väldigt trångt om utrymme inne i ljusstaken där alla kort nu får plats.

Film på resultatet: http://www.youtube.com/watch?v=LsmoE-gHsVY
Varning för skum musik, muta ljudet bara.