
Michael Cain
0
3882
912
Pokud sledujete hodně filmů v počítači nebo v mediálním centru, jsem si jistý, že jste čelili dilematu osvětlení; úplně zhasnete všechna světla? Máte je na plném výbuchu? Nebo používáte přepínač stmívačů, abyste někde udrželi matně žlutou záři? No, už netrpě.
Za méně než 100 USD můžete vytvořit úžasný světelný systém, který bude odrážet to, co je na obrazovce; pokud je video modrou noční scénou, světla budou modrá; když se rozzáří záblesk oranžového ohně, vaše světla se také rozsvítí. Vítejte ve světě okolního osvětlení RGB.
Komponenty
- Světelný pásek RGB - jedná se o 5 metrů pásek RGB LED, které lze zakoupit na eBay a odeslat z Hongkongu za méně než 20 GBP. Pokud nakupujete v obchodech s elektronikou, budete platit metrem a naviják o délce 5 metrů to bude stát třikrát nebo čtyřikrát, takže nakupujte online. Tyto typy LED pásek lze změnit na jakoukoli barvu, ale pouze najednou - nelze je individuálně upravit.
- Napájení 12V - požadovaný výkon (zesílení) závisí na tom, kolik pásů LED budete připojovat. Každý měřič čerpá přibližně 0,6 ampér, ale to závisí na hustotě vašich LED diod, takže nezapomeňte zkontrolovat konkrétní LED pásek. 3A by stačilo na 5m proužek, který jsem připojil výše, a samostatné zdroje napájení lze zakoupit za přibližně 10 liber, pokud je nemůžete získat jinde..
- 3 x tranzistory MOSFET N - můžete probaby najít levnější, ale koupil jsem si balíček 6 (typ STP16NF06FP) za zhruba 10 liber. Používají se k izolaci proudu od Arduina - spojení proužků přímo s Arduino by ho smažilo s množstvím proudu, který čerpají. Potřebujete 1 tranzistor MOSFET na jeden barevný kanál LED, pro červenou, zelenou a modrou.
- Arduino Co je Arduino a co s ním můžete dělat? Co je Arduino a co s ním můžete dělat? Arduino je pozoruhodné malé elektronické zařízení, ale pokud jste ho nikdy předtím nepoužívali, jaké jsou přesně a co s ním můžete dělat? - Nezahrnul jsem náklady na tuto položku, protože se předpokládá, že ji již máte, a existuje řada klonů, které si můžete koupit, pokud si nemůžete dovolit oficiální.
Celkové náklady se tedy pohybovaly kolem 40 liber bez Arduina.
Úvod
Projekt se skládá ze dvou částí. Nejprve vytvoříme základní obvod Arduino, který poslouchá příkazy z počítače a nastaví RGB LED na odpovídající barvu. Druhá zahrnuje použití nové aplikace s názvem Zpracování a Java na straně počítače - zjistit, jaké barvy jsou aktuálně na obrazovce, průměrovat je a výstup, který na sériový komunikační port pro Arduino reagovat na.
Část 1: Obvod a Arduino
Okruh, který používáme, je velmi jednoduchý, jak můžete vidět z níže uvedeného schématu. LED pásek by měl být dodáván se zástrčkou na jednom konci, kterou můžete umístit přímo do prkénku.
Váš LED pásek se může lišit, ale pokud se podíváte pozorně, uvidíte 12v, R, G, B někde na kolejích. Tyto proužky lze skutečně oříznout v těchto měděných bodech (každé 3 diody LED na těch, které mám), takže pokud chcete proužky oříznout v rozích vašeho televizoru, můžete to bezpečně udělat - nemusíte používat ani celých 5m , takže možná budete mít nějaké zbývající do budoucího projektu. Připojte kladný 12V přímo k externímu napájení.
MOSFETy mají tři kolíky; brána, kanalizace, a zdroj. Brána je jako elektronický spínač, který Arduino ovládá. To pak určuje proud protékající mezi zdrojem a odtokem. Odtok každého MOSFETu by měl být spojen se zemí Arduino a se zemí napájecího zdroje, zatímco zdroj se připojí k LED pásmovým kanálům.
Po dokončení okruhu stáhněte a spusťte tento testovací kód (původně z LadyAda, kolíky upravené). Měli byste vidět, jak se LED pásek víří různými barvami.
Část 2: Zpracování
Stáhnout zpracování a spustit. Možná vás překvapí, když to vypadá téměř přesně jako vývojové prostředí Arduino; je to proto, že na tom bylo založeno prostředí Arduino, i když oba vykonávají různé funkce. Chyťte tento kód - původně Silicon Republic, ale silně mě změnil, aby se nastavení velikosti obrazovky automaticky a s lepším barevným zastoupením - a chvilku se na to podíváme. V zásadě používá třídu Java nazvanou Robot pořizovat snímky obrazovky každý 10 ms; poté vybírá každý lichý pixel a průměruje celkovou barvu. Pokud je pro vás problém výkon, zvyšte skipValue proměnná na 3 nebo 4 pro přeskočení více pixelů - celkový efekt by měl být stejný, ale bude běžet rychleji, protože zkoumá méně pixelů. Nakonec jsem přidal filtr, který pomáhá saturovat barvu zvýšením maxima a snížením minimálních nalezených hodnot RGB (bez toho jsem zjistil, že barvy jsou příliš bílé).
Spusťte aplikaci; při prvním pokusu o přístup k nesprávnému sériovému portu se pravděpodobně zobrazí chyba.
Zkontrolujte v ladicím okně seznam aktuálních sériových portů a poznamenejte si číslo vedle toho, do kterého je Arduino připojeno. V mém případě na počítači Mac je připojení USB port 4. Změňte číslo v tomto řádku na správný port:
port = new Serial (this, Serial.list () [4], 9600); // nastavit přenosovou rychlost
Uložit a znovu spustit; měli byste vidět malé vyskakovací okno - to představuje průměrnou barvu všeho na obrazovce. Spusťte aplikaci pro malování nebo něco se silnými barvami, abyste to vyzkoušeli, jinak to pravděpodobně jen zobrazí matný odstín šedé. Po dokončení testování zastavte aplikaci, protože pro programování Arduino potřebujeme přístup ke sériovému portu.
Nakonec nahrajte tento kód do svého Arduina. Namísto odesílání náhodných barev na LED pásek tento kód čte hodnoty ze sériového portu (do kterého zpracovává výstup). Je to docela snadné pochopit, jedinou obtížnou součástí může být použití značky v sériových datech:
if (Serial.available ()> = 4) if (Serial.read () == 0xff) red = Serial.read (); zelená = Serial.read (); blue = Serial.read ();
To zajišťuje, že čteme správné hodnoty bajtů - aplikace Zpracování vydá značku jako a “bod zlomu” mezi každou sadou hodnot, aby Arduino nevyšlo ze synchronizace a nemysli si, že zelená hodnota je modrá atd.
Jakmile je Arduino kód nahrán (na LED pásku by na začátku neměl být žádný výstup), můžete načíst a spustit aplikaci Zpracování; okamžitě byste měli vidět, že vaše okolní světlo funguje.
Zde je ukázka videa, jak to pro mě vyšlo s náhodným trippy hudebním videem.
Co myslíš?! I když to není tak působivé jako něco, co analyzuje každou část obrazovky a používá jednotlivé LED pixely, je to mnohem levnější a mnohem jasnější. Jedinou nevýhodou je, že vše musí být spuštěno v počítači s multimediálním centrem - nebude to fungovat například s běžným televizním vysíláním nebo s Xbox 360. Pokud máte nějaké problémy, dotazy nebo návrhy, zeptejte se prosím; nebo možná odkaz na video s dokončeným nastavením.