Sadržaj:

Kontroler dinamičkog LED osvjetljenja za umjetnost: 16 koraka (sa slikama)
Kontroler dinamičkog LED osvjetljenja za umjetnost: 16 koraka (sa slikama)
Anonim
Image
Image

Uvod:

Rasvjeta je važan aspekt vizualne umjetnosti. A ako se rasvjeta s vremenom može promijeniti, ona može postati značajna dimenzija umjetnosti. Ovaj je projekt započeo posjećivanjem svjetlosne predstave i iskustvom kako bi rasvjeta mogla potpuno promijeniti boju objekta. To smo počeli istraživati u umjetnosti osvjetljenja tkanina. Do sada smo izgradili dinamičku rasvjetu za 8 komada, uključujući sliku i fotografiju. Svjetlosni efekti uključuju: simuliranje zore i zalaska sunca, podvodno svjetlo kroz valovitu površinu, munje u oblacima i dramatičnu promjenu percipiranih boja i raspoloženja umjetničkog djela. Video zapisi ovih učinaka uključeni su u korake programiranja u nastavku.

Ova instrukcija gradi kontroler koji s vremenom postavlja svjetlinu i boju niza pojedinačno adresabilnih LED dioda. Također uključuje opcijski ulazni krug za ručno podešavanje (postavljanje svjetline i boje) segmenta rasvjete. Također ćete naučiti o mnogim problemima i poboljšanjima koja smo usput otkrili.

Napisali smo i povezane instrukcije o izgradnji kutije i okvira za sjenu. Provjerite na:

Za sada ćemo se usredotočiti na elektroniku i programiranje.

Korak 1: Materijali:

  • Niz LED dioda WS2812
  • Arduino Pro Mini 328 - 5V/16 MHz
  • USB sučelje za prijatelja FTDI -ja
  • USB A do MiniB kabel za FTDI
  • Kondenzator 4700 μf
  • Napajanje 5v s priključkom 5.5 x 2.1
  • Utičnica 5,5 x 2,1
  • Terminalni blok
  • Prototipna ploča
  • Gumb
  • Potenciometar
  • LED indikator
  • Otpornici
  • Vrpčasti kabel
  • Zaglavlje muški
  • Zaglavlje žensko

2. korak: Resursi:

  • Arduino; Interaktivno razvojno okruženje (IDE)
  • Knjižnica Adafruit NeoPixel
  • NeoPixel Tutorial
  • Primjer programa Strandtest
  • Knjižnica FastLED
  • FastLED veze i dokumentacija
  • FastLED forum
  • Naše skice rasvjete

Korak 3: Pregled kontrolera:

Pregled kontrolera
Pregled kontrolera
Pregled kontrolera
Pregled kontrolera

Shema izgleda prilično jednostavno i jest. Naše kontrolere smo izgradili tako da budu ugrađeni u okvir za slike. Dimenzije kruga na slici su 2,25”x 1,3” x 0,5”. Opcijski tuner izgrađen je na zasebnoj ploči s priključkom za vrpčani kabel. Ove slike prikazuju naš gotov projekt.

Naš regulator želimo uklopiti u okvir za slike pa smo odabrali Arduino pro mini 5v zbog male veličine, cijene i 5v izlaza. Veličina 5V napajanja koje trebate ovisit će o tome koliko LED dioda i njihovoj maksimalnoj svjetlini u vašem projektu. Svi naši projekti radili su s manje od 3 ampera, a neki s manje od 1 ampera. Postoji nekoliko vrsta adresabilnih LED dioda u boji. Počeli smo s WS2812 koji Adafruit prodaje kao jedan od svojih “NeoPixel” proizvoda. To nam je uspjelo i nismo istraživali druge LED diode. Većina naših projekata koristila je 60 LED dioda po metru. Do sada su se naši projekti kretali do 145 LED dioda.

Opcijski tuner:

Izgradili smo mali "tuner" ulaznog kruga kako bismo mogli jednostavno prilagoditi segmente osvjetljenja bez mijenjanja i učitavanja programa za svaku prilagodbu. Ima: izlaznu LED lampicu koja treperi ulazni način rada; gumb koji mijenja način unosa; i gumb koji se može namjestiti. Arduino tada može prenijeti vrijednosti na povezano računalo.

Korak 4: Izgradnja kontrolera:

Građevinski kontrolor
Građevinski kontrolor

Popis materijala ne sadrži žicu, cijevi s hladnjakom i druge potrepštine koje bi vam mogle zatrebati. Za 5V i krug uzemljenja LED dioda predlažem da upotrijebite 26 žicu ili težu žicu. Koristili smo mjerač 26. Također je silikonska izolacija na žici bolja jer se ne topi u blizini mjesta lemljenja i fleksibilnija je. Otkrio sam da je ostavljanje malo više prostora između komponenti znatno olakšalo izradu. Na primjer, kontroler prikazan u koraku #6 razmak između kućišta utičnice (crno) i priključnog bloka (plavo) je oko 1 inč. Naš montažni poklopac sastoji se od dva sloja drvenog furnira.

Slika u ovom koraku prikazuje ožičenje ženskog zaglavlja sa šest kontakata za opcijski tuner. Neiskorišteni kontakt između crvene i zelene žice začepljen je komadom čačkalice kako bi se spriječilo obrnuto spajanje.

5. korak:

Slika
Slika
Slika
Slika
Slika
Slika

Sada, sastavimo ga tako da stane u okvir kutije u sjeni. Okvir je debljine 3/4 "pa imamo ograničenje visine regulatora od 1/2". Montažne ploče izradili smo lijepljenjem dva komada sredstva za učvršćivanje furnira zrna okomito jedan na drugi kako bismo ograničili savijanje. Komponente su raspoređene tako da utičnica za napajanje bude u središtu okvira. Rupa za priključnicu za struju izrezana je zlatarskom pilom i ispunjena kako bi odgovarala. Komponente se zatim spajaju prije montaže. Utičnica je zalijepljena epoksidom. Dvostrani trajni montažni kvadrati od pjene koriste se ispod vijčanog terminala i arduina. Ljepilo za topljenje također se koristi za držanje arduina na mjestu, kao i kondenzatora.

Korak 6: Izgradnja opcijskog tunera:

Izgradnja opcijskog tunera
Izgradnja opcijskog tunera
Izgradnja opcijskog tunera
Izgradnja opcijskog tunera
Izgradnja opcijskog tunera
Izgradnja opcijskog tunera

Izgradili smo mali "tuner" ulaznog kruga kako bismo mogli jednostavno prilagoditi segmente osvjetljenja bez mijenjanja i učitavanja programa za svaku prilagodbu. Ima: izlaznu LED koja treperi ulazni način rada; gumb koji mijenja način unosa; i gumb koji se može namjestiti. Arduino tada može prenijeti vrijednosti na povezano računalo.

Ove slike prikazuju izradu tunera. Leđa sam prekrio trakom "Gorilla". Što drži vrpčani kabel stabilnim i također je učinilo lijepu ručku.

7. korak: Pregled upravljačkog programa za programiranje:

Ovo je doista najteži dio projekta. Nadamo se da ćete moći koristiti neke od naših kodova i metoda za početak rada.

Adafruit i FastLED objavili su dvije velike knjižnice koje Arduinosu omogućuju kontrolu mnogih vrsta adresabilnih LED dioda. Obje ove knjižnice koristimo u različitim projektima. Predlažemo da također pročitate dio materijala iz ovih knjižnica i istražite neke od njihovih primjera programa.

Github spremište naših programa navedeno je u gornjim “Resursima”. Imajte na umu da smo daleko od vještina programiranja Arduina, pa postoji mnogo prostora za poboljšanja. Slobodno ukažite na probleme i pridonesite poboljšanjima.

Korak 8: Primjer mrežnog programiranja kontrolera:

“Ripple” Jeanie Holt bio je naš prvi uspjeh. Ovaj komad je umjetnička riba izrađena od tkanine u okviru kutije u sjeni. Osvjetljenje je stalno nisko plavo odozdo. I odozgo, do tri osovine jačeg bijelog svjetla koje se kreću zdesna nalijevo kao da se lome pomicanjem valovitosti na površini vode. Ovo je prilično jednostavan koncept i program ne koristi ulaze za "tuner". Počinje uključivanjem biblioteke Adafruit i definiranjem izlaznog kontrolnog pina i broja LED dioda. Zatim radimo jednokratno postavljanje serijske komunikacije i LED trake. Zatim definiramo brojne unutarnje varijable, kao što su kašnjenje između osvježavanja, karakteristike svjetlosne osovine (njezina svjetlina tijekom vremena i njezino kretanje), zatim varijable stanja za svaku osovinu svjetlosti.

Funkcija "changeBright ()" će povećati svjetlinu osi svjetlosti tijekom vremena "napada", zadržati je konstantnom tijekom vremena "održavanja", a zatim će nestati tijekom vremena "raspadanja".

Funkcija "ripple ()" poziva se za svaku od tri osovine svjetlosti tijekom svakog vremenskog prirasta. Privremena svjetlina izračunava se na temelju blijeđenja maksimalne svjetline pri stalnom opadanju tijekom vremena. Zatim se za svaku LED diodu lijevo od početnog položaja izračuna svjetlina. Možemo zamisliti valovitost svjetlosti koja se kreće ulijevo. Svaka LED dioda lijevo nalazi se na ranijoj točki u krivulji vremena svjetline valovitosti. Kad ova valovitost ima nultu svjetlinu za sve LED diode, oznaka učinjeno postavljena je na 1. Ako je LED dioda već svjetlija (postavljena jednim od drugih valova), ostavljamo vrijednost nepromijenjenom.

Glavna petlja započinje isključivanjem LED dioda. Zatim za svaku od tri valovitosti poziva funkciju valovitosti i povećava svoj brojač vremena. Ako je zastava gotova postavljena, započinje talasanje. Konačno glavna petlja postavlja blijedo plavo svjetlo preko dna.

Korak 9: Primjer programiranja kontrolera Od zore do sumraka:

Image
Image

Sljedeći projekt, "Dawn to Dusk" Jeanie Holt, još je jedno umjetničko djelo od tkanine, ovog puta stablo s lišćem boje jeseni. Osvjetljenje je simulacija dana s početkom zore koji se s lijeve strane počeo pojačavati, napredujući do svijetle sredine dana, nakon čega slijede crvenkaste boje zalaska sunca i prelaze u noć. Ovdje je izazov pojednostaviti opis promjene boje i svjetline s vremenom na traci od 66 LED dioda. Drugi izazov je glatko mijenjanje svjetla. Zaista smo se borili s zamjetnim pomakom svjetla pri slabom svjetlu. Pokušao sam postići glatkije prijelaze osvjetljenja pomoću biblioteke FastLED, ali nisam uspio. Ovaj opis programa bit će manje detaljan. Opet smo koristili Adafruit -ovu NeoPixel biblioteku.

Otišli smo na konvenciju o pokretanju LED traka u gornjem lijevom kutu. Zbog toga je označavanje LED mjesta pomalo neugodno u ovom djelu. Oko okvira ima 86 LED dioda. Zora svijetli s lijeve strane koja ide od 62 do 85. Zatim gore slijeva prema dolje desno je od 0 do 43.

Ovaj program ne uključuje mogućnost korištenja ulaznog kruga "Tuner".

Ovaj program koristi smanjenje vremena za smanjenje treperenja. Ažuriramo svaku petu LED diodu, zatim prelazimo s jedne na drugu i ažuriramo svaku petu LED i ponavljamo sve dok se ne ažuriraju. Iz tog razloga definiramo duljinu LED niza nešto dulju nego što stvarno jest.

Evo kako smo pojednostavili opis uzorka rasvjete. Identificirali smo 12 referentnih LED položaja oko okvira od donjeg lijevog do donjeg desnog kuta. Zatim smo definirali intenzitet crvene, zelene i plave (RGB) LED za ove referentne LED diode na do 12 točaka prekida tijekom zore do sumraka. Za svaku točku prekida postoje 4 bajta, broj vremena od posljednje točke prekida i vrijednost jednog bajta za svaku od RGB boja. Ovaj niz zauzima 576 bajtova dragocjene memorije.

Sada koristimo linearnu interpolaciju za pronalaženje vrijednosti između točaka prekida i opet linearnu interpolaciju za pronalaženje vrijednosti za LED diode koje se nalaze između referentnih LED dioda. Da bi interpolacija dobro funkcionirala, moramo koristiti neke srednje vrijednosti s pomičnim zarezom. Period zore do sumraka podijeljen je u 120 vremenskih perioda od pola sekunde.

Korak 10: Primjer programiranja kontrolera Prašume:

Sljedeći projekt koji ću opisati je “Rain Forest” Juli-Ann Gasper. Ovo je veće umjetničko djelo od tkanine s puno dubine. Ovdje smo koristili kutiju sjena duboku oko 4,4 inča. Koncept osvjetljenja su razine pozadinskog svjetla koje su pri dnu slabije, a svjetlo s vremena na vrijeme treperi kroz gornje lišće. Ovdje je koncept sličan Rippleu, ali se svjetlosne osovine ne pomiču. I za razliku od valovitosti gdje se svjetlina glatko mijenja, ovdje svjetlina treperenja mora varirati. Napravili smo niz od 40 bajta pod nazivom flicker_b2. Otkrili smo da je vizualni efekt u redu ako smo koristili isti uzorak za sva mjesta treperenja. Utvrdili smo 5 lokacija treperenja. Pregledom vizualnog efekta otkrili smo da je jedan od treperenja trebao biti mnogo širi od ostalih. Koristili smo funkciju fill_gradient_RGB () za rastezanje tog treperenja na 20 -ak LED dioda. Svako treperenje je neovisno i počinje nasumično. Može se postaviti vjerojatnost svakog treperenja.

Boju pozadine potrebno je postaviti i vratiti kada treperenje nije svjetlije od pozadine.

Za ovaj smo dio koristili biblioteku FastLED. U ovom programu #define TUNING koristi se za označavanje je li ploča za ugađanje uključena, mora biti 0 kada ploča za ugađanje nije priključena. Inače je regulator osjetljiv na statički elektricitet i poltergeiste. Prevodilac uključuje samo programske segmente koji koriste "Tuner" kada je ova varijabla 1.

11. korak: Primjer programiranja kontrolera Oluja:

Drugi projekt bio je osvjetljavanje fotografije Mikea Becka pod nazivom "Oluja". Slika je olujni oblak. Koristimo knjižnicu FastLED i ne uključujemo mogućnost ugađanja. Koncept osvjetljenja ovdje je neko pozadinsko svjetlo s bljeskovima munje koji se nasumično pojavljuju u tri točke oko oblaka. Bljesak na svakom mjestu uzrokuju tri LED diode. Razmak između ovih LED dioda različit je za svako mjesto. Svjetlina ove tri LED diode definirana je s tri niza od 30 bajtova. Niz svjetline u tri niza daje varijacije i prividno kretanje kroz tri LED diode. Smjer opaženog kretanja i ukupna svjetlina odabiru se za svako mjesto. Trajanje bljeskalice na svakom mjestu prilagođeno je vremenskim kašnjenjem između ažuriranja vrijednosti svjetline. Između udara groma postoji slučajni vremenski razmak između 0,2 i 10,4 sekunde. Koja je od tri lokacije udara također slučajna sa 19% šanse na vrhu oblaka, 45% šanse na donjem desnom dijelu i 36% šanse uz lijevu stranu.

Korak 12: Primjeri programiranja kontrolera ara i nordijsko drvo:

Dijelovi "Macaw" Dana Newman i "Nordic Tree" Jeanie Holt koriste boju osvjetljenja za promjenu percipirane boje djela. A u slučaju Danainog slikanja velikog ara, raspoloženje ptice mijenja se od radosnog do prijetećeg, ovisno o boji svjetla koja okružuje pticu. Ova dva programa su gotovo identična. Koristimo biblioteku Adafruit NeoPixel i mogućnost postavljanja ploče je u tim programima. Ovi programi prilagođeni su funkcijom theatreChaseRainbow () u Adafruit_NeoPixel/examples/Strandtest.ino (preuzeto 29.7.2015.)

Osvjetljenje se održava na relativno konstantnoj svjetlini, dok se boja svjetlosti mijenja napredujući kroz kotačić boja. Napredak oko kotača u boji nastaje započinjanjem sa 100% crvene i postupnim smanjivanjem crvene dok se povećava zelena. Kad je zelena na 100%, tada se smanjuje dok se plava povećava. I konačno, kako se plava smanjuje, a crvena povećava, dobivate cijeli krug.

To osigurava osvjetljenje pomoću dvije osnovne boje, a jednu izostavlja. Dok prolazimo kroz ovaj kotačić u boji za osvjetljenje u nekom trenutku svaka boja u umjetničkom djelu će nedostajati u isporučenom svjetlu. Rezultirajuća promjena percipirane boje može biti prilično dramatična i postaje dio umjetničkog izraza. Dakle, ako crvena nije prisutna na svjetlu, bilo koja crvena na slici će izgledati tamna. Kad je svjetlo čisto crveno, tada crvena stvarno svijetli, a ostale boje su prigušene.

Korak 13: Primjeri programiranja kontrolera Copperhead:

"Copperhead" Jeanie Holt koristi varijacije osvjetljenja kako bi poboljšala osjećaj vani i varijaciju u uočljivosti zmije. Programiranje postavlja svjetlosne valove iznad pozadinske rasvjete.

Za ovaj program koristili smo biblioteku FastLED zajedno s našim sklopom tunera za razvoj.

Boja pozadine postavljena je na 10 točaka oko okvira, a funkcija fill_gradient () koristi se za glatki prijelaz između boja.

Na početku ciklusa gledanja pozadina je zatamnjena, a boja se mijenja u plavu pomoću kosinusne krivulje tijekom vremena i funkcije setBrightness ().

Nakon odgode, tri svjetlosna vala kreću se od gornjeg desnog do donjeg lijevog. Prvi val je najsvjetliji, a sljedeći valovi postaju sve slabiji. Prvi val se također kreće sporije.

Korak 14: Primjeri programiranja kontrolera Black Doodle:

Image
Image

"Black Doodle" Jeanie Holt istražuje odsjaje crnog vinila.

Ovaj program također koristi biblioteku FastLED i može uzeti ulaz iz kruga za ugađanje.

Osvjetljenje se sastoji od do 5 istovremenih prikaza svjetlosti koja se reproducira sa slučajnih točaka u okviru. Svaki zaslon tijekom vremena napreduje kroz istih 60 vrijednosti svjetline. Svaki zaslon uključuje 7 susjednih LED dioda čija se svjetlina smanjuje prema rubovima. Prije svakog prikaza počinje nasumično kašnjenje. Položaj zaslona je slučajan, ali su mjesta u blizini aktivnog zaslona blokirana.

Pozadina je dugačka boja raširena po okviru. Ova pozadinska duga polako se okreće i nasumično mijenja smjer.

Ovi su opisi pregled i pomoć pri čitanju programa. Nadamo se da će vam neki od ovih svjetlosnih efekata biti dovoljno zanimljivi da ih uključite u jedan od svojih projekata. Veza na github.com na kojoj su programi pohranjeni nalazi se u 2. koraku resursa.

Korak 15: Programiranje funkcija ugađanja:

U programu RainForest možemo uključiti funkciju ugađanja pomoću "#define TUNING 1" i pričvrstiti ulaznu ploču za ugađanje pomoću vrpčnog kabela. Moramo također postaviti parametre za koje će LED utjecati na ugađanje. Na primjer, prilagodimo LED diode na pozicijama 61 do 73. Koristimo #define START_TUNE 61 i #define END_TUNE 73. Ostale segmente niza postavljamo u pozadinske boje u setup () koristeći fill_gradient_RGB () pozive. Ostatak vaše skice ne bi trebao postaviti LED diode u raspon podešavanja ili nećete moći vidjeti svoje prilagodbe. Sada pokrenite skicu i prikažite serijski monitor. Podešavajući dio programa ima 4 stanja [Nijansa, Zasićenost, Vrijednost i Svjetlina}. Nijansa je kotačić u boji s 0 = crveno i 255 pored plave do gotovo crvene boje. Trenutno stanje treba ispisati na serijskom monitoru, a LED indikator na ploči za ugađanje će treptati kako bi označio stanje (jedan treptaj je Hue; dva treptaja su zasićenje i tako dalje). Vrijednost je intenzitet svjetla, dok je svjetlina faktor smanjenja koji se primjenjuje na sve vrijednosti intenziteta LED dioda. Dakle, za punu svjetlinu postavite vrijednost = 255 i svjetlinu = 255. Pritisnite gumb za pomicanje stanja. Kad ste u stanju koje želite prilagoditi, okrenite gumb. Program zanemaruje gumb dok se ne okrene više od INHIBIT_LEVEL. Time se izbjegava mijenjanje vrijednosti u drugim stanjima dok se krećete kroz njih. Na primjer, možete početi s Hueom i dobiti željenu boju, a zatim preći na vrijednost i prilagoditi kako biste pronašli željenu svjetlinu.

Skice Macaw i Nordic_Tree uključuju ugađanje, ali funkcije su malo drugačije. Na ovim skicama postoje samo dva načina. Jedan za svjetlinu i jedan za položaj kotača u boji. Pomoću ovih primjera možete vidjeti kako prilagoditi funkcije ugađanja za rad s gotovo svim parametrima u vašoj kontroli rasvjete.

U spremište je uključena skica 'Tuning' koja preuzima funkcije ugađanja iz RainForesta. Ova skica je samo funkcija ugađanja pa možete istraživati i lakše pratiti kako skica radi. Ovu skicu koristimo za kontrolu okvira probne rasvjete koji možemo brzo postaviti iznad umjetničkog djela i istražiti svjetlosne efekte. Kasnije ćemo koristiti podatke o ugađanju za izradu prilagođenog kontrolera rasvjete.

Nadam se da će vam ovo uputstvo pomoći u uspješnosti vašeg projekta.

Korak 16: Ostatak priče:

Ovo je jedan od dva instruktora na ovom projektu. Ako već niste, provjerite popratni vodič s uputama na:

Preporučeni: