[GUIDA] Come realizzare effetto ambilight con XBMC e Arduino

gioo

New member
PREMESSA (wikipedia en)
Ambilight, che è l'abbreviazione per tecnologia di illuminazione ambientale, è una caratteristica inventata da Philips Electronics, che genera effetti di luce attorno al televisore che corrispondono ai contenuti video.
L'effetto, sostiene la compagnia, è uno schermo virtuale più grande e un'esperienza più coinvolgente. Inoltre, Philips sostiene che riduce l'affaticamento degli occhi dello spettatore.
La tecnologia Ambient Light è un sistema di illuminazione che regola attivamente sia la luminosità e colore basati su contenuto dell'immagine.


Questa guida ha come obiettivo la realizzazione di un sistema ambilight a quattro canali tramite l'ausilio di un PC e la piattaforma hardware arduino.

L'effetto finale è il seguente (non è mio il video, appena possibile ne inserirò uno mio personale):
http://www.youtube.com/watch?v=MBUD_yQtcSY

La guida farà riferimento al sistema operativo linux con software XBMC (ma credo che sia possibile realizzare il sistema anche per mac e win ed a prescindere da XBMC).

Materiale utilizzato

- PC con linux


- Arduino Mega


- striscia LED RGB


- Connettore USB A/B
usbA_B3mt.jpg


- 1 4pin Molex splitter


- shield autocostruita per pilotare la striscia di led


La guida si suddivide in quattro parti:
PARTE 1 - Realizzazione shield per pilotare la striscia di led
PARTE 2 - Configurazione e collegamento Arduino - Realizzazione striscia led
PARTE 3 - Boblight: compilazione ed installazione software per pilotare le luci
PARTE 4 - Configurazione XBMC
 
Ultima modifica:
PARTE 1 - Realizzazione shield per pilotare la striscia di led



componenti utilizzati
- due chip ULN2003AN http://www.ti.com/lit/ds/symlink/uln2003a.pdf
- 1 strip maschio da 20 passo 2,54mm http://www.mselettronica.com/vmchk/...LI-VERTICALE-SINGOLA-FILA-P=254mm-H=12mm.html
- 4 connettori strip 4 poli verticale per PCB http://www.tekkna.it/product/21987/CONNETTORE-STRIP-4-POLI-VERTICALE-PER-PCB.asp
- 1 spinotto alimentazione jack

Lo schema elettrico del circuito è il seguente:
ambiloneschema.jpg


e appena riesco a capire se è un mio problema o non funziona la funzionalità allegati, allegherò
EDIT: in allegato (ce l'ho fatta! con firefox ha funzionato :D) i pdf del circuito stampato top e bottom a scala 1:1 (per essere stampati) ed il pdf della rappresentazione dei componenti.

CREDITI
la progettazione e la realizzazione della shield sono a cura del mio collega Peppe!

Buon divertimento con la prima parte! :cool:
 

Allegati

Ultima modifica:
PARTE 2 - Configurazione e collegamento Arduino - Realizzazione striscia led

coming soon...
 
Ultima modifica:
PARTE 3 - Boblight: compilazione ed installazione software per pilotare le luci

coming soon...
 
Ultima modifica:
In effetti ... è veramente grandiosa come idea :eek: ... da farti slogare la mascella... non vedo l'ora di seguire l'aggiornarsi delle parti mancante per poter FINALMENTE (?!?) essere COMPLETAMENTE soddisfatto quando vedrò un bd sul plasmone !!!!;)
 
Vado un po in OT....ma, visto che uso XBMC sotto windows7 ed ancora il plugin boblight per XBMC sotto windows non funziona ho realizzato un boblight che prescinde l'XBMC.

La soluzione più economica ed efficiente (per me che sono un pezzo di pezzente!) è stata quella di usare l'harware MomoLigh ed il soft boblight-1.3-beta1 per windows.

E' un sistema a 3 canali up, left e right il tutto con un pic di mezza sega ed un ic convertitore rs232 e con la possibilita dei mood per usarlo anche ad htpc spento (più efficiente di così).

(avevo realizzato un primo prototipo con il mio Arduino ma, essendo un clone realizzato da me (sempre perchè sono un pezzo di pezzente!) con un ATMEGA32 ha solo 3 uscite pwm al posto dell'originale che ne ha 6 e cmq per arrivare a 9 uscite pwm o usi qualche ic esterno o con Arduino devi usare la libreria SoftPWM con tutti i casini per modificare il codice)

SOFTWARE per Windows

http://blogger.xs4all.nl/loosen
http://www.xs4all.nl/~loosen/boblight/boblight-1.3-beta1.rar

FONDAMENTALE DISATTIVARE/NON USARE TEMI AERO che si mangiano un sacco di risorse e tenendo conto che il soft ogni tot fotogrammi ne prende uno e ci fa sopra un po di calcoli.
Per me che come "htpc" uso un Acer Veriton N260G con 2 gb di ram e Windows 7 ultimate col tema AERO attivato, il tutto, sia desktop che video, andava a scatti.

IN XBMC, in sistema\uscita video, flaggare "Usa finestra fullscreen invece di un vero fullscreen"

Scompattare l'archivio boblight-1.3-beta1.zip (attenzione, iil mio panda cloud antivirus rileva il file boblightd.exe come sospetto e lo elimina (ho dovuto aggiungere un eccezione)

Rinominare il file "momo.conf" in "boblight.conf" e se si usa la seriale "com1" basta così, se no, editare il file e cambiare la com.

Quando tutto l'hardware sarà collegato basta avviare prima "boblightd.exe" e poi "boblight-getpixel.exe" e ridurli a icona.

HARDWARE MomoLigh

Per quanto riguarda l'hardware ho usato esattamente quello del progetto originale (a parte la sezione di potenza):
http://divxstation.com/article.asp?aId=151&page=1

però avendo in casa in 16f628 (non A) quello ho usato!! (quarzo a 10mhz)

per il firmware invece sono andato quì
http://moodprog.digiweert.nl/

è un evoluzione del firmware originale in cui è stato risolto qualche problema di comunicazione usando un adattatore "USB to Serial RS232" che con il mio Veriton uso ed in cui sono stati implementati anche i mood.. cioè degli effetti che prescindono i comandi provenienti dal PC e programmabili/modificabili con un apposito soft nello stesso sito.

ATTENZIONE li switch tra una modalità e l'altra avviene resettando il picmicro (col pulsante di reset).

Nel sito c'è il firmware sia per il 16f628A che per il 16f628

HARDWARE Striscia led
ho usato esattamente lo schema proposto da "gioo" con gli uln2003 collegati alle uscite del picmicro contrassegnate R1 G1 B1, R2 G2 B2 ed R3 G3 B3


il tutto è in fase di test ma pare che vada bene

ciao
Giovanni
 
Ultima modifica:
Ciao ragazzi!! Scusate se ho lasciato la guida incompleta... vuoi per gli impegni di fine anno, vuoi perchè nel frattempo in quel periodo mi è arrivato il TV guasto e sono rimasto due mesi senza TV, vuoi perchè avevo dimenticato della guida... :D

@corallaro: sei un grande e grazie per aver arricchito la discussione con la tua esperienza.

Spero e desidero di avere a breve il tempo per completare la guida!!! grazie per la pazienza.
 
Soluzione definitiva con XBMC sotto Windows XP e plugin DFAtmo ed hardware Momolight

http://forum.xbmc.org/showthread.php?tid=110939&pid=1114723#pid1114723

con questi parametri funziona perfettamente:
"com1&speed:9600&proto:Rl|Rt|Rr|Gl|Gt|Gr|Bl|Bt|Br"

il tutto senza caricare alcun driver Boblight (risulta estremamente leggero anche su hardware non performanti...come il mio)

(funziona solo con filmati sotto XBMC)

Ciao
Giovanni
 
Ultima modifica:
ciao a tutti
sto realizzando un sistema ambilight controllato da arduino e ho scelto il progetto Amblone, essendo semplicissimo, senza necessitá di programmare PIC o inventare niente...
mi piacerebbe peró poterlo usare anche a PC spento... ovviamente impostando un colore fisso in questo caso!
si puó fare in qualche modo?
per esempio facendo capire ad Arduino che se non riceve segnali dal PC deve impostare le uscite ad un valore fisso corrispondente al valore desiderato?
o é necessaria qualche modifica all'hardware?
accetto suggerimenti... sono alle prime armi con arduino
 
Credo si possa fare modificando opportunamente il firm di Arduino, poichè intendi usarlo ritengo che tu lo sappia programmare, pertanto non dovresti avere problemi ad inserire la modifica.

Ciao
 
Ciao
X Boxi80
dato che cmq dovrai metere mani al saldatore, quanto meno per la sezione di potenza, da attaccare all'arduino...ti consiglerei l'hard che ho usato io, ha la limitazione dei tre canali soltanto, ma ha i moods che sono indipendenti dal pc e sono programmabili.

nel caso di arduino ....per fare le cose semplici... metterei un interruttore su un ingresso digitale per switchare da ambilight a luce fissa...e poi devi capire il protocollo x forzare un valore fisso x i led rgb...
Giovanni

aggiornamento:

analogWrite(r2_pin, 0);
analogWrite(g2_pin, 0);
analogWrite(b2_pin, 0);

ho visto che arduino usa la funzioen analogwrite che rende tutto semplicissimo
per fare le cose supersemplici e se ti accontenti di un colore di luce predefinito...che può essere diversa x ogni canale..
le tre righe sopra danno il comando del nero....
al posto degli zeri/0 mettici il valore che vuoi per ottenere il colore/luce fisssa che vuoi
 
Ultima modifica:
sto aspettando che mi arrivino tutti i componenti, che dovrebbero arrivare a giorni...
poi, pensavo proprio di fare cosi... uno switch meccanico per decidere le due modalità... a livello software credo basti mettere nel programmino un ciclo IF o WHILE per impostare le due modalità
al limite si potrebbe anche aggiungere un potenziometro, o un pulsantino, per variare il colore ciclicamente tra una serie di scelte
appena lo monto vi aggiorno
 
Sicuramente, se devi cambiare la modalità da "ambilight" a "luce fissa/moods" durante l'uso, il pulsante rilevato da interrupt è la soluzione più elegante....

Ma, da...semplicista quale sono...e tenendo conto che Boxi80 sembra essere alle prime armi...., metterei un semplice if-then all'accenzione... se un input digitale è alto esegui la nuova subroutine di luce fissa, altrimenti esegui il resto del codice normalmente...
ciao
Giovanni
 
Ultima modifica:
Se si deve fare la scelta solo all'accensione sì, in questo caso suggerirei di inserire un piccolo loop di temporizzazione di un paio di secondi in modo che sia necessario tenere premuto il pulsante per un pochino di più di quell'intervallo per attuare la scelta.

Ciao
 
Ultima modifica:
Scusate, magari l'intervento è un po' OT.. ma in questo modo si può controllare qualsiasi segnale inviato da qualsiasi input?
Per intenderci.. mi piacerebbe interfacciarlo con Mediaportal e, se possibile, anche con decoder sky, ps3.. Illusione?!
 
sicuramente con mediaportal da pc ....decoder sky o altro no...questo sistema prevede l'utilizzo di un computer per l'analisi dell'immagine ed il pilotaggio delle "luci"....
 
Top