Del 4: Ge Arduino instruktioner

Nu startar vi Processing IDE (från Processing-mappen). Programmet är till utseendet väldigt likt Arduino IDE. Vi väljer File, Sketchbook, Colorswirl. Innan vi kan testa koden behöver vi ändra en liten del av den. Vi rullar ned tills vi ser kodbiten myPort = new Serial(this, Serial.list()[0], 115200); på rad 44. Vad den här koden gör är att anta att Arduino-kortet är den första och enda inkopplade seriella enheten till datorn (vilket oftast inte är fallet). Vi vill därför berätta för programmet att Arduino faktiskt är inkopplad på com-port 3. Vi ändrar således koden till myPort = new Serial(this, ”COM3”, 115200);. Därefter klickar vi på Run (play-knappen längst upp till vänster) och vips börjar våra led-lampor lysa.

ljuseffekt tv
Tänt var det här! Vi ändrar koden och våra lampor börjar lysa och skifta färg.

Hur mysig regnbågsanimationen än må vara är det dock inte det vi vill åstadkomma med våra lampor. Vi väljer därför File, Sketchbook, Adalight i stället. Detta är koden vi kommer använda för att styra våra lampor. Det första vi gör är att upprepa samma ändringar vi gjorde i Colorswirl-exemplet tidigare. Vi rullar ned tills vi kommer till rad 156 och koden port = new Serial(this, Serial.list()[0], 115200); och ändrar denna rad till port = new Serial(this, ”COM3”, 115200); där COM3 alltså är vår port till vilken Arduino-kortet är kopplat.

ljuseffekt tv

ljuseffekt tv
Styrning. Vi väljer nu Adalight i stället och gör samma ändring i koden som tidigare.

När vi nu klickar på Run igen lyser hälften av våra lampor upp i olika färger. Gör vi nu något på skärmen kan vi se hur lamporna skiftar färg beroende på vad som visas. Dock vill vi givetvis att alla våra lampor ska lysa och inte endast 25. Varför endast de 25 första lyser är för att koden är skriven med just det antalet lampor i åtanke. Har du därför en slinga med just 25 lampor kan du i princip hoppa över nästa del, (del 5).

Del 5: Så kodar vi om antalet lampor

1. Koden som hanterar antalet lampor börjar under stycket PER-DISPLAY INFORMATION. Det första vi behöver ändra är under static final int displays…. Från början 0, 9, 6. Det vill säga skärm nummer 0 (första skärmen och den enda vi kommer använda oss av), 9 rader med led-lampor horisontellt och 6 rader vertikalt. ­Tillsammans blir det 9 plus 9 lampor horisontellt och 4 plus 4 vertikalt, totalt 26 stycken lampor. Koden (som vi kommer till snart) lämnar dock en rad tom längst ned i mitten för att tv:ns fot ska få plats, vilket gör att vi får 25 faktiska lampor. Vi har dock 50 lampor och ändrar därför koden till 0, 16, 13.


ljuseffekt tv

16x2 + 11x2 = 54. I och med att vi har så pass många lampor horisontellt kan vi utesluta fyra stycken vid tv:ns fot vilket gör att vi hamnar på 50 lampor totalt (hörnlamporna räknas bara en gång).
 

2. Nästa del kräver lite tankekraft men är samtidigt väldigt logisk. Vi vill ändra samtliga lampor under nästföljande stycke PER-LED INFORMATION. Alla lampor består av tre siffror där den första är numret på skärmen (alltid 0 i vårt fall eftersom vi bara har en skärm), den andra är lampans x-koordinat (horisontellt) och den tredje är lampans y-koordinat (vertikalt). Enklast är att börja med lamporna överst på skärmen (tredje raden). Lampan längst upp till vänster är alltså (0, 0, 0) medan nästa lampa får koden (0, 1, 0) och så vidare till lampan längst upp till höger med koden (0, 15, 0). Efter att vi skrivit om samtliga koordinater för vårt specificerade ”rutnät” av lampor har vi tillslut fått koden ovan.

ljuseffekt tv

Ny kod. Överst är koden för 25 lampor. Nederst är vår egen för 50 lampor.


3. Avslutningsvis går vi till rad 39 och ändrar ­texten static final short ­minBrightness till 0 i stället för 120. Detta gör att våra lampor slocknar helt när bilden är svart. I stället för att ständigt ha ett litet ljussken. Detta steg är givetvis valfritt.
 

4. När vi nu trycker på Play-knappen lyser våra lampor upp. Ett fönster öppnas där du i realtid ser vilken färg programmet registrerar för varje lampa och var lamporna befinner sig i förhållande till varandra.


ljuseffekt tv

Fakta

Svårighetsnivå: Avancerad.
Tid: Flera timmar.
Det här lär du dig:

  • Bygga din egen färg­skiftande bakgrunds­belysning till tv:n.

Det här behöver du:

  • En led-list med 50 lampor av typen WS2801, cirka 250 kronor (ebay.se, adafruit.com eller amazon.com).
  • Ett Arduino Uno-kort, 250 kronor (till exempel kjell.com).
  • Strömadapter minst 2A.
  • 2 usb-kablar, cirka 200 kronor (finns hos exempelvis teknikmagasinet.se).
  • Stiftlist samt krympslang, 100 kronor (kjell.com).
  • Cirka fyra meter trälister till ram (köps i byggvaru­handeln).

Adafruit.com säljer också ett komplett kit med led-lampor, Arduino-kort samt ström­adapter som funkar utmärkt om du vill följa den här guiden.