Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

3
voti

Creare una vetrina con video e domotica interattiva con il sensore 3D e RaspLogic

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:

RaspLogic_Video_Vetrina.png

RaspLogic_Video_Vetrina.png

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.

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.