Interactieve LED Beer Pong tafel (52 / 88 stap)

Stap 52: Software: hoe de RGB peulen worden bijgewerkt


Het TLC5940-stuurprogramma's zijn bijgewerkt bij 60Hz door de Timer1 interrupt routine, dus elke 16384µS een functie genaamd XLAT_Interrupt(void) zal uitvoeren en controleren om te zien als de gegevens in de TLC5940-chips moeten worden bijgewerkt. De drie belangrijkste functies die worden gebruikt voor besturingselementen die de RGB-peulen zijn:

VOID RGB_Pod (UINT8 pod, UINT16 rode, groene UINT16, blauwe UINT16)
Deze functie zal de parameter 'pod' die moet bestaan uit een waarde van 1-20 en de bijbehorende waarden voor rood, groen en blauw ingesteld op de respectieve kanalen van die pod nemen. Er is geen vervagen in deze functie, zal het gewoon veranderen de pod in welke kleur u wenst.

Verandering pod #5 de kleur rood
RGB_Pod(5,4095,0,0);

VOID Pod_Set_Color (UINT8 pod, RGB-pod_color)
Deze functie is exact hetzelfde als RGB_Pod(p,r,g,b), het gebruikt alleen een struct RGB om de kleur van de pod te stellen. Dit is aardig als u snel wilt instellen van de pod op een van de standaard 10 kleuren.

Verandering pod #5 de kleur rood
Pod_Set_Color(5,Color[red]);

VOID Fade_To (UINT8 pod, oude RGB, nieuwe RGB, UINT16 vertraging);
Deze functie is veruit mijn favoriet als het kan de gebruiker in en uit de kleuren vervagen. Dit biedt een mooie soepele overgang van de kleur van de oude naar de kleur nieuw en de snelheid van de overgang wordt gecontroleerd door "vertraging" aan te passen. Ik heb in mijn code, een globale struct matrix genaamd 'PODn [20]' die wordt gebruikt voor het opslaan van de huidige waarde van elke pod. Voor PODn [x] zal 'x' altijd 1 kleiner is dan de waarde van de pod die wij te schrijven omdat de peulen worden behandeld van de pod #1 - #20 en de array PODn [0-19 is]. De notatie voor deze functie is als volgt:

Fade_To (POD #, PODn [POD #-1], kleur, vertraging);

Hier is een voorbeeld van een pod van rood naar blauw fading:

De pod is reeds rode zo PODn [4] al gelijk is is aan de kleur [RED]
Fade_To(5,PODn[4],Color[Blue],10);

Fade tarieven en Fade perioden
U hoeft alleen te Fade_To() eenmalig uit te voeren en de pod blijft langzaam te verdwijnen, zelfs als u het programma stoppen. In Timer3 is er een functie genaamd Fade_State(void) dat controleren zal om te zien als een van de RGB-peulen momenteel vervagen van de ene kleur naar de volgende. Als een pod is fading, worden de routine automatisch de pod één meer vervagen stap per onderbreken totdat de pod heeft volledig verdween in de kleur die de gebruiker heeft opgegeven. De fade-tarief kan gemakkelijk worden berekend:

Vervagen tarief = de hoeveelheid vervagen stappen die nodig zijn om volledig vervagen naar een andere kleur
Een Fade stap = 8ms per Interrupt
Vervagen van de periode = van de hoeveelheid tijd die nodig is voor de pod te helemaal vervagen

Tarief vervagen = (periode vervagen / een Fade stap)

Example #1
Laat vervagen RGB pod #8 in de standaardkleur roze en stel deze in op een fade-periode van 400ms hebben.

Tarief vervagen = (400ms / 8ms per onderbreken) = 50

Pod #8 naar roze verkleuren in de loop van 400ms
Fade_To (8, PODn [7], kleur [roze], 50);

De fade-periode zullen niet 100% nauwkeurig maar dat is prima als we hoeven niet dat precieze timing. Met alle andere interrupts en code uitgevoerd het afwijken door een paar microseconden elke keer, maar dat is prima voor onze toepassing. Als alle van de peulen op hetzelfde moment bijwerkt, is de max tijd doorgebracht in de Fade_State(void) 1.3ms. We willen niet te verliezen van een grote hoeveelheid tijd in een interrupt routine en dit is duwen, maar alles werkt nog steeds prima. Ik had oorspronkelijk de peulen gegroepeerd in vijf clusters en elk cluster was alleen bijgewerkt elke 4e interrupt cyclus waardoor de max tijd neer over ~ 400μs, die was beter, maar dan ik was alleen het bijwerken van de fade stappen van elke pod elke 4e Timer3 interrupt cyclus in plaats van elke één interrupt-cyclus. Één van beide manier het zal werken, maar door het te doen elke interrupt-cyclus het geeft ons meer precisie voor de fade-tarieven.

Gerelateerde Artikelen

LED Pong tafel

LED Pong tafel

Deze LED bier pong tafel blaast geesten, en als u het correct, geen doet zekeringen. De volledig functionele model zowel detecteert waar een bal stuitert en verbetert uw feesten ervaring met een muziek-gevoelige lichtshow. Zoals u ziet, zal onze huid
LED Arduino Bier Pong tafel

LED Arduino Bier Pong tafel

Ons project is een LED verlicht entertainment tabel of gemeenzaam, een Bier Pong tafel. Kregen we het idee van een groep studenten vorig jaar die ook een bier pong tafel voor hun laatste project bouwde, en we geleerd over hun ontwerp en heeft enkele
Interactieve LED-tabel

Interactieve LED-tabel

hier is een gids op hoe te om uw eigen interactieve LED-tabel met behulp van een van de kits van Evil Mad Sciencitstinstructable.Hier is een video van mijn laatste tafel in actie in het donker, en een foto van hoe het eruit:Stap 1: Kies uw maat, en e
Hoe maak je de beste bier Pong tafel op de campus

Hoe maak je de beste bier Pong tafel op de campus

Ben je moe van het spelen van bier pong op lame vouw tabellen?  Of misschien moe van het nemen van uw vrienden deur uit de scharnieren, elke keer dat je wilt spelen?  Ooit afgevraagd hoe ze bouwen alle het koel bier pong tafels online met automatisch
EL Wire Infinity Pong tafel

EL Wire Infinity Pong tafel

heb ik besloten om een ontzagwekkende pong tafel voor mijn nieuwe huis. Gotta love universiteitsleven!Onderdelen lijst:-Fold-Up Plastic tabel-EL draad van uw keuze-Driver voor de draad van uw keuzeIk adviseer hoogst coolneon.com-spiegel klemmen te ho
Infinity Pong tafel V2

Infinity Pong tafel V2

dit is mijn tweede oneindigheid pong tafel. Ik heb veel geleerd van deze twee tabellen, en ik zal proberen om enkele stappen om te repliceren hen. Hoewel ik geef een eerlijke waarschuwing, is er een veel trial and error. Succes!Stap 1: Materialen & T
Gemakkelijke opklapbare Ping-pong tafel

Gemakkelijke opklapbare Ping-pong tafel

Laten we een opklapbare ping pong tafel als mijn eerste DIY-project gepubliceerd in instrucables.com. De werkelijke afmetingen van een een ping pong tafel zijn 274 x 152 cm, als gevolg van de moeilijkheid van vervoer, onze tafel zal hebben de volgend
DIY Ping Pong tafel

DIY Ping Pong tafel

deze eenvoudige DIY ping pong tafel klaar is voor gebruik in een kwestie van minuten. Het kost minder dan $100 en de benen zijn iets dat elke huiseigenaar hoe dan ook moet!Opmerking: Dit is niet een verordening tabel! Deze tabel meet 4' x 8' vs. een
Procedures.. Make A Magic Ping Pong tafel

Procedures.. Make A Magic Ping Pong tafel

Dit is hoe wij onze eerste magische ping pong tafel gemaakt! Het is een directiekamer tabel die gemakkelijk kan worden omgezet in een ping pong tafel! Wij hopen dat u geniet van!Stap 1: Eerst moet u uw benen en base! Wij hebben pine gebruikt voor ons
Flat Pack Mini Ping Pong tafel

Flat Pack Mini Ping Pong tafel

Dit is een kleine schoolproject. Hier konden we een object kiezen onze smaak zolang het niet een stuk van meubilair, kunst of een lamp. Alhoewel een ping pong tafel is enigszins een stuk van het meubilair, mocht ik nog langs deze route te gaan.Het id
Hoe het bouwen van een Ping Pong tafel

Hoe het bouwen van een Ping Pong tafel

het project beschrijft de bouw van een Ping Pong tafel gedimensioneerd op de standaard grootte van internationals.Het is een gemakkelijke taak: alle mensen kunnen kunnen doen.Alleen eenvoudige materialen worden gebruikt (voornamelijk hout), en zijn n
Drijvende bier Pong tafel

Drijvende bier Pong tafel

voor veel mensen hier, het is nu zomertijd. Voor veel van die mensen betekent zomer partijen (namelijk degenen buiten). Voor veel van deze mensen hierbij een zwembad op een bepaald punt. En aangezien een partij vaak bier pong voor vele (jonge) mensen
4 x 4 x 4 interactieve LED-kubus met Arduino

4 x 4 x 4 interactieve LED-kubus met Arduino

om uit te leggen mijn 4 x 4 x 4 interactieve LED-kubus gepubliceerd voordat, een beetje meer duidelijk, zal ik proberen om mijn eerste stap voor stap instructable.Deze 4 x 4 x 4 kubus is interactief met behulp van de hoek van de top vier LED's als LE
Hoe te bouwen van een opvouwbare bier pong tafel!

Hoe te bouwen van een opvouwbare bier pong tafel!

ik bouwde dit bier pong tafel voor een vriend!Het gaat om dat een bier pong tafel is echt groot dus ik maak een opvouwbare!Deze is aangepast als een voetbal-grond.Stap 1: Voorbereiden materialen! De tabel is 2,40 m X 0,6 m dus 4 panelen van 0,6 m X 0