Publicitate

lumina centrală mediaDacă vizionați o mulțime de filme pe computer sau centru media, sunt sigur că v-ați confruntat cu dilema de iluminare; stingeți complet toate luminile? Îi țineți în plină explozie? Sau folosiți un comutator de dimmer pentru a păstra o strălucire galbenă plictisitoare undeva? Ei bine, nu mai suferi.

Cu mai puțin de 100 USD, puteți configura un sistem de iluminare uimitor care va reflecta ceea ce este pe ecran; dacă videoclipul este o scenă albastră de noapte, luminile vor fi albastre; când o aprindere a focului portocaliu se aprinde, la fel vor fi și luminile voastre. Bine ați venit în lumea iluminării RGB ambientale.

Componente

  • Bandă de lumină RGB - aceasta este o bandă de LED-uri RGB de 5 metri, care poate fi cumpărată pe eBay și livrată de la Hong Kong pentru mai puțin de 20 de lire sterline fiecare. Dacă cumpărați în magazine electronice, veți plăti cu contorul și o mulineta de 5 m va costa de trei sau patru ori, deci cumpărați online. Acest tip de benzi cu LED-uri pot fi schimbate în orice culoare, dar numai dintr-o dată - nu pot fi reglate individual.
  • instagram viewer
  • Alimentare 12v - puterea (ampage) necesară depinde de câte benzi de LED-uri veți conecta. Fiecare contor atrage aproximativ 0,6 amperi, dar acest lucru depinde de densitatea LED-urilor dvs., deci asigurați-vă că verificați banda dvs. LED. 3A ar fi suficientă pentru banda de 5 m pe care am legat mai sus, iar sursele de alimentare separate pot fi cumpărate cu aproximativ 10 GBP dacă nu puteți furniza una în altă parte.
  • 3 x Tranzistoare MOSFET N - poți găsi probaby mai ieftin, dar am cumpărat un pachet de 6 (tip STP16NF06FP) pentru aproximativ 10 GBP. Acestea sunt folosite pentru a izola curentul de Arduino - conectarea benzilor direct la Arduino l-ar prăji cu cantitatea de curent pe care o trag. Aveți nevoie de 1 tranzistor MOSFET pe canal de culoare LED, pentru roșu, verde și albastru.
  • Arduino Ce este Arduino și ce poți face cu asta?Arduino este un mic dispozitiv electronic, remarcabil, dar dacă nu ai mai folosit niciodată unul, exact ce sunt acestea și ce poți face cu unul? Citeste mai mult - Nu am inclus costul acestui articol, deoarece am presupus că veți avea deja unul și puteți cumpăra o varietate de clone dacă nu vă puteți permite unul oficial.

Prin urmare, costul total a fost de aproximativ £40 neincluzând Arduino.

Introducere

Proiectul este format din două părți. Mai întâi vom crea un circuit de bază Arduino care ascultă comenzile de la computer și va seta LED-urile RGB la o culoare corespunzătoare. A doua implică utilizarea unei noi aplicații numită Prelucrare și Java pe partea computerului - pentru a descoperi care sunt culorile existente în prezent pe ecran, să le medieze și să le scoată la portul de comunicații seriale pentru ca Arduino să reacționeze.

Partea 1: Circuitul și Arduino

Circuitul pe care îl utilizăm este foarte simplu, după cum puteți vedea din diagrama de mai jos. Banda cu LED-uri trebuie să fie livrată cu o priză de sex masculin pe un capăt pe care o puteți plasa direct în panou.

lumina centrală media

Banda dvs. LED poate varia, dar dacă priviți cu atenție, veți vedea 12v, R, G, B scris pe șine undeva. Aceste benzi pot fi de fapt tăiate în aceste puncte de cupru (la fiecare 3 LED-uri pe cele pe care le am), deci dacă doriți să tăiați benzile la în colțurile televizorului puteți face asta în siguranță - nu veți folosi nici cei 5 m de lungime, astfel încât puteți rămâne unele pentru viitor proiect. Conectați 12v pozitiv direct la sursa de alimentare externă.

iluminare ambientală dinamică

MOSFET-urile au trei pini; Poartă, scurgere, și sursă. Poarta este ca un comutator electronic pe care Arduino îl va controla. Aceasta determină apoi curentul care curge între sursă și scurgere. Scurgerea fiecărui MOSFET ar trebui să fie conectată la solul Arduino și la solul sursei de alimentare, în timp ce sursa se conectează la canalele cu bandă LED.

iluminare ambientală dinamică

După ce ați finalizat circuitul, descărcați și rulați acest lucru cod de testare (originar din LadyAda, pinii modificați). Ar trebui să vă vedeți banda LED care se învârte printr-o varietate de culori.

iluminare ambientală dinamică

Partea 2: Prelucrare

Descarca Prelucrare și fugi. S-ar putea să fii surprins să găsești că arată aproape exact ca mediul de dezvoltare Arduino; asta pentru că mediul Arduino s-a bazat pe el, deși ambele îndeplinesc funcții diferite. Prinde acest codinițial de Republica Silicon dar puternic modificat de mine pentru a face setările de dimensiuni ale ecranului automate și cu o reprezentare mai bună a culorii - și ia o clipă să-l privești. Practic, folosește o clasă Java numită Robot pentru a face o captura de ecran fiecare 10ms; apoi alege fiecare pixel ciudat și medie culoarea totală. Dacă performanța este o problemă pentru dvs., creșteți skipValue variabil la 3 sau 4 pentru a sări peste mai mulți pixeli - efectul general ar trebui să fie același, dar va rula mai repede, deoarece examinează mai puțini pixeli. În cele din urmă, am adăugat un filtru care ajută la saturarea culorii prin creșterea maximului și scăderea valorilor RGB minime găsite (fără asta, am găsit culorile prea albe).

Rulați aplicația; prima dată, veți primi probabil o eroare, deoarece încearcă să acceseze portul serial greșit.

iluminare ambientală dinamică

Verificați fereastra de depanare pentru o listă de porturi seriale actuale și notați numărul de lângă ce arductul dvs. Arduino este conectat. În cazul meu pe un Mac, conexiunea USB este portul 4. Modificați numărul din această linie în portul corect:

port = new Serial (acesta, Serial.list () [4], 9600); // stabilesc rata de transfer

Salvați și reexecutați; ar trebui să vedeți o fereastră mică care apare - aceasta reprezintă culoarea medie a tot ceea ce apare pe ecran. Lansați o aplicație de pictură sau ceva cu culori puternice pentru a o testa, altfel probabil va afișa doar o nuanță întunecată de gri. Opriți aplicația atunci când ați terminat testarea, deoarece avem nevoie de accesul portului serial pentru a programa Arduino.

lumina centrală media

În cele din urmă, încărcați acest cod la Arduino. În loc să trimită culori aleatorii pe banda LED, acest cod citește valorile din portul serial (la care se procesează procesarea). Este destul de ușor de înțeles, singura parte dificilă poate fi utilizarea unui marker în datele seriale:

if (Serial.available ()> = 4) { if (Serial.read () == 0xff) { roșu = Serial.read (); verde = Serial.read (); albastru = Serial.read (); } }

Acest lucru asigură că citim valorile corecte ale octeților - aplicația de procesare scoate un marker ca „punct de întrerupere” între fiecare set de valori, astfel încât Arduino să nu se sincronizeze și să creadă că valoarea verde este valabilă albastru etc.

Odată încărcat codul Arduino (inițial nu trebuie să existe nicio ieșire pe banda LED), atunci puteți încărca și rula aplicația de procesare; imediat ar trebui să vezi lumina ambientală funcționând.

Iată o demonstrație video despre cum a funcționat pentru mine cu un videoclip muzical trippy aleator.

Tu ce crezi?! Deși nu este la fel de impresionant ca ceva care analizează fiecare parte a ecranului și folosește pixeli LED individuali, este mult mai ieftin și mult mai luminos. Singurul dezavantaj este că totul trebuie să fie rulat pe computerul dvs. centru media - nu va funcționa cu difuzare TV obișnuită sau Xbox 360, de exemplu. Dacă aveți probleme, întrebări sau sugestii, vă rugăm să întrebați; sau poate face legătura cu un videoclip din configurarea dvs. finalizată.

James are licență în inteligență artificială și este certificat CompTIA A + și Network +. Este dezvoltatorul principal al MakeUseOf și își petrece timpul liber jucând VR paintball și boardgames. Construiește calculatoare de când era mic.