Interaktiva LED öl Pong tabell (53 / 87 steg)
Steg 53: Programvara: ledde ringar och den boll bricka motorer
void LED_no (UINT8 LED, UINT16 data)
Den första parametern "LED" kommer att ta ett indatavärde för 1-16 och avgöra vilken OUTx stift på den TLC5940 som vi styr. Den andra parametern, 'data', vilja sätta den PWM-värdet mellan 0 - 4095 för den utgången. Denna funktion används för att kontrollera järnväg LED ringen samt bollen bricka LED ringen. Om du vill aktivera LED ring #8 med PWM värdet 3230, skulle vi skriva:
Slå på LED ring #8 med en av 3230
LED_no(8,3230);
void Fade_Ring (UINT8 LED, float gamla, float nya, UINT16 fördröjning)
Denna funktion använder exakt samma format för att blekna LED ringar som Fade_To() använder för att blekna RGB skida. Det har ändrats för att skriva till TLC5940 #5 utgångar för LED ringar och bollen brickor men annat än att den fortfarande använder Fade_State() avbryta samtalet för att hantera alla blekning när denna funktion har kallats. Den globala UINT16 matris som används för att spara det aktuella värdet för varje LED ring kallas "LEDring [16]". När användaren anropar funktionen fade, uppdateras automatiskt avbryta rutin LED ringen en mer fade steg per avbrott tills ringen har helt bleknat till ljusstyrkan anges. Fade är beräknad på samma sätt som att vi beräknas det för RGB skida tillbaka i steg #52. Här är ett exempel på fading ett LED ring till dess max ljusstyrka under loppet av 80ms:
Börja blekna LED Ring #3
Fade_Ring (3, LEDring [2], 4095, 10).
void Ball_Washer (UINT8 bw, UINT16 fan_speed, UINT16 pump_speed)
För att styra bollen bricka motorerna, kommer vi använda funktionen kallas Ball_Washer(a,b,c) som gör det möjligt att ange hastigheter för fläkt och pump motorerna på en av brickorna bollen. LED ringen runt bollen bricka inresa och utresa hålen styrs på samma sätt som LED ringar på rälsen, denna funktion använder bara funktionen LED_no(LED,data) för att ställa motorn rusar. Här är hur vi skulle vända på fläkt fläkt på halvfart för bollen bricka #2:
Slå på fläkten fläkten på halvfart för bollen bricka #2. Hålla pumpen avstängd
Ball_Washer (2, 2048, 0);
Foto #1 innehåller layout för varje LED ringen men jag har också postat en video nedan det cyklar LED ringen från #1 - #12 i den ordningen.