Obsah:

Ovládač dynamického LED osvetlenia pre umenie: 16 krokov (s obrázkami)
Ovládač dynamického LED osvetlenia pre umenie: 16 krokov (s obrázkami)

Video: Ovládač dynamického LED osvetlenia pre umenie: 16 krokov (s obrázkami)

Video: Ovládač dynamického LED osvetlenia pre umenie: 16 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, Júl
Anonim
Image
Image

Úvod:

Osvetlenie je dôležitým aspektom výtvarného umenia. A ak sa osvetlenie môže časom meniť, môže sa stať významným rozmerom umenia. Tento projekt sa začal účasťou na svetelnej šou a zážitkom, ako osvetlenie môže úplne zmeniť farbu objektu. Začali sme to skúmať v umení svetelných tkanín. Doteraz sme vybudovali dynamické osvetlenie pre 8 kusov vrátane obrazu a fotografie. Medzi svetelné efekty patrí: simulácia úsvitu a západu slnka, podvodné svetlo cez vlniacu sa hladinu, blesky v oblakoch a dramatická zmena vnímaných farieb a nálady umeleckého diela. Videá s týmito efektmi sú zahrnuté v nižšie uvedených krokoch programovania.

Tento návod zostavuje ovládač, ktorý v priebehu času nastavuje jas a farbu reťazca individuálne adresovateľných diód LED. Obsahuje tiež voliteľný vstupný obvod na manuálne doladenie (nastavenie jasu a farby) segmentu osvetlenia. Dozviete sa tiež o mnohých problémoch a vylepšeniach, ktoré sme cestou objavili.

Tiež sme napísali súvisiaci návod na stavbu tieňového boxu a rámu. Pozrite sa na to:

Zatiaľ sa zameriame na elektroniku a programovanie.

Krok 1: Materiály:

  • Reťazec LED WS2812
  • Arduino Pro Mini 328 - 5V/16 MHz
  • Rozhranie USB FTDI Friend
  • Kábel USB A na MiniB pre FTDI
  • Kondenzátor 4700 μf
  • Napájanie 5v s konektorom 5,5 x 2,1
  • Zásuvka 5,5 x 2,1
  • Svorkovnica
  • Prototypová doska plošných spojov
  • Tlačidlo
  • Potenciometer
  • Indikátor LED
  • Rezistory
  • Plochý kábel
  • Hlavička - muž
  • Hlavička žena

Krok 2: Zdroje:

  • Arduino; Interaktívne vývojové prostredie (IDE)
  • Knižnica Adafruit NeoPixel
  • Výukový program NeoPixel
  • Program ukážky Strandtest
  • Knižnica FastLED
  • Odkazy a dokumentácia FastLED https://fastled.io/docs
  • Fórum FastLED
  • Naše náčrty osvetlenia

Krok 3: Prehľad ovládača:

Prehľad ovládača
Prehľad ovládača
Prehľad ovládača
Prehľad ovládača

Schéma vyzerá celkom jednoducho a je to tak. Postavili sme naše ovládače tak, aby boli vstavané do rámca obrazu. Rozmery zobrazeného obvodu sú 2,25 palca x 1,3 palca x 0,5 palca. Voliteľný tuner bol postavený na samostatnej doske plošných spojov s konektorom plochého kábla. Tieto obrázky ukazujú náš dokončený projekt.

Chceme vložiť náš ovládač do rámika obrazu, preto sme vybrali Arduino pro mini 5v pre jeho malé rozmery, náklady a výstup 5v. Veľkosť napájacieho zdroja 5 V, ktorý potrebujete, bude závisieť od počtu LED diód a ich maximálneho jasu vo vašom projekte. Všetky naše projekty bežali menej ako 3 ampéry a niektoré mali menej ako 1 ampér. Existuje niekoľko typov adresovateľných farebných LED diód. Začali sme s WS2812 predávaným spoločnosťou Adafruit ako jedným z ich produktov „NeoPixel“. Toto sa nám osvedčilo a ďalšie diódy LED sme neskúmali. Väčšina našich projektov používala pás 60 LED na meter. Naše projekty doteraz dosahovali až 145 LED diód.

Voliteľný tuner:

Postavili sme malý „tuner“vstupného obvodu, aby sme mohli ľahko nastaviť segmenty osvetlenia bez toho, aby sme museli upravovať a nahrávať program pre každú úpravu. Má: výstupnú LED diódu, ktorá bliká vo vstupnom režime; tlačidlo, ktoré posúva režim vstupu; a gombík, ktorý je možné nastaviť. Arduino potom môže odoslať hodnoty do pripojeného počítača.

Krok 4: Ovládač budovy:

Ovládač budovy
Ovládač budovy

Zoznam materiálov neobsahuje drôty, zmršťovacie trubice a ďalšie spotrebný materiál, ktorý by ste mohli potrebovať. Pre 5V a uzemňovací obvod k diódam LED navrhujem použiť lanko s priemerom 26 alebo ťažším lankom. Použili sme meradlo 26. Silikónová izolácia na drôte je tiež lepšia, pretože sa neroztaví v blízkosti miesta, kde spájkujete, a je pružnejšia. Zistil som, že ponechanie trochu väčšieho priestoru medzi komponentmi značne uľahčilo výrobu. Napríklad ovládač zobrazený v kroku č. 6, priestor medzi krytom elektrickej zásuvky (čierny) a svorkovnicou (modrý) je asi 1 palec. Náš montážny kryt je z dvoch vrstiev drevenej dyhy.

Obrázok v tomto kroku ukazuje zapojenie šesťkontaktnej zásuvky s maticou pre voliteľný tuner. Nepoužitý kontakt medzi červeným a zeleným vodičom je zasunutý kusom špáradla, aby sa zabránilo spätnému spojeniu.

Krok 5:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Teraz to dáme dohromady, aby to pasovalo do rámca tieňového poľa. Rám je 3/4 "hrubý, takže máme obmedzenie výšky ovládača 1/2". Montážne dosky sme vyrobili tak, že dva kusy dyhového tužidla prilepíme zrnom kolmo na seba, aby sme obmedzili deformáciu. Komponenty usporiadané tak, aby bol napájací konektor v strede rámu. Otvor pre zdvihák bol vyrezaný klenotníckou pílou a vyložený tak, aby sa zmestil. Komponenty sa potom pred montážou spoja dohromady. Zásuvka je na mieste prilepená epoxidom. Pod skrutkový terminál a arduino sa používajú obojstranné montážne štvorce z penovej hmoty. Tavné lepidlo sa používa aj na držanie arduina na mieste, ako aj kondenzátora.

Krok 6: Zostavenie voliteľného tunera:

Budovanie voliteľného tunera
Budovanie voliteľného tunera
Budovanie voliteľného tunera
Budovanie voliteľného tunera
Budovanie voliteľného tunera
Budovanie voliteľného tunera

Postavili sme malý „tuner“vstupného obvodu, aby sme mohli ľahko nastaviť segmenty osvetlenia bez toho, aby sme museli upravovať a nahrávať program pre každú úpravu. Má: výstupnú LED diódu, ktorá bliká vo vstupnom režime; tlačidlo, ktoré posúva režim vstupu; a gombík, ktorý je možné nastaviť. Arduino potom môže odoslať hodnoty do pripojeného počítača.

Tieto obrázky zobrazujú výrobu tunera. Chrbát som zakryl páskou „Gorila“. Ktorý drží plochý kábel stabilný a tiež robí peknú rukoväť.

Krok 7: Prehľad programovania ovládača:

Toto je skutočne ťažká časť projektu. Našťastie budete môcť použiť nejaký z našich kódov a metód na náskok.

Adafruit a FastLED vydali dve skvelé knižnice, ktoré umožňujú Arduinos ovládať mnoho druhov adresovateľných LED diód. Obe tieto knižnice používame v rôznych projektoch. Odporúčame vám tiež prečítať si nejaký zdrojový materiál o týchto knižniciach a preskúmať niektoré z ich ukážkových programov.

Úložisko Github našich programov je uvedené v časti „Zdroje“vyššie. Všimnite si, že zďaleka nie sme zdatní v programovaní Arduino, takže je tu veľa priestoru na zlepšenie. Nebojte sa poukázať na problémy a prispieť k zlepšeniu.

Krok 8: Príklad zvlnenia programovania ovládača:

„Ripple“od Jeanie Holt bol náš prvý úspech. Tento kúsok je látková umelecká ryba v ráme tieňového boxu. Osvetlenie je zospodu stabilne nízko modré. A zhora sa až tri lúče jasnejšieho bieleho svetla pohybujú sprava doľava, ako keby sa lámali pohyblivými vlnkami na vodnej hladine. Toto je pomerne jednoduchý koncept a program nepoužíva vstupy „tunera“. Začína sa to vrátane knižnice Adafruit a definovania výstupného ovládacieho kolíka a počtu diód LED. Ďalej urobíme jednorazové nastavenie sériovej komunikácie a LED pásika. Potom definujeme niekoľko vnútorných premenných, ako napríklad oneskorenie medzi obnovami, charakteristiky svetelného lúča (jeho jas v čase a jeho pohyb), potom uvedieme premenné pre každý svetelný lúč.

Funkcia „changeBright ()“zvýši jas svetelného lúča počas doby „útoku“, bude ho udržiavať konštantný po dobu „udržania“a potom zhasne počas času „rozpadu“.

Funkcia „zvlnenie ()“sa volá pre každý z troch svetelných lúčov počas každého časového prírastku. Dočasný jas sa vypočíta na základe vyblednutia z maximálneho jasu pri konštantnom poklese v priebehu času. Potom sa pre každú LED vľavo od počiatočnej polohy vypočíta jas. Vieme si predstaviť vlnenie svetla, ktoré sa pohybuje vľavo. Každá dióda LED vľavo je v predchádzajúcom bode časovej krivky jasu zvlnenia. Keď má toto zvlnenie nulový jas pre všetky LED diódy, indikátor Hotovo je nastavený na 1. Ak je dióda LED už jasnejšia (nastavená jedným z ďalších zvlnení), ponecháme hodnotu nezmenenú.

Hlavná slučka sa spustí vypnutím LED diód. Potom pre každé z troch zvlnení vyvolá funkciu zvlnenia a zvýši jeho počítadlo času. Ak je nastavený príznak Hotovo, spustí sa zvlnenie. Nakoniec hlavná slučka zospodu nastaví svetlo modré svetlo.

Krok 9: Príklad programovania ovládača Dawn to Dusk:

Image
Image

Ďalší projekt „Dawn to Dusk“od Jeanie Holtovej je ďalším umeleckým dielom z látky, tentoraz stromom s jesennými farebnými listami. Osvetlenie je simuláciou dňa, keď sa svitanie začína rozjasňovať vľavo, pokračuje do jasného stredného dňa, nasledujú červenkasté farby západu slnka a postup do noci. Úlohou je zjednodušiť popis zmeny farby a jasu v priebehu času na páse 66 diód LED. Ďalšou výzvou je zaistiť hladkú zmenu svetla. Naozaj sme bojovali s citeľným posunom svetla pri slabom osvetlení. Pokúsil som sa dosiahnuť plynulejšie prechody osvetlenia pomocou knižnice FastLED, ale neúspešne. Tento popis programu bude menej podrobný. Opäť sme použili knižnicu Adafruit NeoPixel.

Išli sme na konvenciu spustenia našich LED pásikov v ľavom hornom rohu. Vďaka tomu je číslovanie polohy LED v tomto kuse trochu nepríjemné. Okolo rámu je 86 LED diód. Dawn rozsvieti ľavú stranu, ktorá siaha od 62 do 85. Potom je zľava hore vpravo dole 0 až 43.

Tento program nezahŕňa schopnosť používať vstupný obvod „Tuner“.

Tento program používa na zníženie blikania časovú stratu času. Aktualizujeme každú piatu LED, potom prejdeme na jednu a aktualizujeme každú piatu LED a opakujeme, kým nie sú všetky aktualizované. Z tohto dôvodu definujeme dĺžku reťazca LED o niečo väčšiu, ako v skutočnosti je.

Teraz uvádzame, ako sme zjednodušili popis vzoru osvetlenia. Identifikovali sme 12 referenčných polôh LED okolo rámu od ľavého dolného rohu do pravého dolného rohu. Potom sme pre tieto referenčné LED definovali intenzitu červenej, zelenej a modrej (RGB) LED v až 12 bodoch prerušenia v období od úsvitu do súmraku. Pre každý bod prerušenia sú 4 bajty, počet časov od posledného bodu prerušenia a hodnota jedného bajtu pre každú z farieb RGB. Toto pole zaberá 576 bajtov vzácnej pamäte.

Teraz používame lineárnu interpoláciu na nájdenie hodnôt medzi bodmi prerušenia a opäť lineárnu interpoláciu na nájdenie hodnôt pre diódy LED umiestnené medzi referenčnými diódami LED. Aby interpolácia fungovala dobre, musíme použiť niektoré medzihodnoty s pohyblivou rádovou čiarkou. Obdobie úsvitu až súmraku je rozdelené na 120 polsekundových časových období.

Krok 10: Príklad programovania ovládača Rain Forest:

Ďalší projekt, ktorý popíšem, je „Rain Forest“od Juli-Ann Gasper. Jedná sa o väčšie textilné umelecké dielo s veľkou hĺbkou. Tu sme použili tieňový box hlboký asi 4,4”. Koncepciou osvetlenia sú úrovne osvetlenia pozadia, ktoré sú v spodnej časti slabšie a svetlo z času na čas bliká cez listy vyššie. Tento koncept je tu podobný Ripple, ale svetelné lúče sa nepohybujú. A na rozdiel od zvlnenia, kde sa jas plynule mení, tu musí jas blikania kolísať. Vytvorili sme 40 bajtové pole s názvom flicker_b2. Zistili sme, že vizuálny efekt je v poriadku, ak sme pre všetky miesta blikania použili rovnaký vzor. Vytvorili sme 5 miest blikania. Pri skúmaní vizuálneho efektu sme zistili, že jedno z mihotaní musí byť oveľa širšie ako ostatné. Použili sme funkciu fill_gradient_RGB () na roztiahnutie tohto blikania na približne 20 diód LED. Každé blikanie je nezávislé a začína náhodne. Je možné nastaviť pravdepodobnosť každého blikania.

Ak blikanie nie je jasnejšie ako pozadie, je potrebné nastaviť a obnoviť farbu pozadia.

Na tento kus sme použili knižnicu FastLED. V tomto programe sa #define TUNING používa na indikáciu, či je ladiaca doska zapojená, keď nie je zapojená, musí byť 0. V opačnom prípade je ovládač citlivý na statickú elektrinu a poltergeisty. Kompilátor obsahuje iba segmenty programu, ktoré používajú „Tuner“, ak je táto premenná 1.

Krok 11: Príklad programovania ovládača Storm:

Ďalším projektom bolo nasvietenie fotografie s názvom „Búrka“od Mike Becka. Na obrázku je búrkový mrak. Používame knižnicu FastLED a nezahŕňame možnosti ladenia. Koncepciou osvetlenia je tu určité pozadie s bleskami, ktoré sa náhodne objavujú v troch bodoch okolo oblaku. Blesk na každom mieste je spôsobený tromi LED diódami. Priestor medzi týmito diódami LED je pre každé miesto iný. Jas týchto troch diód LED je definovaný tromi 30 bajtovými poľami. Sekvencia jasu v troch poliach poskytuje variácie a zdanlivý pohyb cez tri diódy LED. Pre každé miesto je zvolený smer vnímaného pohybu a celkový jas. Trvanie blesku na každom mieste je upravené časovým oneskorením medzi aktualizáciou hodnôt jasu. Medzi údermi blesku dôjde k náhodnému časovému oneskoreniu medzi 0,2 a 10,4 sekundy. Ktoré z týchto troch miest je tiež náhodné s 19% pravdepodobnosťou v hornej časti oblaku, 45% šancou v pravom dolnom rohu a 36% šancou na ľavej strane.

Krok 12: Príklady programovania ovládača Macaw a Severský strom:

Kusy „Macaw“od Dana Newmana a „Nordic Tree“od Jeanie Holt používajú farbu svetla na zmenu vnímanej farby diela. A v prípade Danainho obrazu veľkého ara sa nálada vtáka mení z radostného na hrozivý v závislosti od farby svetla obklopujúceho vtáka. Tieto dva programy sú takmer totožné. Používame knižnicu Adafruit NeoPixel a schopnosť ladiacej dosky je v týchto programoch. Tieto programy sú adaptované z funkcie TheaterChaseRainbow () v Adafruit_NeoPixel/examples/Strandtest.ino (stiahnuté 29. 7. 2015)

Osvetlenie sa udržiava na relatívne konštantnom jase, zatiaľ čo sa farba svetla posúva vpred pomocou farebného kolieska farieb. Progresia okolo farebného kolieska je vytvorená tak, že začínate so 100% červenou a postupne znižujete červenú, pričom zvyšujete zelenú. Akonáhle je zelená na 100%, potom sa znižuje a zvyšuje sa modrá. A nakoniec, keď sa modrá zmenšuje a červená zvyšuje, dochádza k úplnému kruhu.

To poskytuje osvetlenie pomocou dvoch základných farieb a jednu vynecháva. Keď prechádzame týmto svetelným farebným kolieskom v určitom bode, v dodanom svetle bude chýbať akákoľvek farba v umeleckom diele. Výsledná zmena vnímanej farby môže byť dosť dramatická a stáva sa súčasťou výtvarného prejavu. Ak teda červená nie je prítomná na svetle, červená farba na obrázku bude vyzerať tmavo. Keď je svetlo čisto červené, červená skutočne svieti a ostatné farby sú stlmené.

Krok 13: Príklady programovania ovládača Copperhead:

„Copperhead“od Jeanie Holt používa variácie osvetlenia na zvýšenie pocitu vonku a variácií v nápadnosti hada. Programovanie vrství vlny svetla na osvetlenie pozadia.

Na tento program sme na vývoj použili knižnicu FastLED spolu s našim obvodom Tuner.

Farba pozadia je nastavená na 10 bodov okolo rámca a funkcia fill_gradient () slúži na plynulý prechod medzi farbami.

Na začiatku cyklu sledovania sa pozadie stlmí a farba sa zmení na modrú pomocou kosínusovej krivky v priebehu času a funkcie setBrightness ().

Po oneskorení sa tri vlny svetla pohybujú z pravého horného rohu do dolného ľavého. Prvá vlna je najjasnejšia a nasledujúce vlny sú slabšie. Prvá vlna sa tiež pohybuje pomalšie.

Krok 14: Príklady programovania ovládača Black Doodle:

Image
Image

„Black Doodle“od Jeanie Holt skúma odrazy čierneho vinylu.

Tento program tiež používa knižnicu FastLED a môže prijímať vstupy z ladiaceho obvodu.

Osvetlenie pozostáva až z 5 súčasných zobrazení svetla hrajúceho z náhodných bodov okolo rámu. Každý displej v priebehu času prechádza rovnakými 60 hodnotami jasu. Každý displej obsahuje 7 susedných LED diód, ktorých jas sa smerom k okrajom znižuje. Pred každým spustením displeja dôjde k náhodnému oneskoreniu. Umiestnenie displeja je náhodné, ale umiestnenia v blízkosti aktívneho displeja sú zakázané.

Pozadie je dúha farieb rozložená okolo rámu. Táto dúha na pozadí sa pomaly otáča a náhodne mení smer.

Tieto popisy sú prehľadom a pomôckou pri čítaní programov. Dúfame, že nájdete niektoré z týchto svetelných efektov dostatočne zaujímavé na začlenenie do jedného z vašich projektov. Odkaz na github.com, kde sú uložené programy, je v kroku 2 Zdroje.

Krok 15: Programovanie funkcií ladenia:

V programe RainForest môžeme zapnúť funkciu ladenia „#define TUNING 1“a pomocou plochého kábla pripevniť vstupnú dosku ladenia. Musíme tiež nastaviť parametre, pre ktoré bude LED ovplyvnená ladením. Upravme napríklad diódy LED v polohách 61 až 73. Používame #define START_TUNE 61 a #define END_TUNE 73. Ostatné segmenty reťazca sme nastavili na farby pozadia v setup () pomocou fill_gradient_RGB () hovorov. Zvyšok náčrtu by nemal nastavovať diódy LED v rozsahu ladenia alebo by ste neuvideli svoje úpravy. Teraz spustite náčrt a zobrazte sériový monitor. Ladiaca časť programu má 4 stavy [odtieň, sýtosť, hodnota a jas}. Odtieň je farebné koliesko s 0 = červená a 255 od modrej po takmer červenú. Aktuálny stav by mal byť vytlačený na sériovom monitore a indikačná dióda LED na ladiacej doske bude blikať, aby indikovala stav (jedno bliknutie je odtieň, dve bliknutia sú sýtosť a tak ďalej). Hodnota je intenzita svetla, zatiaľ čo jas je redukčný faktor, ktorý sa aplikuje na všetky hodnoty intenzity LED. Takže pre plný jas nastavte Hodnota = 255 a Jas = 255. Stlačením tlačidla zmeníte stav. Keď ste v stave, ktorý chcete nastaviť, otočte gombíkom. Program ignoruje gombík, kým nie je otočený viac ako o INHIBIT_LEVEL. Tým sa zabráni zmene hodnôt v ostatných stavoch, keď nimi prechádzate. Môžete napríklad začať s odtieňom a získať požadovanú farbu, potom prejsť na hodnotu a upraviť, aby ste našli požadovaný jas.

Skici Macaw a Nordic_Tree obsahujú tuning, ale funkcie sú trochu odlišné. V týchto náčrtoch sú iba dva režimy. Jeden pre jas a jeden pre polohu farebného kolieska. Na týchto príkladoch môžete vidieť, ako prispôsobiť funkcie ladenia tak, aby pracovali s väčšinou parametrov vo vašom ovládaní osvetlenia.

Úložisko obsahuje náčrt „Tuning“, ktorý preberá funkcie ladenia z programu RainForest. Táto skica je iba funkciami ladenia, takže môžete skúmať a jednoduchšie sledovať, ako skica funguje. Túto skicu používame na ovládanie testovacieho svetelného rámu, ktorý môžeme rýchlo umiestniť na umelecké dielo a skúmať svetelné efekty. Neskôr použijeme informácie o ladení na zostavenie vlastného ovládača osvetlenia.

Dúfam, že vám tento návod pomôže pri fungovaní projektu.

Krok 16: Zvyšok príbehu:

Toto je jeden z dvoch pokynov pre tento projekt. Ak ste to ešte neurobili, pozrite sa na sprievodcu s pokynmi na:

Odporúča: