Se avete un amico con un negozio con una vetrina potete finalmente renderla interattiva incuriosendo i passanti.
Utilizzando il sensore 3D cell'articolo precedente possiamo posizionarlo all'interno del vetro di una vetrina. Usando la mano i passanti possono muovere la mano davanti al sensore e generare gesture da destra a sinistra o da sinistra a destra per cambiare quello che vedono su una TV posta dietro al vetro.
Usando queste gesture ed un sistema DALI possiamo controllare le luci interne al negozio legandole alla visione di un video in hd 1920x1080. Tutto con un RaspberryPi (o un pc qualsiasi).
Per fare il play di un filmato mp4 con raspberry ho installato omxplayer con i seguenti comandi:
sudo apt-get install libpcre3-dev libpcrecpp0 libva-dev libva-x11-1 libva1
wget http://omxplayer.sconde.net/builds/omxplayer_0.2.5~git20130326~5b369233_armhf.deb sudo dpkg -i omxplayer_0.2.5~git20130326~5b369233_armhf.deb
L'ultima versione la potete trovare qui: http://omxplayer.sconde.net/
A questo punto potete usare il player da console così: omxplayer -o hdmi filename
Ho creato un componente per RaspLogic che permette di eseguire un comando console quando arriva un messsaggio. Per fermare il play di un video è necessario "killare" il task corrispondente in questo modo:
pkill omxplayer
A questo punto abbiamo tutto quello che ci serve per portare a termine il nostro obiettivo.
Ecco il progetto:
Come da immagine allegata colleghiamo il sensore 3D ad componente SEQUENCE che ci permette di gestire una macchina a stati in modo molto sempplice. Gli stati che ci servono sono 3, in ognuno mandiamo un messaggio all'uscita 2 per rimuovere i task nell'altra uscita mandiamo un comando ad un timeer che si occupa di accendere le luci e fare il play di un video.
Ecco lo script per il componente SEQUENCE:
NUM OUT=2
// Starts
GOTO LAMP1 // change state to LAMP1
STATE LAMP1 // Execute the following when enter in this state
OUT2 STOP
OUT1 START1
M LEFT // if LEFT message arrive and the state is LAMP1 do the following:
GOTO LAMP3 // change state to LAMP3
M RIGHT // if RIGHT message arrive and the state is LAMP1 do the following:
GOTO LAMP2 // change state to LAMP2
STATE LAMP2
OUT2 STOP
OUT1 START2
M LEFT
GOTO LAMP1
M RIGHT
GOTO LAMP3//
STATE LAMP3
OUT2 STOP
OUT1 START3
M LEFT
GOTO LAMP2
M RIGHT
GOTO LAMP1
In sostanza in base alla messaggio che arriva dal componente sensor 3D si cicla tra i vari stati.
Lo script messo all'interno del timer è il seguente:
NUM OUT=6
M START1
O 00 00 00 OUT1 TRUE
O 00 00 00 OUT2 FALSE
O 00 00 00 OUT3 FALSE
O 00 00 05 OUT4 GO
M START2
O 00 00 00 OUT1 FALSE
O 00 00 00 OUT2 TRUE
O 00 00 00 OUT3 FALSE
O 00 00 05 OUT5 GO
M START3
O 00 00 00 OUT1 FALSE
O 00 00 00 OUT2 FALSE
O 00 00 00 OUT3 TRUE
O 00 00 05 OUT6 GO
Nelle prime 3 uscite è collegata una lampada che, in base al messaggio che arriva, si accende o si spegne.Le uscite 4,5,6 eseguono il play di 3 diversi file video che pubblicizzano la lampada corrispondente.
Se avete qualche esigenza sentitevi liberi di chiedermi come si potrebbe risolvere con RaspLogic.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)