INHOUDSOPGAWE:

Maklike LED vakansie ligskou: towenaars in die winter - WS2812B LED -strook met FastLED en 'n Arduino -tutoriaal: 6 stappe
Maklike LED vakansie ligskou: towenaars in die winter - WS2812B LED -strook met FastLED en 'n Arduino -tutoriaal: 6 stappe

Video: Maklike LED vakansie ligskou: towenaars in die winter - WS2812B LED -strook met FastLED en 'n Arduino -tutoriaal: 6 stappe

Video: Maklike LED vakansie ligskou: towenaars in die winter - WS2812B LED -strook met FastLED en 'n Arduino -tutoriaal: 6 stappe
Video: Часть 1 — Аудиокнига Марка Твена «Приключения Гекльберри Финна» (гл. 01–10) 2024, Julie
Anonim
Image
Image

Ek het hierdie vakansie -ligskou ontwerp en geprogrammeer om oral te vertoon. Ek het een LED -strook WS2812B gebruik met 'n pixeldigtheid van 30 pixels/ meter. Sedert ek 5 meter gebruik het, het ek altesaam 150 LED's gehad. Ek het die kode eenvoudig gehou sodat almal wat nuut was in die gebruik van WS2812B LED -stroke, die kode maklik kon volg. Dit beteken ook dat as u verskillende hoeveelhede pixels gebruik, die tydsberekening af is, dus moet u by 150 LED's bly. Dit is eenvoudig, maar die musieksisteem word glad nie deur die Arduino bestuur nie. Aan die begin van die program is daar 3 groen flitse en 1 flits rooi, dan begin die werklike ligvertoning. Aangesien u die musiek met die hand moet begin, moet hierdie aanvanklike flitse u 'n aanduiding gee van wanneer u die musiek moet begin speel. Ek het die onderstaande kode ingesluit. Voeg hierdie kode by of verander dit vir nie-kommersiële doeleindes.

Voorrade

- WS2812B LED -strook

- Arduino

- Drade

- 5V 10A voeding | As u meer as een strook gebruik, moet u 'n groter kragtoevoer gebruik. Elke pixel gebruik 60mA, dus 150 pixels * 60mA = 9A. U kragtoevoer moet dit kan hanteer as u van plan is om volle helderheid in wit te gebruik. U moet 'n 5V-kragtoevoer gebruik as u 5V LED-stroke gebruik, en as u 12V LED-strips gebruik, moet u 'n 12V-kragtoevoer gebruik, maar ook 'n 12-5V-converter om die 5V Arduino aan te dryf.

Stap 1: Laai die FastLED -biblioteek af

Definieer 'n paar veranderlikes
Definieer 'n paar veranderlikes

Laai die nuutste weergawe af van github.com/FastLED/FastLED/releases as u nog nie die FastLED -biblioteek afgelaai het nie

Laai die FastLED -biblioteek af en skuif dit na u gids Arduino biblioteke. Moenie die naam van hierdie gids verander nie. Gaan in die Arduino IDE na Skets, sluit biblioteek in, en voeg dan by. ZIP -biblioteek. Kies die FastLED -lêergids.

Sodra u biblioteek opgestel is, bevat die reël #include Hierdie reël vertel die program wat u die biblioteek gebruik.

Stap 2: Definieer 'n paar veranderlikes

Soos ek vroeër genoem het, verander die tydsberekening of die ligskou om die kode eenvoudig te hou.

Die reël #definieer NUM_LEDS 150 is waar u die aantal pixels wat gebruik word, plaas. In hierdie geval sal dit 150 wees.

Die reël #define DATA_PIN 5 is waar u die digitale pen sit waarmee u die datakabel verbind het.

Die lyn #define BRIGHTNESS 255 is waar u die helderheid van 'n skaal van 0-255 stel, met 255 die helderste.

Stap 3: Die instellingsgedeelte van die kode

Die instellingsgedeelte van die kode
Die instellingsgedeelte van die kode

In die opstellingsgedeelte is daar 'n vertraging van 2 sekondes en die lyn

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B dui die tipe LED -strook aan wat ons gebruik het en DATA_PIN is die veranderlike wat ons in 'n vorige stap gedefinieer het. GRB is die kleurorde. Dit kan wissel afhangende van die LED -strook wat gebruik word. Probeer die kode soos dit is, en as die kleure nie dieselfde is as in die video nie, probeer om dit na RGB of BRG te verander. U kan die res van hierdie reël dieselfde laat. Die lyne

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

beperk die kragverbruik van die LED -strook. Dit is 'n wonderlike funksie uit die FastLED -biblioteek. Die getal 5 is die spanning wat ons gebruik het, en die getal 8000 is die maksimum stroom wat die LED -strook in mA kan gebruik. Dit word aanbeveel om slegs 80% van die kragtoevoer se lewensduur te gebruik. Aangesien ek 'n 10A -kragtoevoer het, is 0,8*10 = 8A of 8000mA.

Stap 4: Die lusafdeling | Aka, die cool deel van die kode

Die lusafdeling | Aka, die cool deel van die kode
Die lusafdeling | Aka, die cool deel van die kode
Die lusafdeling | Aka, die cool deel van die kode
Die lusafdeling | Aka, die cool deel van die kode

Noudat ons klaar is met die opstel van die program vir ons spesifieke LED -strook, kan ons deelneem aan die feit dat die stroke werklik brand. Om hierdie gedeelte skoon te laat lyk, het ek geskrewe funksies gebruik om die stroke te beheer en verskillende effekte te doen. Die foto hierbo aan die linkerkant is deel van die lusgedeelte wat die funksies bestuur. Die prentjie regs is daaronder en daar het ek geskryf wat elke funksie doen.

Stap 5: Bedrading

Bedrading
Bedrading

Die WS2812B LED -stroke het 3 terminale aan elke kant. 2 vir krag, en 1 vir die datasignaal wat van ons Arduino afkomstig is. Koppel eenvoudig 2 drade aan die Arduino se kragterminale en koppel 2 kragdrade aan die LED -strook. U moet ook 2 kragdrade, kraginspuitingsdrade, aan die einde van die strook voeg, want spanningverlies kan lei tot dowwe LED's aan die einde van die strook as u dit nie doen nie. Gaan die etikette op die strook na om te sien watter terminaal daarvoor is. Deur die polariteit te meng, kan dit tot 'n gebraaide strook lei. Koppel ook die Arduino se gronddraad aan die gronddraad op die LED -strook om 'n gemeenskaplike grondslag vir beter data -oordrag te vestig. Ek het genoem dat u kragspuitdrade moet byvoeg, maar u kan dit NIE vir die datadraad doen nie. Dit is omdat elke LED die datasignaal na die volgende een heruitsend, dus maak seker dat u 1 datadraad aansluit op die gespesifiseerde Arduino -pen en die LED -strook. Die strook moet 'n klein pyltjie hê wat die rigting van die reis aandui. Maak seker dat u die data -seindraad aan die begin sit en nie aan die einde nie. Deur dit te meng, kan dit tot 'n gebraaide strook lei.

Stap 6: Monteer die LED -strook

Ek het my LED -strook aan die binnekant van 'n venster aangebring deur dit eenvoudig te plak. Daar is egter baie ander maniere waarop u u LED -strook kan monteer. U kan 'n aluminiumkanaal soos https://tinyurl.com/s2km4v3 gebruik om die stroke buite op u daklyn te plaas. As u u LED-stroke buite sit, raai ek u aan om die ip65-stroke te gebruik as u 'n aluminiumkanaal gebruik, want dit is semi-waterdig en is dunner as die 1p67, wat moontlik nie in sommige kanale pas nie. As u van plan is om dit buite sonder 'n kanaal te monteer, gebruik dan die ip67 -stroke wat feitlik waterdig is. Om 'n hoek om te gaan, soos dié op die pieke van u daklyn, moet u die strook ideaal sny en drade om die hoek gebruik. Miskien kan u die strook net buig, maar wees versigtig vir hoeveel u dit buig, want dit is maklik om 'n LED uit te skakel.

Aanbeveel: