CPU-fläkten hacka - RGB lysdioder - Arduino & TLC5940 (6 / 7 steg)

Steg 6: Skrift mjukvaran



Nu är en bra tid att testa ditt arbete nästan alltid ett fel gjorts längs vägen i ledningar eller i organisationen. Ofta gånger, om med hjälp av billiga lysdioder köpte från eBay - är röda dioden inom varje LED super känslig för skador från miswiring och från överhettning från lödning.

Jag är ingalunda programvara benägen. Använda de grundläggande TLC5940 exempel kan resultera i några mycket häftiga effekter. Jag har tagit några av dessa exempel och modifierade dem för särskild användning. Chef över till följande länk för att ladda ner koden källbiblioteket för din Arduino IDE.

http://code.Google.com/p/tlc5940arduino/

Testa först genom att läsa ett exempel. Fades exemplet har en väldigt cool effekt, detta var min favorit till att börja med. Jag betona att du testa innan du installerar eftersom jag upplever några LED misslyckanden under hela processen, och vi vill inte desoldering komponenter och omkoppling kretsar medan projektet är inne i vår dator (om vi inte måste).

Om färgade lampor, på power-up - är du iväg till en bra start. Jag har förutsatt en liten handfull exempel som visar hur lätt det är att anpassa TLC5940 källa kodexempel och ändra dem till dina egna behov. I ett exempel, jag gör lysdioder ren blå att rymma andra accent belysning i mitt rum - när jag har dem satt till blå-min dator kommer att matcha accentuerande belysning av mitt rum.

Ett annat exempel, jag fade lysdioderna från en färg till nästa, och loop här koden så din dator för att bläddra genom olika färger. Det finns många sätt att uppnå någon effekt du söker för ditt sinne och kreativitet är gränsen. Min olämplig förmåga att utforma program kanske inte imponerande, och att jag hoppas några av er där ute kommer att ta detta projekt och dela din egen programvara effekter! Jag är nyfiken att se vad andra kan komma med.

Fördelning:
Variabler:
mils - Fade Rate
STEG - gråskala stegstorlek
RC - referens färg
r - röd variabel
g - grön variabel
b - blå variabel

För att helt enkelt testa och utveckla nya färgen bleknar - jag har definierat två kontroll variabler i setup-delen på vår kod, mils och steg.
Mils styr fördröjningstiden i den för loop - genom att öka värdet av mils, vi öka tiden mellan loop iterationer och minska där vi tona våra lysdioder. Genom att minska värdet av mils, vi minska fördröjningen mellan loop iterationer och öka graden där vi tona våra lysdioder.
STEG styr gråskalan stegstorlek för varje slinga iteration. Genom att öka värdet av steg, öka vi steg av vår gråskalan kod, vilket gör våra lysdioder ta större steg steg och snabbare fädning. Genom att minska värdet av steg, vi minska våra steg storleken på vår gråskalan kod, vilket gör våra lysdioder ta mindre steg och blekna långsammare.

RC är vår referens färg. När du kombinerar LED kombinationer, kommer att vår referens färg vara våra ljusaste färg. Vi kan sedan göra våra sekundär färg mindre än RC, via en matematisk funktion (eller större) - Detta kommer att tillåta oss att upprätta olika nyanser med större lätthet och kontroll.

R, B och B är slutligen den variabel som innehåller gråskalan koden för varje uppsättning av röd, grön och blå lysdioder. Värdet 0 i variabeln kommer att motsvara den LED att vara utanför, medan ett värde på 4095 blir högsta ljusnivå för att LED.

Struktur :

För struktur använder jag en enkel for-loop. Vad loopen gör först initieras våra tre variabel: r, g och b till en off stat för 0. Sedan initiera vi våra RC referens färg variabel till en 0, också utanför. Slingan kommer att sedan säga, för varje iteration (varje instans slingan utför 1 cykel), det kommer att titta på RC. När RC är lika med ett värde mellan 0 och 4095, vi lägger till värdet av steg till våra RC variabel. Om steg innehåller värdet 1, kommer våra RC steg värdet 1 gråskalan koden per loopen upprepas. Vi skriver sedan gråskalan värdet i variabeln RC till våra R, G eller B variabler som ska skrivas till våra lysdioder. I detta fall, använder jag röd som vårt exempel. Jag gör, via math funktion, r = RC vilket gör våra r variabel nu hålla det faktiska ljusa nivå värdet, när det gäller gråskalan kod, uppdateras till våra TLC kanaler och utgång till vår lysdioder.

Vi uppdaterar TLC, att göra utgångarna följa våra variabel vi konfigurerat - och sätta in en liten fördröjning. Slingan kommer sedan gå tillbaka till början och börja processen över tills r når ett värde på 4095 (högsta ljusnivå).

Vi sedan vända här koden med några små manipulation - och kör koden bakåt - ljusreglering våra röda lysdioder backa ner till. Cykla sedan upprepas.

#include "Tlc5940.h"
void setup()
{
TLC.init();
#define mils 10
#define steg 1
#define röd

}
void loop()
{

Det finns 4095 steg från 0 till max på 4095.
Referens färg definieras som RC
Den färg som du vill ska vara den dominerande färgen kommer att vara referens färg
Sekundära dim färger kombineras ska refereras till RC

int r = 0;
int g = 0;
int b = 0;

för (int RC = 0; RC < 4095; RC = RC + STEG) {
r = RC;
RÖDA lysdioder
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);
Gröna Lysdioderna
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);
Blå lysdioder
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);
}
för (int RC = 4095; RC > 0; RC = RC-STEG) {
r = RC;
RÖDA lysdioder
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);
Gröna Lysdioderna
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);
Blå lysdioder
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);
}
}

Om allt har fungerat, och du förstår nu maskinvara och programvara bakom designen - är det nu dags att installera fläktar i datorn och börja njuta av fördelarna. Installationen är enkel, eftersom du skulle installera med alla andra PC fan - först nu har vi en krets för att stoppa undan.

Se Steg
Relaterade Ämnen

Bitars banka steg för steg: Arduino kontroll av WS2811, WS2812 och WS2812B RGB lysdioder

Disclaimer: under det senaste året, några olika bibliotek har skrivits för att kontrollera dessa allestädes närvarande RGB lysdioder av Karl beslutsfattare från Adafruit, PJRC och FastSPI projektet. Biblioteken fungerar mycket bra, och vi bör försöka...

Chalieplexing 4 RGB-lysdioder med 4 trådar på Arduino

Har du alla behov många lysdioder, men bara några sladdar? Då är Charlieplexing en stor sak att prova. Med bara 4 trådar kan du köra 12 ledde med endast 4 motstånd som ett extra skydd och utan någon "informationsövertag" komponent som en 74595 e...

Polisens blixtljus med scanner rgb lysdioder och Arduino

Det är inte en riktig blixt mönster som används av polisen.Bara några öglor programmeras av mig att demonstrera några möjligheter.DISCLAIMER:JAG ÄR INTE ANSVARIGA FÖR ÅTGÄRDER ELLER KONSEKVENSER NÄR DET GÄLLER DENNA TUTORIAL.Använd det endast inomhus...

Ambilight utan Arduino för icke påverkbar RGB lysdioder

Om du inte vet vad Ambilight är du måste kolla youtube-videor på Philips AmbilightNu för tiden finns det många sätt att göra en replik eller ens en snyggare reflektioner...Det enklaste sättet att göra en sådan sak är med en billig RGB ledde som inte...

Färg kalibrera RGB lysdioder med en Arduino

De flesta människor tror lysdioder och Arduinos relationerna avslutas med ett ögonblick skiss. Därefter måste du gå mot motorer, smarta hem och andra "allvarliga" saker. Tja, kanske jag är långsam eller kanske är det bara att jag är en grafisk k...

Kedjad humör-ljus med hjälp av hög effekt RGB lysdioder

jag har startet projektet mer än ett år sedan och arbetar på den på och av sedan dess. Nu är det äntligen gjort.Målet var att ha en snygg humör-ljus för mitt vardagsrum, inspirerad av en standard belysning konsol en vän hade en gång (med färgade lamp...

Använd en $1 ATTiny för att köra adresserbara RGB lysdioder

Arduinos är underbart och lätt att arbeta med, men det finns några projekt där du behöver en mikrokontroller, eller vill lägga till några interaktivitet men egentligen inte vill ägna en $20-30 styrelsen!På lite över $1/styck (mindre i bulk) ATTiny85...

Kontroll RGB lysdioder med en handrörelse.

IntroduktionVi var välkomna att hjälpa till vid våra lokala grundskolan STEM natt och behövde en cool demonstration, med lite tid att förbereda.Så, vi tittade igenom tech vi hade liggandes, och kom upp med idén att använda den LeapMotion handen track...

DIY: Wired lysdioder & RGB lysdioder

I denna tutorial, kommer jag att visa dig hur du gör din egen wired lysdioder för Arduino använder hoppare ledningar.Felkällor:5mm RGB lysdioder:http://www.amazon.ca/SODIAL-Common-Cathode-Emittin...5mm lysdioder:http://www.amazon.ca/Green-Blue-Yellow...

Uppgradera Smart RGB lysdioder: WS2812B vs WS2812

Det stora antalet projekt som vi har sett att använda sig av Smarta RGB lysdioder– vare sig det är remsor, moduler eller anpassade PCB - de senaste 3 åren är ganska häpnadsväckande. Detta utbrott av RGB LED användning har gått hand i hand med en bety...

Bästa RGB lysdioder för ett projekt (WS2812, aka NeoPixels)

När vi arbetar med lysdioder, som vi ofta att kontrollera deras tillstånd (på/av), ljusstyrka och färg. Det finns många, många olika sätt att ordna detta, men är ingen så kompakt en lösning som WS2812 RGB LED. I dess mycket liten 5 x 5 mm-paketet omf...

Trådlös Accelerometer kontrollerat rgb-lysdioder

MEMS (Micro-elektromekaniska system) accelerometrar är i allmänt bruk som tilt-sensorer i mobiltelefoner och kameror. Enkla accelerometrar finns både som ic-chip och billigt utveckling pcb-styrelser.Trådlösa marker finns också prisvärda och i sammans...

Musik till RGB lysdioder

* Obs * detta projekt utförs av en grupp studenter från Singapore Polytechnic.De verktyg och komponenter lämnades av våra FYP handledare Teo Shin Jen.I detta projekt används fast fourier transform(fft) för att konvertera analoga data från tid domän t...

Ping Sensor kontrollerad RGB-lysdioder

Som en del av mitt projekt här terminen behövde jag för att kunna styra vissa RGB lysdioder med en ping sensor. För mitt projekt ville jag min lysdioder att blekna genom färger men när någon fick alltför nära till projektet jag ville lysdioderna att...

IPhone kontrollerad RGB LED (Arduino)

Detta projekt visar hur du ställer in Arduino med RGB LED och kontrollera den med din iPhone via ditt Wifi-nätverk. Du kan ställa in 15 olika färger + 2 program med iPhone app.URL för kort demovideo:https://Drive.Google.com/Open?ID=0B4_uJI1BOUG5dFpE....

Motstånd kalkylatorn med hjälp av RGB lysdioder

Det är vanligt att ha en mycket rörig olika motstånd och du vill att ett visst värde men du memorera inte motstånd färgkod.I detta projekt jag försökte lösa detta problem genom att göra en krets som använder Arduino som gör att du kan ange värdet på...

Styra RGB lysdioder med styrenhet

några dagar sedan, jag postat en instructable för styrenhet, som är bara ett fantasinamn för ett prövningsläkemedel läsa en potentiometer och en switch och driver data i den elektriska Imp planner. Om du inte har sett den ännu, kan du kolla det här.I...

Internet-knappen - RGB lysdioder

Efter att publicera en hel del tutorials om partikel Core, jag lära mig att skapa en serie med knappen internet och jag också postat några tutorials på det också. Men vad jag undervisade inte var hur man styr RGB lysdioder. Så i detta instructable ja...

UFO projekt - Color Ändra glödande Radio kontrollerade flygplan - RGB lysdioder är awesome!

I love R/C Airplanes.Jag älskar saker som lyser upp.Jag älskar fotografi.sätta ihop dem och du kan spela på natten!Varning *** människor kommer galen om du gör detta projekt och flyga det framgångsrikt. Polisen och air traffic styrenheter kommer att...