Kreativa diorama belysning med Arduino och TLC5940 (4 / 11 steg)
Steg 4: Översikt över controller koden
Koden hanterar LED kluster av antingen vit eller RGB. Den bar eller nattklubb visar en blandning av båda.
RGB-ljusdioder följer en sinusvåg. Koden ursprungligen beräknade värdet för "lead" lampan och sedan upprepade det ner till de andra RGBs. Beräkningarna som var otroligt långsamma. Förbättra hastigheten krävs före beräkning av den hela sinusvåg och statiskt i en matris. Koden körs betydligt snabbare följden och tillåter oss att piska genom alla lampor.
Lysdioderna är grupperade i koden. RGBs är ett kluster. En uppsättning windows är en annan och så vidare. Varje LED har start och slut tid-fält som anger hur många millisekunder innan den utför en åtgärd som ändrar färg, slå eller stänga av.
Funktionen loop() kommer att gå igenom varje LED kluster och det kan förekomma smärre förseningar som koden har att iterera genom alla lampor och sedan utföra en uppdatering om du vill ange deras tillstånd. En liten försening är en av de buggar det är en funktion. Vissa variationer läggs till varaktigheten av lysdioderna, att göra belysning lite mer realistiska.
Observera att alla tider är hårdkodade. Du kan ändra det så att lamporna köras under en tillfällig period.
Var försiktig med de vita lysdioderna och ljusstyrka inställningarna du väljer. TLC5940 har steg som går från 0 (off) till 4096 (blad fläckar i dina ögon). Jag har sänkt standard LED ljusstyrka till något mycket låg att se LED arbete efter dåraktigt att lysdioderna till deras maximum och har svårt att se något annat än ställen efteråt. Du måste ange lysdioderna till ett högre värde en gång installerat i modellen eftersom windows och andra objekt kan diffusa eller blockera ljuset.