Costruisci la tua illuminazione dinamica dinamica per un centro multimediale

Costruisci la tua illuminazione dinamica dinamica per un centro multimediale / Fai da te

Se guardi un sacco di film sul tuo PC o sul tuo media center, sono sicuro che hai affrontato il dilemma dell'illuminazione; spegni completamente tutte le luci? Li tieni in piena esplosione? O usi un dimmer per mantenere un alone giallo opaco da qualche parte? Bene, non soffrire più.

Per meno di $ 100, puoi creare uno straordinario sistema di illuminazione che rifletterà ciò che appare sullo schermo; se il video è una scena notturna blu, le luci saranno blu; quando un bagliore di fuoco arancione lampeggia, così saranno le tue luci. Benvenuti nel mondo dell'illuminazione RGB ambientale.

componenti

  • Striscia di luce RGB: si tratta di una striscia di LED RGB da 5 metri che può essere acquistata su eBay e spedita da Hong Kong per meno di £ 20 ciascuno. Se acquisti nei negozi di elettronica pagherai a metro e una bobina di 5 metri avrà un costo tre o quattro volte, quindi acquista online. Questi tipi di strisce LED possono essere cambiati in qualsiasi colore, ma solo tutti in una volta - non possono essere regolati individualmente.
  • Alimentazione 12v: la potenza (amplificazione) richiesta dipende da quante strisce di LED si collegheranno. Ogni metro disegna circa 0,6 ampere, ma questo dipende dalla densità dei LED, quindi assicurati di controllare la tua particolare striscia LED. 3A sarebbe sufficiente per la striscia di 5 metri che ho linkato sopra, e gli alimentatori separati possono essere acquistati per circa £ 10 se non puoi trovarne uno altrove.
  • 3 transistor MOSFET N: è possibile trovare più economici, ma ho acquistato un pacchetto di 6 (digitare STP16NF06FP) per circa £ 10. Questi sono usati per isolare la corrente dall'Arduino - collegando le strisce direttamente all'Arduino si friggerebbe con la quantità di corrente che disegna. È necessario 1 transistor MOSFET per canale di colore LED, per rosso, verde e blu.
  • Arduino Cos'è Arduino e cosa puoi fare con esso? Cosa è Arduino e cosa puoi fare con esso? L'Arduino è un eccezionale dispositivo elettronico, ma se non ne hai mai usato uno prima, cosa sono esattamente e cosa puoi fare con uno? Per saperne di più - Non ho incluso il costo di questo articolo poiché si presume che ne avrai già uno e ci sono una varietà di cloni che puoi acquistare se non puoi permetterne uno ufficiale.

Il costo totale era quindi intorno £ 40 escluso l'Arduino.

introduzione

Il progetto consiste di due parti. Per prima cosa creeremo un circuito Arduino di base che ascolta i comandi dal computer e imposta i LED RGB su un colore appropriato. Il secondo riguarda l'utilizzo di una nuova applicazione chiamata Processing e Java sul lato del computer - per capire quali colori sono attualmente visualizzati sullo schermo, mediali e inviarli alla porta di comunicazione seriale affinché Arduino risponda.

Parte 1: Circuito e Arduino

Il circuito che stiamo usando è molto semplice, come puoi vedere dallo schema sottostante. La striscia LED deve essere fornita con una spina maschio su un'estremità che è possibile inserire direttamente nella breadboard.

La tua striscia LED può variare, ma se guardi da vicino vedrai 12v, R, G, B scritto sui binari da qualche parte. Queste strisce possono effettivamente essere tagliate in questi punti di rame (ogni 3 LED su quelli che ho), quindi se vuoi tagliare le strisce agli angoli del tuo televisore puoi tranquillamente farlo - non devi nemmeno usare l'intero 5m , quindi potresti averne alcuni per un progetto futuro. Collegare il positivo 12 v direttamente all'alimentatore esterno.

I MOSFET hanno tre pin; cancello, drenare, e fonte. Il cancello è come l'interruttore elettronico controllato da Arduino. Questo determina quindi la corrente che scorre tra la sorgente e lo scarico. Lo scarico di ciascun MOSFET deve essere collegato alla massa dell'Arduino e alla massa dell'alimentazione, mentre la sorgente si collega ai canali della striscia LED.

Una volta completato il circuito, scarica ed esegui questo codice di prova (originariamente da LadyAda, pin modificati). Dovresti vedere la striscia di LED che si muove attraverso una varietà di colori.

Parte 2: elaborazione

Scarica Elaborazione ed esegui. Potresti essere sorpreso di trovare l'aspetto quasi esattamente come l'ambiente di sviluppo di Arduino; questo perché l'ambiente Arduino era basato su di esso, sebbene entrambi svolgessero funzioni diverse. Prendi questo codice - originariamente da Silicon Republic ma pesantemente modificato da me per rendere le impostazioni delle dimensioni dello schermo automatiche e con una migliore rappresentazione dei colori - e prenditi un momento per esaminarlo. Fondamentalmente utilizza una classe Java chiamata Robot per fare uno screen capture ogni 10ms; quindi preleva ogni pixel dispari e calcola la media del colore totale. Se la prestazione è un problema per te, aumenta il valore_salto variabile su 3 o 4 per saltare più pixel - l'effetto complessivo dovrebbe essere lo stesso, ma verrà eseguito più velocemente mentre esamina meno pixel. Infine, ho aggiunto un filtro che aiuta a saturare il colore aumentando il massimo e diminuendo i valori minimi RGB trovati (senza questo, ho trovato i colori troppo bianchi).

Esegui l'app; la prima volta, probabilmente riceverai un errore nel tentativo di accedere alla porta seriale errata.

Controlla la finestra di debug per un elenco delle porte seriali correnti e prendi nota del numero accanto a quello in cui è inserito il tuo Arduino. Nel mio caso su un Mac, la connessione USB è la porta 4. Modificare il numero in questa linea sulla porta corretta:

port = new Serial (questo, Serial.list () [4], 9600); // imposta la velocità di trasmissione

Salva e riesegui; dovresti vedere una piccola finestra pop-up - questo rappresenta il colore medio di tutto sullo schermo. Avvia un'app di pittura o qualcosa con colori forti per provarlo, altrimenti probabilmente mostrerà solo una torbida sfumatura di grigio. Interrompi l'applicazione quando hai terminato i test poiché è necessario l'accesso alla porta seriale per programmare Arduino.

Infine, carica questo codice sul tuo Arduino. Invece di inviare colori casuali alla striscia LED, questo codice legge i valori dalla porta seriale (a cui viene eseguita l'elaborazione in). È abbastanza facile da capire, l'unica parte difficile potrebbe essere l'uso di un marcatore nei dati seriali:

if (Serial.available ()> = 4) if (Serial.read () == 0xff) red = Serial.read (); verde = Serial.read (); blue = Serial.read (); 

Ciò garantisce che leggiamo i valori di byte corretti - l'app di elaborazione emette un marker come a “punto di rottura” tra ogni set di valori in modo che Arduino non vada fuori sincrono e pensi che il valore verde sia blu ecc.

Una volta caricato il codice Arduino (inizialmente non dovrebbe esserci uscita sulla striscia LED), allora è possibile caricare ed eseguire l'app di elaborazione; immediatamente dovresti vedere la tua luce ambientale funzionante.

Ecco una demo video di come ha funzionato con un video casuale di musica trippy.

Cosa pensi?! Anche se non è così impressionante come qualcosa che analizza ogni parte dello schermo e utilizza i singoli pixel LED, è molto più economico e molto più luminoso. L'unico lato negativo di questo è che tutto deve essere eseguito sul tuo computer del centro multimediale - non funzionerà con le normali trasmissioni TV o Xbox 360, per esempio. Se hai problemi, domande o suggerimenti, chiedi pure via; o forse link a un video della configurazione completata.

Scopri di più su: Arduino, Media Player.