LED Disco golvet (1 / 9 steg)

Steg 1: Steg 3/4 alternativa FastLED

Arduinoen kan programmeras med FastLED 3.1 NoisePlusPalette https://github.com/FastLED/FastLED/tree/master/exa... Det finns ett exempel video av detta ingår ovan. Du måste också installera FastLED 3.1 biblioteket till datorn programmering arduino med. https://github.com/FastLED/FastLED

Var noga med att ändra pin-koder i programmet som visas i koden nedan.

Om du använder ett nätaggregat för din Arduino kan du enkelt slå på kraften till det och sedan makten att lysdioderna och du är go!

KODEN

---------------------------------------------------------------------------------

#include

#define LED_PIN 3 #define DATA_PIN 2 #define CLOCK_PIN 3 #define NUM_LEDS 120 #define ljusstyrka 64 #define LED_TYPE WS2801 #define COLOR_ORDER GBR CRGB lysdioder [NUM_LEDS];

#define UPDATES_PER_SECOND 100

Detta exempel visar flera olika sätt att konfigurera och använda "paletter" av färger / / med FastLED. / / Dessa kompakta paletter ger ett enkelt sätt att åter färglägga din / / animation i farten, snabbt, enkelt och med låga omkostnader. / / ANVÄNDA paletter är mycket enklare i praktiken än i teorin, så först bara / / kör denna skiss, och titta på vackra lampor som du sedan läser igenom / / koden. Även om denna skiss har åtta (eller mer) olika färgscheman, / / hela skissen sammanställer ner till ca 6,5 K på AVR. / / FastLED ger några förkonfigurerade färgpaletter, och gör det / / extremt lätt att göra upp din egna färgscheman med paletter. / / Några anteckningar om mer abstrakt teori och praxis"av / / FastLED kompakt paletter är längst ned i filen.

CRGBPalette16 currentPalette; TBlendType currentBlending;

extern CRGBPalette16 myRedWhiteBluePalette; extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;

void setup() {fördröja (3000); / / uppstart säkerhet fördröjning FastLED.addLeds (lysdioder, NUM_LEDS); FastLED.setBrightness (ljusstyrka); currentPalette = RainbowColors_p; currentBlending = blandning; }

void loop() {ChangePalettePeriodically();

statisk uint8_t startIndex = 0; startIndex = startIndex + 1. / * rörelse hastighet * /

FillLEDsFromPaletteColors (startIndex);

FastLED.show(); FastLED.delay(1000 / UPDATES_PER_SECOND); }

void FillLEDsFromPaletteColors (uint8_t colorIndex) {uint8_t ljusstyrka = 255; för (int jag = 0; jag < NUM_LEDS; i ++) {lysdioder [i] = ColorFromPalette (currentPalette, colorIndex, ljusstyrka, currentBlending); colorIndex += 3;}}

Det finns flera olika paletter av färger här. / / FastLED ger flera "förinställda" paletter: RainbowColors_p, RainbowStripeColors_p, / / OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p och PartyColors_p. / / / / Dessutom manuellt kan du definiera egna färgpaletter, eller du kan skriva / / kod som skapar färgpaletter i farten. Alla visas här.

void ChangePalettePeriodically() {uint8_t secondHand = (millis() / 1000) % 60, statisk uint8_t lastSecond = 99; om (lastSecond! = secondHand) {lastSecond = secondHand; om (secondHand == 0) {currentPalette = RainbowColors_p; currentBlending = blandning;} om (secondHand == 10) {currentPalette = RainbowStripeColors_p; currentBlending = NOBLEND;} om (secondHand == 15) {currentPalette = RainbowStripeColors_p; currentBlending = blandning;} om (secondHand == 20) {SetupPurpleAndGreenPalette(); currentBlending = blandning;} om (secondHand == 25) {SetupTotallyRandomPalette(); currentBlending = blandning;} om (secondHand == 30) {SetupBlackAndWhiteStripedPalette(); currentBlending = NOBLEND;} om (secondHand == 35) {SetupBlackAndWhiteStripedPalette(); currentBlending = blandning;} om (secondHand == 40) {currentPalette = CloudColors_p; currentBlending = blandning;} om (secondHand == 45) {currentPalette = PartyColors_p; currentBlending = blandning; {} om (secondHand == 50) {currentPalette = myRedWhiteBluePalette_p; currentBlending = NOBLEND;} om (secondHand == 55) {currentPalette = myRedWhiteBluePalette_p; currentBlending = blandning;}} }

Denna funktion fyller paletten med helt slumpmässiga färger. void SetupTotallyRandomPalette() {för (int jag = 0; jag < 16; i ++) {currentPalette [i] = CHSV (random8(), 255, random8());}}

Den här funktionen ställer in en palett med svarta och vita ränder, / / använda koden. Eftersom paletten är effektivt en mängd / / sexton CRGB färger, olika fill_ * funktioner kan användas / / för att ställa upp dem. void SetupBlackAndWhiteStripedPalette() {/ / svart alla 16 palett poster... fill_solid (currentPalette, 16, CRGB::Black); / / och ange varje fjärde en till vit. currentPalette [0] = CRGB::White; currentPalette [4] = CRGB::White; currentPalette [8] = CRGB::White; currentPalette [12] = CRGB::White;

}

Den här funktionen ställer in en palett med lila och gröna ränder. void SetupPurpleAndGreenPalette() {CRGB lila = CHSV (HUE_PURPLE, 255, 255); CRGB green = CHSV (HUE_GREEN, 255, 255); CRGB svart = CRGB::Black; currentPalette = CRGBPalette16 (grön, grön, svart, svart, lila, lila, svart, svart, grön, grön, svart, svart, lila, lila, svart, svart); }

Detta exempel visar hur du ställer in en statisk färgpalett / / som lagras i PROGMEM (flash), vilket är nästan alltid mer / / riklig än RAM. En statisk PROGMEM palett så här / / tar upp 64 byte av flash. CONST TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM = {CRGB::Red, CRGB::Gray, / / "vit" är för ljus jämfört med röda och blå CRGB::Blue, CRGB::Black,

CRGB::Red, CRGB::Gray, CRGB::Blue, CRGB::Black,

CRGB::Red, CRGB::Red, CRGB::Gray, CRGB::Gray, CRGB::Blue, CRGB::Blue, CRGB::Black, CRGB::Black};

Tillägs anteckningar om FastLED kompakt paletter: / / / / normalt, i datorgrafik, paletten (eller "color lookup table") / / har 256 poster, var och en innehåller en specifik 24-bitars RGB-färg. Du kan sedan / / index i färgpaletten med hjälp av ett enkelt 8-bitars (en byte) värde. En 256-entry färgpalett tar upp 768 byte ram, vilken på Arduino / / är helt möjligen "för många" byte. / / FastLED erbjuder traditionella 256-element paletter, för uppställningar som / / har råd 768 byte kostnaden i RAM. / / Men FastLED erbjuder också ett kompakt alternativ. FastLED erbjuder / / paletter som lagra 16 distinkta poster, men kan nås som om / / de faktiskt har 256 poster; Detta sker genom interpolering / / mellan de 16 explicit används för att skapa femton mellanliggande palett / / poster mellan varje par. / / Så till exempel, om du ställer in de första två uttryckliga posterna i en kompakt / / palett och grön (0,255,0) och blå (0,0,255), och sedan hämtas / / de första sexton transaktionerna från den virtuella paletten (av 256), skulle du få / / grön, följt av en mjuk gradient från grönt till blått, och sedan blå.

Se Steg
Relaterade Ämnen

LED Disco ljus i en burk!

Detta en av mina poster för låt det glöden! Tävlingen.Här är en trevlig, enkel instructable för någon just har börjat med lysdioder, lödning och elektronik. Det använder grundläggande delar, med ingen slänga omkring med mikrokontroller eller timers (...

Minecraft Disco golvet

Detta är en riktigt cool idé är det möjligt att göra i överlevnad men det skulle vara riktigt svårt. Jag gjorde det i kreativa för detta instructable. Hoppas du gillar.Steg 1: Vad du behöverVad du behöver för storleken jag gjort är78 Redstone lampor7...

Cylon pumpa!

Här är en snabb cylon pumpa vi gjorde för Halloween i år. Den består av en LED ljus ombord som jag återhämtat sig från en misslyckad disco golvet projektet... och en pumpa =) statistik är:PIC18F2550 mikrokontroller med USB12 MAX7313 pwm ledde styrenh...

Awesome anteckningar upptåg

I detta Instructable, jag kommer att dela med dig några awesome upptåg du kan spela på dina vänner med hjälp av datorprogram anteckningar, som ingår i alla Microsoft Windows-datorer, eller kan hämtas här. Använda dessa koder på egen risk; Jag är inte...

Dator Jukebox

Detta är en mycket enkel åter purposing Instructable. Jag skulle komma över en helt jukebox freewareprogram som jag hittade hade touchscreen stöd. På samma gång, hade jag också sett vissa ELO allt-i-en touchscreen datorer på eBay. Den en jag köpt tog...

Altera DE2-115 hiss kontroll

Denna instruktion lär dig grunderna i hur man gör en hiss kontroll på brädan Altera DE2-115. Vi kommer att använda Verilog för att genomföra denna kontroll. Denna grundläggande kontroll tar två ingångar från användaren via två växlar, en för nuvarand...

Konvertera en elektronisk badrumsvåg i en frakt skala för <>

,I mitt lilla företag behövde jag väga medelstora till stora föremål och lådor i golvet skala för frakt. I stället för lön sätt för mycket för en industriell modell använde jag digital badrumsvåg. Jag fann det vara tillräckligt nära för grov riktighe...

HUR MAN GÖR EN AUTOMATISK TOALETT!

Göra en riktigt cool automatisk toalett!Allt du behöver är-En liten 12 volts motor (från en gammal led disco ljus)En switchVarmlimma fast och pistol12 v strömkällaWire-----------TillvalLödkolv och lödKrymplangSteg 1: Steg 1 Först ansluta switchen til...

Bakgård terrass

förra året flyttade vi in i en ny lägenhet. en av de intressanta sakerna i den här lägenheten var att - bredvid det det var verkligen en hel del arbete att göra den användbar-it hade en exit på ett tak (om du måste gå igenom toalettrummet...). i somr...

Disco LED Party Cup!

Välkommen till min outgrundlig för "Disco LED partiet Cup!" det på fester eller lägga till lite spänning i en lugn natt i! Botten "puck" fästs på botten av en plast parti kopp och lyser upp till beat!Steg 1: ReservdelslistaFörsta du be...

Billie Jean LED ljus-up disco skor

dessa är skor med LED plattor sitter på undersidan av dem och en tryckvakt så att de lyser upp när du sätter fötterna i, precis som Michael Jacksons Billie Jean video. De drivs av ett batteri som du lagt i din ficka. Detta projekt byggdes lite bråtto...

Disco LED skiva

Vad du behöver att göra disco LED skiva är följande:En gnista kärna och en internet-knappen, som du kan se på bilderna ovan.Steg 1: Bli anslutenPlacera Spark kärnan till knappen internet som visas ovan. Ansluta den gnista kärnan via usb och Anslut de...

RGB LED Strip Disco Ball

Hej, detta är Brandon Neustadter en av elementärt LED kommersiella Account Managers. Jag ville skapa en LED-ljus show som skulle synka till min musik. Generellt detta tar timmar om inte dagar eller veckor, men med den Apollo Jammer det tar några minu...

Ljus-Up Disco tabell

Varje lägenhet behöver awesome möbler, så varför inte göra din egen? Detta soffbord innehåller LED strips som lyser upp i olika anpassningsbara mönster och färger. Belysningen styrs av en Arduino och en dold knapp, och hela är batteridrivna så det fi...

Aluminium plåt skrivbord med LED-belysning

är du intresserad av att bygga ditt eget skrivbord? Denna guide ger detaljerade instruktioner av struktur och sammansättning av metall-plåt skrivbord, med scheman du kan ändra för att passa dina behov. Ingen gimmick design, men en praktisk, full stor...

Speglad Disco Ball Halloween kostym

vill vara Discobelle bollen? Denna speglade skapelse kommer att bli en publikfavorit!Skapa en mobil part som kommer att hålla folk som dansar omkring dig hela natten!(Foto med tillstånd av Joshua Targownik)Steg 1: material Material för discokula:speg...

360 graders Multi Purpose ljusa LED-ljus

HejDetta är mycket användbart 360 graders multi syftet LED ljus. som namnet själv kan du hitta information om denna lampa...360 graders innebär denna lampa tänds ljuset i alla riktning.Multi purpose innebär denna lampa kan användas som bordslampa ell...

3D LED Cube

3D LED kuben är en riktigt cool enhet som gör att du kan se i tre dimensioner, få vissa djupseende och har 512 lysdioder eller 512 pixlar. Den är baserad på en arduino uno vilket är en Atmel AVR microcontroller en utveckling ombord med vissa standard...

ChandiliBeer: LED öl flaska ljuskronan

jag har alltid velat göra något sånt här och det var verkligen inte så svårt som jag trodde först. Det är en elegant upp cykling för gamla används flaskor och material och det är en rolig bygga för en hackerspace loungeSteg 1: material Det första ste...