Stap 6: Schrijven van de Software
Ik ben in geen geval software geneigd. Gebruik de basisvoorbeelden van TLC5940 kan resulteren in enkele zeer coole effecten. Ik heb een aantal voorbeelden genomen en bewerkt ze voor bepaalde toepassingen. Ga naar de volgende link voor het downloaden van de source codebibliotheek voor de Arduino IDE.
http://code.Google.com/p/tlc5940arduino/
Eerst testen door een voorbeeld te laden. Het verdwijnt voorbeeld heeft een zeer koele effect, dit was mijn favoriet om te beginnen met. Ik wil benadrukken dat u test voordat u het installeren omdat ik ervaar een paar LED storingen tijdens het hele proces, en we willen niet worden desoldeer componenten en circuits herbedradingsproces terwijl het project binnenkant van onze computer (als we niet te hoeven).
Als u gekleurde lichten, op de power-up - bent je vertrokken naar een goede start. Ik heb een klein handvol voorbeelden ziet u hoe gemakkelijk het is aan te passen de TLC5940 source codevoorbeelden en hen aan uw eigen behoeften wijzigen verstrekt. In een voorbeeld, maak ik de LED's puur blauw aan andere accent verlichting in mijn kamer - wanneer ik heb ze ingesteld op blauw ook - mijn computer wordt aangepast aan de accentverlichting van mijn kamer.
In een ander voorbeeld, ik vervagen van de LED's van de ene kleur naar de andere, en deze code een lus zodat uw computer door verschillende kleuren scrollen zal. Er zijn vele manieren om elk effect die u zoekt, je geest en creativiteit de limiet zijn te bereiken. Mijn onbeholpen vaardigheden te ontwerpen software mogelijk niet indrukwekkend, en in die zin dat ik hoop dat sommigen van u daar zal dit project en delen van uw eigen software-effecten! Ik ben nieuwsgierig om te zien wat anderen kunnen verzinnen.
Verdeling:
Variabelen:
Mils - Fade tarief
STAP - stap-grootte van grijstinten
RC - referentie-kleur
r - variabele rood
g - groene variabele
b - blue Variable
Om te helpen eenvoudig testen en ontwikkelen van nieuwe kleur vervaagt - ik heb twee controle variabelen gedefinieerd in het setup-gedeelte van onze code, mils en stap.
Mils regelt de vertragingstijd in de for-lus - door het verhogen van de waarde van mils, we verhogen de vertraging tussen herhalingen van de lus, of het tarief waartegen we onze LEDs vervagen. Door het verlagen van de waarde van mils, we verminderen de vertraging tussen herhalingen van de lus, en verhoging van het tarief waartegen we onze LEDs vervagen.
STAP bepaalt de grijstinten stap grootte voor elke iteratie van de lus. Door de waarde voor stap verhogen, verhogen wij de stap-grootte van onze grijstinten code, waardoor onze LEDs nemen grotere toename stappen en langzaam verdwijnende sneller. Door het verlagen van de waarde van de stap, we verminderen onze stap-grootte van onze grijstinten code, waardoor onze LEDs kleinere stappen en langzamer vervagen.
RC is onze referentie-kleur. Bij het combineren van LED combinaties, zullen onze referentie-kleur onze helderste kleur. We kunnen dan onze secundaire kleur kleiner dan RC, via een wiskundige functie (of grotere) - dit zal laten om verschillende tinten met meer gemak en controle.
R, B en B zijn uiteindelijk de variabele die de grijstinten code voor elke set van rood, groen en blauwe LED's bevatten. Een waarde van 0 in de variabele opgenomen zal neerkomen op de LED wordt uitgeschakeld, terwijl een waarde van 4095 maximale lichtniveau voor dat LED zal worden.
Structuur :
Voor de structuur gebruik ik een eenvoudige for-lus. Wat de lus doet eerst onze drie variabele wordt geïnitialiseerd: r, g en b naar een weg staat van 0. Vervolgens initialiseren we onze variabele kleur RC verwijzing naar een 0, ook af. De lus zal dan zeggen, voor elke iteratie (elk exemplaar de lus 1 cyclus voert), het zal kijken naar RC. Wanneer RC gelijk aan een waarde tussen 0 en 4095 is, zullen wij de waarde van stap toevoegen aan onze RC variabele. Als stap een waarde van 1 bevat, zal onze RC stap een waarde van 1 grijstinten code per iteratie van de lus. We schrijven dan de grijstinten waarde in de variabele RC aan onze R, G of B variabelen naar onze LEDs worden geschreven. In dit geval ben ik met behulp van rood als ons voorbeeld. Ik maak, via wiskundige functie, r = RC waardoor onze r variabele nu houden de werkelijke niveau lichtwaarde, in termen van grijstinten code, kan worden bijgewerkt naar onze TLC-kanalen en output naar onze LEDs.
We updaten dan de TLC, de uitgangen volgen onze variabele maken we geconfigureerd - en invoegen van een kleine vertraging. De lus zal vervolgens terug naar het begin en beginnen met het proces totdat r heeft een waarde van 4095 (maximale lichtniveau) bereikt.
We keren deze code met enkele kleine manipulatie - en voer de code achteruit - dimmen van onze rode LEDs terug naar af. Vervolgens de cyclus herhaalt.
#include "Tlc5940.h"
VOID Setup
{
TLC.init();
#define mils 10
#define stap 1
#define rood
}
void loop
{
Er zijn 4095 stappen van 0 tot max op 4095.
Referentie-kleur gedefinieerd als RC
De kleur die u wenst te worden van de overheersende kleur zullen de referentie-kleur
Secundaire schemerige kleuren worden gecombineerd zal worden verwezen naar RC
int r = 0;
int g = 0;
int b = 0;
voor (int RC = 0; RC < 4095; RC = RC + STAP) {}
r = RC;
RODE LEDs
TLC.set (0, r);
TLC.set (3, r);
TLC.set (6, r);
TLC.set (9, r);
TLC.set (12, r);
TLC.set (15, r);
TLC.set (18, r);
TLC.set (21, r);
Groene LEDS
TLC.set (1, g);
TLC.set (4 g);
TLC.set (7 g);
TLC.set (10 g);
TLC.set (13, g);
TLC.set (16 g);
TLC.set (19, g);
TLC.set (22, g);
Blauwe LED 's
TLC.set (2, b);
TLC.set (5, b);
TLC.set (8, b);
TLC.set 11, b;
TLC.set (14, b);
TLC.set 17, b;
TLC.set 20, b;
TLC.set 23, b;
TLC.update();
delay(Mils);
}
voor (int RC = 4095; RC > 0; RC = RC-STAP) {}
r = RC;
RODE LEDs
TLC.set (0, r);
TLC.set (3, r);
TLC.set (6, r);
TLC.set (9, r);
TLC.set (12, r);
TLC.set (15, r);
TLC.set (18, r);
TLC.set (21, r);
Groene LEDS
TLC.set (1, g);
TLC.set (4 g);
TLC.set (7 g);
TLC.set (10 g);
TLC.set (13, g);
TLC.set (16 g);
TLC.set (19, g);
TLC.set (22, g);
Blauwe LED 's
TLC.set (2, b);
TLC.set (5, b);
TLC.set (8, b);
TLC.set 11, b;
TLC.set (14, b);
TLC.set 17, b;
TLC.set 20, b;
TLC.set 23, b;
TLC.update();
delay(Mils);
}
}
Als alle heeft gewerkt, en u nu de hardware en software achter de ontwerp begrijpen - dan is het nu tijd om de fans in uw computer installeren en beginnen met het genieten van de voordelen. Het installatieproces is eenvoudig, zoals u met een andere PC-ventilator - installeren zou alleen nu we een circuit hebben met plooi weg.