Stap 4: Maak die de sleutels oplichten
De trend deze dagen is het gebruik van LEDs in elke nieuwe toepassing van de verlichting, en dit is geen uitzondering. We wilden gekleurde lampen en we wilden ze als bestuurbaar via een micro-controller. Een snel overzicht van de markt leidde ons naar het ontdekken van individueel regelbaar RGB LED modules die daisy samen geketend worden kunnen. De module we kozen heeft 4 LED's per module, en elke LED is een RGB LED. Dat wil zeggen: het is een rode, groene en blauwe LED in één pakket. Elke module heeft een LED driver chip die een eenvoudige digitale interface voorziet voor de controle van de module. Er zijn 4 ingangen aan elke module:
* 12V power
* Gegevens (5V TTL)
* Klok (5V TTL)
* Grond
Elke module heeft de dezelfde uitgangen, zodat het kan worden aangesloten op de volgende module in de keten.
De werkwijze van deze modules is interessant. Aan de ene kant zijn er gegevens en klok lijnen. De kleur van elke module wordt opgegeven met behulp van 24-bits RGB-gegevens. Na 24 bits zijn geklokt in een module, het gaat in de Pass Through-modus, en eventuele latere stukjes worden overgebracht langs de lijn naar de volgende module. Wanneer de clock lijn inactief voor een bepaalde periode van tijd gaat wordt elke module hersteld naar de oorspronkelijke toestand waar het nieuwe gegevens zal accepteren. Door de klokken uit Nx24 bits de kleur van N kunnen led modules worden gecontroleerd.
Ik gebruikte om te controleren de gegevens en klok lijnen de bus SPI (seriële perifere interconnect) voor de micro-controller. De atmega328p heeft SPI ondersteuning voor de hardware van de bus, dus om te maximaliseren van de efficiëntie ik dit in plaats van een bit-geneukt aanpak gebruikte.
Om de grote Piano besloten hebben we te gebruiken 2 modules per toets om voldoende lichtopbrengst. Dat gaf ons 56 modules in totaal. De gegevens werd geklokt op ongeveer 4MHz, dus de gehele keten van de LED nam rond 0.34ms te installeren. Een interrupt service routine heet elke 17ms geven een vernieuwingsfrequentie van ongeveer 60Hz.
Het energieverbruik van het LED-modules is afhankelijk van de kleur wordt weergegeven. Het ergste geval is volledig wit (255,255,255). Experimenteel verbruikt dat ongeveer 1.38 W/module. In deze aanvraag waren wij bezig met ongeveer 8 modules op op elk gewenst moment, dus ik was niet bezorgd over de huidige ver boven wat, maar energieverbruik kan een beperkende factor in sommige toepassingen.
Bronnen:
Adafruit heeft een goede tutorial over het rijden van de RGB LED-modules.
https://www.adafruit.com/products/683
Wilt u minder betalen voor de modules kunt u ze rechtstreeks van Chinese leveranciers kopen:
Zoeken naar "WS2801 LED RGB"
http://www.aliexpress.com/
Grote Piano Firmware. LED Driver.
https://github.com/deadsy/bigpiano/BLOB/Master/src/LED.cpp
https://github.com/deadsy/bigpiano/BLOB/Master/src/LED.h