Obsah:

Dynamický ovladač LED osvětlení pro umění: 16 kroků (s obrázky)
Dynamický ovladač LED osvětlení pro umění: 16 kroků (s obrázky)

Video: Dynamický ovladač LED osvětlení pro umění: 16 kroků (s obrázky)

Video: Dynamický ovladač LED osvětlení pro umění: 16 kroků (s obrázky)
Video: Expedition Everest Building a Thrill Ride Disney's Animal Kingdom 2024, Červenec
Anonim
Image
Image

Úvod:

Osvětlení je důležitým aspektem výtvarného umění. A pokud se osvětlení může časem měnit, může se stát významnou dimenzí umění. Tento projekt začal návštěvou světelné show a zkušeností, jak osvětlení může zcela změnit barvu předmětu. Začali jsme to zkoumat v umění světelných tkanin. Dosud jsme vybudovali dynamické osvětlení pro 8 kusů včetně malby a fotografie. Světelné efekty zahrnovaly: simulace úsvitu a západu slunce, podvodní světlo vlnící se hladinou, blesky v oblacích a dramatická změna vnímaných barev a nálad uměleckého díla. Videa s těmito efekty jsou zahrnuta v níže uvedených programovacích krocích.

Tento instructable staví řadič, který v průběhu času nastavuje jas a barvu řetězce individuálně adresovatelných LED. Obsahuje také volitelný vstupní obvod pro ruční ladění (nastavení jasu a barvy) segmentu osvětlení. Dozvíte se také o mnoha problémech a vylepšeních, která jsme cestou objevili.

Rovněž jsme napsali související instrukce pro stavbu stínového pole a rámečku. Podívejte se na:

Prozatím se zaměříme na elektroniku a programování.

Krok 1: Materiály:

  • Řetězec LED WS2812
  • Arduino Pro Mini 328 - 5V/16 MHz
  • Rozhraní USB FTDI Friend
  • Kabel USB A na MiniB pro FTDI
  • Kondenzátor 4700 μf
  • Napájení 5v s konektorem 5,5 x 2,1
  • Napájecí zásuvka 5,5 x 2,1
  • Svorkovnice
  • Prototyp desky plošných spojů
  • Tlačítko
  • Potenciometr
  • Indikátor LED
  • Rezistory
  • Plochý kabel
  • Záhlaví muž
  • Žena záhlaví

Krok 2: Zdroje:

  • Arduino; Interaktivní vývojové prostředí (IDE)
  • Knihovna Adafruit NeoPixel
  • Výukový program NeoPixel
  • Strandtest Příklad programu
  • FastLED knihovna
  • Odkazy a dokumentace FastLED
  • Fórum FastLED
  • Naše světelné skici

Krok 3: Přehled ovladače:

Přehled ovladače
Přehled ovladače
Přehled ovladače
Přehled ovladače

Schéma vypadá docela jednoduše a je. Postavili jsme naše ovladače, aby byly vloženy do rámečku obrázku. Rozměry zobrazeného obvodu jsou 2,25”x 1,3” x 0,5”. Volitelný tuner byl postaven na samostatné desce s obvody s konektorem plochého kabelu. Tyto obrázky ukazují náš hotový projekt.

Chceme vměstnat náš ovladač do rámečku obrazu, proto jsme vybrali Arduino pro mini 5v pro jeho malou velikost, cenu a výstup 5v. Velikost napájecího zdroje 5 V, který potřebujete, bude záviset na tom, kolik LED diod a jejich maximální jas ve vašem projektu. Všechny naše projekty běžely méně než 3 ampéry a některé měly méně než 1 ampér. Existuje několik typů adresovatelných barevných LED diod. Začali jsme s WS2812 prodávaným společností Adafruit jako jedním z jejich produktů „NeoPixel“. To se nám osvědčilo a další LED jsme nezkoumali. Většina našich projektů používala pás 60 LED na metr. Naše projekty dosud dosahovaly až 145 LED diod.

Volitelný tuner:

Postavili jsme malý „tuner“vstupního obvodu, abychom mohli snadno upravit segmenty osvětlení bez úpravy a nahrávání programu pro každé nastavení. Má: výstupní LED, která bliká ve vstupním režimu; tlačítko, které posouvá režim zadávání; a knoflík, který lze nastavit. Arduino pak může odeslat hodnoty do připojeného počítače.

Krok 4: Budování ovladače:

Správce budovy
Správce budovy

Seznam materiálů neobsahuje dráty, smršťovací bužírky a další potřeby, které byste mohli potřebovat. Pro 5V a uzemňovací obvod k LED doporučuji použít lanko o průměru 26 nebo těžším. Použili jsme měřidlo 26. Také silikonová izolace na drátu je lepší, protože se netaví v blízkosti místa, kde pájíte, a je pružnější. Zjistil jsem, že ponechání trochu většího prostoru mezi součástmi značně usnadnilo výrobu. Například ovladač zobrazený v kroku č. 6, prostor mezi pouzdrem zásuvky (černý) a svorkovnicí (modrý) je asi 1 palec. Náš montážní kryt tvoří dvě vrstvy dřevěné dýhy.

Obrázek v tomto kroku ukazuje zapojení šestidotykové zásuvkové zásuvky pro volitelný tuner. Nevyužitý kontakt mezi červeným a zeleným vodičem je ucpán kouskem párátka, aby se zabránilo zpětnému připojení.

Krok 5:

obraz
obraz
obraz
obraz
obraz
obraz

Pojďme to dát dohromady, aby se to vešlo do rámečku stínového pole. Rám je 3/4 "tlustý, takže máme limit výšky ovladače 1/2". Montážní desky jsme vyrobili přilepením dvou kusů dýhovacího tužidla zrnem kolmo k sobě, abychom omezili deformaci. Komponenty uspořádané tak, aby napájecí konektor byl ve středu rámu. Otvor pro zvedák byl vyřezán klenotnickou pilou a vytažen, aby se vešel. Před montáží se pak součásti spojí dohromady. Zásuvka je na místě přilepena epoxidem. Pod šroubový terminál a arduino se používají oboustranné montážní čtverce z trvalé pěny. Tavné lepidlo se také používá k držení arduina na místě, stejně jako kondenzátoru.

Krok 6: Sestavení volitelného tuneru:

Budování volitelného tuneru
Budování volitelného tuneru
Budování volitelného tuneru
Budování volitelného tuneru
Budování volitelného tuneru
Budování volitelného tuneru

Postavili jsme malý „tuner“vstupního obvodu, abychom mohli snadno upravit segmenty osvětlení bez úpravy a nahrávání programu pro každé nastavení. Má: výstupní LED, která bliká ve vstupním režimu; tlačítko, které posouvá režim zadávání; a knoflík, který lze nastavit. Arduino pak může odeslat hodnoty do připojeného počítače.

Tyto obrázky ukazují výrobu tuneru. Záda jsem zakryl páskou „Gorila“. Který drží páskový kabel stabilní a také vytvořil pěknou rukojeť.

Krok 7: Přehled programování ovladače:

To je opravdu těžká část projektu. Doufejme, že budete moci použít některý z našich kódů a metod, abyste získali náskok.

Adafruit a FastLED vydaly dvě skvělé knihovny, které umožňují Arduinos ovládat mnoho druhů adresovatelných LED. Obě tyto knihovny používáme v různých projektech. Doporučujeme vám také přečíst si některý ze zdrojů těchto knihoven a prozkoumat některé jejich ukázkové programy.

Úložiště Github našich programů je uvedeno výše v části „Zdroje“. Všimněte si, že zdaleka nejsme zdatní v programování Arduina, takže je zde spousta prostoru pro zlepšení. Nebojte se upozornit na problémy a přispět vylepšeními.

Krok 8: Programování řadiče Příklad zvlnění:

„Ripple“od Jeanie Holt byl náš první úspěch. Tento kousek je látková umělecká ryba v rámečku stínového boxu. Osvětlení je zespodu trvale nízké úrovně modré. A shora až tři paprsky jasnějšího bílého světla pohybující se zprava doleva, jako by se lámaly pohybujícími se vlnkami na vodní hladině. Toto je poměrně jednoduchý koncept a program nepoužívá vstupy „tuneru“. Začíná to včetně knihovny Adafruit a definováním výstupního ovládacího pinu a počtu LED diod. Dále provedeme jednorázové nastavení sériové komunikace a LED pásky. Poté definujeme řadu vnitřních proměnných, jako například zpoždění mezi obnovami, charakteristiky světelného paprsku (jeho jas v čase a jeho pohyb), poté uvedeme proměnné pro každý světelný paprsek.

Funkce „changeBright ()“zvýší jas světelného paprsku během doby „útoku“, ponechá jej konstantní po dobu „udržení“a poté zmizí po dobu „rozpadu“.

Funkce „zvlnění ()“je volána pro každý ze tří světelných paprsků během každého časového přírůstku. Dočasný jas se vypočítá na základě vyblednutí z maximálního jasu při konstantním poklesu v průběhu času. Poté se pro každou LED nalevo od výchozí polohy vypočítá jas. Dokážeme si představit vlnění světla pohybujícího se doleva. Každá LED dioda vlevo je v dřívějším bodě časové křivky zvlnění. Když má toto zvlnění nulový jas pro všechny LED diody, je hotový příznak nastaven na 1. Pokud je LED již jasnější (nastaveno jedním z dalších zvlnění), ponecháme hodnotu beze změny.

Hlavní smyčka začíná vypnutím LED diod. Potom pro každé ze tří zvlnění vyvolá funkci zvlnění a zvýší jeho časový čítač. Pokud je nastaven příznak Hotovo, spustí se zvlnění. Nakonec hlavní smyčka nastaví bledě modré světlo přes dno.

Krok 9: Příklad programování ovladače Dawn to Dusk:

Image
Image

Dalším projektem „Dawn to Dusk“od Jeanie Holt je další látkové dílo, tentokrát strom s podzimními barevnými listy. Osvětlení je simulací dne, kdy se svítání začíná rozjasňovat vlevo, postupuje do jasného středního dne, následují načervenalé barvy západu slunce a postupují do noci. Úkolem zde je zjednodušit popis posunu barev a jasu s časem na pásu 66 LED diod. Další výzvou je zajistit hladkou změnu světla. Opravdu jsme bojovali se znatelným posunem světla při nízké hladině osvětlení. Pokusil jsem se dosáhnout plynulejší přechody osvětlení pomocí knihovny FastLED, ale nebyl jsem úspěšný. Tento popis programu bude méně podrobný. Opět jsme použili knihovnu Adafruit NeoPixel.

Šli jsme na konvenci spouštění našich LED pásů v levém horním rohu. Díky tomu je číslování umístění LED v tomto kousku trochu nepříjemné. Kolem rámu je 86 LED diod. Dawn rozsvítí levou stranu, která se pohybuje od 62 do 85. Pak je zleva doprava nahoru dole 0 až 43.

Tento program neobsahuje schopnost používat vstupní obvod „Tuner“.

Tento program využívá redukci času ke snížení blikání. Aktualizujeme každou pátou LED, poté přejdeme přes jednu a aktualizujeme každou pátou LED a opakujeme, dokud nejsou všechny aktualizovány. Z tohoto důvodu definujeme délku řetězce LED o něco delší, než ve skutečnosti je.

Zde je návod, jak jsme zjednodušili popis vzoru osvětlení. Identifikovali jsme 12 referenčních pozic LED kolem rámečku od levého dolního do pravého dolního rohu. Poté jsme pro tyto referenční LED definovali intenzitu červené, zelené a modré (RGB) LED až v 12 bodech přerušení v období od úsvitu do soumraku. Pro každý bod přerušení jsou 4 bajty, počet časů od posledního bodu přerušení a hodnota jednoho bajtu pro každou z barev RGB. Toto pole zabírá 576 bajtů cenné paměti.

Nyní používáme lineární interpolaci k nalezení hodnot mezi zarážkami a opět lineární interpolaci k nalezení hodnot pro LED umístěné mezi referenčními LED. Aby interpolace fungovala dobře, musíme použít nějaké přechodné hodnoty s plovoucí desetinnou čárkou. Období úsvitu až soumraku je rozděleno do 120 časových období půl sekundy.

Krok 10: Příklad programování ovladače Rain Forest:

Další projekt, který popíši, je „Rain Forest“od Juli-Ann Gasper. Jedná se o větší umělecké dílo z látky se spoustou hloubky. Zde jsme použili stínový box o hloubce 4,4”. Koncept osvětlení je úroveň osvětlení pozadí, která je ve spodní části stmívána a čas od času problikává světlem listy výše. Zde je koncept podobný Ripple, ale paprsky světla se nepohybují. A na rozdíl od zvlnění, kde se jas mění plynule, zde musí jas blikání kolísat. Vytvořili jsme 40bajtové pole s názvem flicker_b2. Zjistili jsme, že vizuální efekt byl v pořádku, pokud jsme použili stejný vzor pro všechna místa blikání. Vytvořili jsme 5 míst pro blikání. Při kontrole vizuálního efektu jsme zjistili, že jedno z blikání musí být mnohem širší než ostatní. Použili jsme funkci fill_gradient_RGB () k roztáhnutí toho blikání přes asi 20 LED diod. Každé blikání je nezávislé a začíná náhodně. Lze nastavit pravděpodobnost každého blikání.

Pokud blikání není jasnější než pozadí, je třeba nastavit a obnovit barvu pozadí.

Pro tento kus jsme použili knihovnu FastLED. V tomto programu se #define TUNING používá k indikaci, zda je ladicí deska zapojena, když není připojena tunerová deska, musí být 0. Jinak je ovladač citlivý na statickou elektřinu a poltergeisty. Kompilátor zahrnuje pouze programové segmenty, které používají „Tuner“, pokud je tato proměnná 1.

Krok 11: Příklad programování ovladače Storm:

Dalším projektem bylo nasvícení fotografie s názvem „Storm“od Mike Becka. Na obrázku je bouřkový mrak. Používáme knihovnu FastLED a nezahrnujeme možnosti ladění. Koncept osvětlení zde představuje určité pozadí s blesky, které se objevují náhodně ve třech bodech kolem mraku. Blesk v každém místě je způsoben třemi LED diodami. Prostor mezi těmito LED je pro každé místo jiný. Jas těchto tří LED diod je definován třemi 30 bajtovými poli. Sekvence jasu ve třech polích poskytuje variace a zjevný pohyb přes tři LED diody. Pro každé místo je vybrán směr vnímaného pohybu a celkový jas. Trvání záblesku v každém místě je upraveno časovým zpožděním mezi aktualizací hodnot jasu. Mezi údery blesku je náhodné časové zpoždění mezi 0,2 a 10,4 sekundy. Které ze tří míst úderu je také náhodné s 19% šancí v horní části cloudu, 45% šancí vpravo dole a 36% šancí podél levé strany.

Krok 12: Příklady programování ovladače Macaw a Nordic Tree:

Díly „Macaw“od Dana Newmana a „Nordic Tree“od Jeanie Holt používají barvu světla ke změně vnímané barvy díla. A v případě Danainho obrazu velkého papouška se nálada ptáka mění z radostného na hrozivý v závislosti na barvě světla obklopujícího ptáka. Tyto dva programy jsou téměř totožné. Používáme knihovnu Adafruit NeoPixel a schopnost ladicího panelu je v těchto programech. Tyto programy jsou převzaty z funkce TheaterChaseRainbow () v Adafruit_NeoPixel/examples/Strandtest.ino (staženo 29. 7. 2015)

Osvětlení je udržováno na relativně konstantním jasu, zatímco barva světla se posouvá a postupuje barevným kolečkem barev. Průběh kolem barevného kolečka je vytvořen tak, že začíná 100% červenou a postupně se snižuje červená a zvyšuje se zelená. Jakmile je zelená na 100%, pak se sníží, zatímco se zvýší modrá. A nakonec, jak se modrá zmenšuje a červená zvyšuje, začínáte celý kruh.

To zajišťuje osvětlení pomocí dvou základních barev a jednu vynechává. Když v určitém bodě procházíme tímto barevným kolečkem osvětlení, bude v dodávaném světle chybět jakákoli barva v uměleckém díle. Výsledná změna vnímané barvy může být docela dramatická a stane se součástí výtvarného projevu. Pokud tedy červená ve světle není, bude jakákoli červená barva na obrázku tmavá. Když je světlo čistě červené, červená skutečně svítí a ostatní barvy jsou ztlumeny.

Krok 13: Příklady programování ovladače Copperhead:

„Copperhead“od Jeanie Holt využívá světelné variace ke zlepšení pocitu venku a variací v nápadnosti hada. Programování vrství vlny světla na pozadí osvětlení.

Pro tento program jsme pro vývoj použili knihovnu FastLED spolu s naším obvodem Tuner.

Barva pozadí je nastavena na 10 bodů kolem rámce a funkce fill_gradient () slouží k plynulému přechodu mezi barvami.

Na začátku sledovacího cyklu se pozadí ztlumí a barva se časem změní na modrou pomocí kosinusové křivky a funkce setBrightness ().

Po zpoždění se tři vlny světla pohybují z pravého horního rohu do dolního levého. První vlna je nejjasnější, následující vlny ztmavnou. První vlna se také pohybuje pomaleji.

Krok 14: Příklady programování ovladače Black Doodle:

Image
Image

„Black Doodle“od Jeanie Holt zkoumá úvahy o černém vinylu.

Tento program také používá knihovnu FastLED a může přijímat vstup z ladicího obvodu.

Osvětlení se skládá až z 5 současných zobrazení světla hrajícího z náhodných bodů kolem rámečku. Každý displej v průběhu času postupuje po stejných 60 hodnotách jasu. Každý displej obsahuje 7 přilehlých LED s jasem klesajícím směrem k okrajům. Před každým zobrazením se spustí náhodné zpoždění. Umístění displeje je náhodné, ale umístění v blízkosti aktivního displeje jsou zakázána.

Pozadí je duha barev rozložená kolem rámu. Tato duha na pozadí se pomalu otáčí a náhodně mění směr.

Tyto popisy jsou přehledem a pomůckou při čtení programů. Doufáme, že najdete některé z těchto světelných efektů natolik zajímavé, že je můžete začlenit do některého z vašich projektů. Odkaz na github.com, kde jsou programy uloženy, je v kroku 2 Zdroje.

Krok 15: Programování funkcí ladění:

V programu RainForest můžeme funkci ladění zapnout pomocí „#define TUNING 1“a pomocí plochého kabelu připevnit vstupní desku ladění. Musíme také nastavit parametry, pro které bude LED ovlivněna laděním. Upravme například LED diody na pozicích 61 až 73. Používáme #define START_TUNE 61 a #define END_TUNE 73. Ostatní segmenty řetězce nastavíme na barvy pozadí v setup () pomocí volání fill_gradient_RGB (). Zbytek náčrtu by neměl nastavovat diody LED v rozsahu ladění, jinak neuvidíte svá nastavení. Nyní spusťte skicu a zobrazte sériový monitor. Ladicí část programu má 4 stavy [Odstín, Sytost, Hodnota a Jas}. Odstín je barevné kolečko s 0 = červená a 255 od modré po téměř červenou. Aktuální stav by měl být vytištěn na sériovém monitoru a indikátor LED na ladicí desce bude blikat, aby indikoval stav (jedno blikání je odstín, dvě blikání je sytost a tak dále). Hodnota je intenzita světla, zatímco jas je redukční faktor, který se aplikuje na všechny hodnoty intenzity LED. Takže pro plný jas nastavte hodnotu = 255 a jas = 255. Stisknutím tlačítka změníte stav. Když jste ve stavu, který chcete upravit, otočte knoflíkem. Program ignoruje knoflík, dokud není otočen více než INHIBIT_LEVEL. Tím se zabrání změně hodnot v ostatních stavech, když je procházíte. Můžete například začít s odstínem a získat požadovanou barvu, poté přejít na hodnotu a upravit, abyste našli požadovaný jas.

Skici Macaw a Nordic_Tree zahrnují ladění, ale funkce jsou trochu jiné. V těchto skicách jsou pouze dva režimy. Jeden pro jas a druhý pro polohu barevného kolečka. Pomocí těchto příkladů můžete vidět, jak přizpůsobit funkce ladění tak, aby fungovaly s většinou libovolných parametrů ve vašem ovládání osvětlení.

Součástí úložiště je skica „Tuning“, která přebírá funkce ladění od RainForest. Tato skica je pouze funkcí ladění, takže ji můžete prozkoumat a snáze sledovat, jak skica funguje. Tuto skicu používáme k ovládání testovacího světelného rámu, který můžeme rychle umístit na umělecké dílo a prozkoumat světelné efekty. Později použijeme informace o ladění k sestavení vlastního ovladače osvětlení.

Doufáme, že vám tento návod pomůže při práci na vašem projektu.

Krok 16: Zbytek příběhu:

Toto je jeden ze dvou pokynů k tomuto projektu. Pokud jste tak ještě neučinili, podívejte se na doprovodné instrukce na:

Doporučuje: