Tutorial Arduino MaxMSP #5 – Arduino MaxMSP interazione con video

0

Tutorial Arduino MaxMSP #5 – Arduino MaxMSP interazione con video

 

Per vedere tutti i tutorial: www.marcopucci.it/category/maxmsp-arduino/

 

images (1)
Segui la pagina Tutorial Arduino su Facebook

 

 

Materiale utilizzato – Arduino Uno, Shield Grove, sound sensor Grove

 

Questo tutorial è stato realizzato in collaborazione con www.robotics-3d.com

 Se volete acquistare il kit per realizzare il tutorial Arduino MaxMSP interazione video cliccate qui.

 

Clicca qui per scaricare tutti gli sketch e il video utilizzati nel tutorial.

 

In questo tutorial realizziamo un’installazione interattiva gestendo due video in base la valore proveniente dal sensore che rileva il suono.
In uno schermo sarà proiettato il video di una candela accesa. Soffiando sul sensore la candela si spegnerà.
Questo semplice esercizio permette di esplorare le possibilità dell’interazione tra un sensore e i video.
ATTENZIONE: prima di proseguire leggete i tutorial precedenti di Arduino/MaxMSP a questo link.

 

 

 

 

Arduino
Colleghiamo il sound sensor al pin 0 di Arduino. Questo sensore rileva il suono e lo restituisce sotto forma di numero. Per comodità utilizzo una scheda Arduino con una shield Grove (vedi questo precedente tutorial per capire come funziona). Se non avete la shield Grove potete utilizzare una semplice scheda Arduino UNO con un sensore di suono.

 

grove-fritzing

Uplodiamo sulla scheda Arduino il file precedentemente scaricato Arduino_invia_dato_a_MaxMSP.ino.
Verifichiamo se il sensore funziona aprendo il Serial Monitor.
Chiudiamo Arduino e apriamo MaxMSP.

 

 MaxMSP
Apriamo lo sketch Max_video_vuoto.maxpat e costruiamo insieme il sistema per la gestione dei video.

arduino-sound-sensor

Per prima cosa verifichiamo se la connessione con Arduino funziona. Soffiando sul sound sensor il grafico deve cambiare come nella figura qui sopra.

 

Video
Inseriamo il componente jit.playlist cliccando sull’icona a sinistra VIDEO e trascinando nello sketch uno dei file video di esempio.

 jit-playlist

 

Inseriamo anche uno schermo di anteprima (viewr).
Click su V (vizzie) a sinistra / OTPUTViewr

maxmsp-viewr

 

Colleghiamo l’uscita del blocco video al monitor. Blocchiamo lo sketch e clicchiamo su PLAY.
Il video viene visualizzato nello schermo.

 maxmsp-viewr-output

 

Come per i file audio possiamo mettere in loop il video ed evidenziare con il mouse (all’interno della timeline) solamente una parte di video.

 

Apriamo la cartella del nostro computer dove è presente il file precedentemente scaricato candela.mov. Trasciniamolo con il mouse dentro il blocco jit.playlist e lasciamolo quando il blocco diventa rosso. In questo modo abbiamo caricato il video della candela. Cliccando su Play possiamo vederlo all’interno del monitor.

maxmsp-viewr-video

Questo video mostra una candela accesa che viene spenta. Costruiamo uno sketch dove la prima parte del video (la candela accesa) è sempre in loop. Quando il valore del sensore di Arduino supera il valore 600 (sto soffiando sul microfono) facciamo partire la parte di video dove la candela si spegne.

Copiamo e incolliamo all’interno dello sketch il blocco video e il monitor.

 maxmsp-viewr-2

Nel primo blocco mettiamo in Play e in Loop. Evidenziamo nella timeline solamente la parte dove la candela è accesa.
Nel secondo blocco selezioniamo la parte dove la candela è accesa ma subito dopo viene spenta.
Più o meno copiate le selezioni gialle come nella figura qui sotto.

maxmsp-viewr-3

 

Switch Video
Creiamo uno switch (interruttore) per gestire la visualizzazione dei due video.
Inseriamo un Object e scriviamo al suo interno switch 2. Si crea un blocco con tre ingressi.
Come nella figura qui sotto colleghiamo nel pin 2 dello switch l’uscita del primo video e nel terzo pin l’uscita del secondo video.
L’uscita dello switch deve essere connessa con il monitor.

max-msp-switch

 

In questo modo possiamo decidere quale dei due video deve essere visualizzato nel monitor che hanno in comune.
Per decidere se visualizzare il primo o il secondo video abbiamo bisogno di due blocchi che indicano il video n.1 o il video n.2.
Inseriamo due oggetti Message (nella barra in alto vicino a Object).
Nel primo scriviamo 1 e nel secondo 2.
Colleghiamoli entrambi al primo pin dello switch.

 

 max-msp-switch-message

 

Per vedere come funziona mettiamo in Play e in Loop tutti e due i video.
Cliccando su 1 nello schermo apparirà il primo video. Cliccando su 2 apparirà il secondo video.
Passiamo ora alla gestione del valore del sensore che attiverà uno dei due blocchi Message per rendere interattiva la visualizzazione dei video.

 

Sound Sensor
Il valore che arriva dal sensore di Arduino si riferisce alla quantità di suono percepita dal microfono. Il numero che appare nello sketch di Max è basso se stiamo in silenzio. Se soffiamo questo numero supera il valore 600 (i vostri sensori potrebbero avere valori diversi, verificate la soglia che volete utilizzare per far scattare l’interazione con il video).

Inseriamo un object > 600 per verificare quando il valore del sensore supera la soglia di 600.
La sua uscita è inserita nell’object TogEdge come nel tutorial #3 PlaySound.
Questo blocco permette di filtrare il risultato dell’oggetto >600 e far passare solamente UNA volta il segnale che attiva il secondo video.
Fate delle prove per vedere la differenza inserendo e poi togliendo il blocco TogEdge.

L’uscita di questo interruttore dobbiamo collegarla sia al Play del secondo video che al Message 2 dello switch per visualizzarlo.

 

maxmsp-togedge

 

Verifichiamo se funziona: mettiamo in Play e Loop il primo video. Clicchiamo sul Message 1 per visualizzarlo nello schermo.
Quando soffiamo nel sensore si attiva e viene visualizzato il secondo video.
Per completare l’installazione dobbiamo far ritornare il primo video nello schermo quando il secondo video è terminato.
Per realizzare questa automazione abbiamo bisogno di un contatore (che sarà utilizzato spesso nei prossimi tutorial) che dopo tot secondi attiverà il primo video.
Per costruirlo seguite questi passaggi:

 

maxmsp-counter   - Inseriamo un interruttore toogle
- Inseriamo un object qmetro 10
- Inseriamo un object counter 50
- Inseriamo un numbers (sempre dal menù in alto)

Il primo interruttore attiva tutto. Qmetro è una specie di metronomo che invia un segnale ogni 10 millisecondi. Counter è il contatore vero e proprio. Ogni volta che qmetro invia un segnale il contatore avanza. Quando arriva a 50 si azzera. Il risultato è visibile nell’ultimo blocco numbers.

Provate a modificare i valori del qmetro (ad esempio inserite 100) e vedrete che il contatore rallenterà.
Inserite 100 nel counter e il contatore arriverà fino a 100.

maxmsp-counter-2        Inseriamo un altro interruttore e colleghiamolo alla terza uscita del counter. Questa uscita segnala quando il contatore ha raggiunto il valore prestabilito.
Se attivate il contatore potete vedere che questo ultimo blocco si illumina quando il contatore arriva a 50.

 

maxmsp-counter-3   Se colleghiamo l’uscita del secondo interruttore all’ingresso del primo abbiamo creato un contatore che una volta acceso si spegne
da solo.
Click sul primo interruttore. Quando il contatore arriva a 50 si disattiva tutto.

Abbiamo realizzato questo componente per fare in modo di riattivare il primo video dopo che il secondo ci ha mostrato la candela spenta.
Calcoliamo il tempo di lunghezza del secondo video e impostiamo il contatore.
Quando il valore del sensore supera il valore di 600 attiva il secondo video, attiva il secondo monitor e attiva il contatore (collegate il contatore come nella figura qui sotto).

 maxmsp-interactive

Impostiamo il counter a 150. Quando il contatore finisce attiva il toogle. Quest’ultimo deve essere collegato al message 1 dello switch che attiva la visualizzazione del primo video.

maxmsp-interactive-video

ATTENZIONE: se provate l’installazione potreste notare, quando viene attivato il secondo video, che c’è un piccolo scatto di frame. Il secondo video quando parte mostra per errore il suo ultimo frame.
Non sempre capita (forse dipende dall’esportazione del video). Per risolvere questo problema inserisco un secondo contatore (molto più veloce) che fa scattare lo switch video dopo qualche millisecondo.
In questo modo il secondo video parte subito quando soffio nel microfono però viene visualizzato qualche istante dopo per evitare di mostrare questo frame.
Copiate tutto il blocco del counter e collegatelo come mostrato nella figura qui sotto.
Impostate il counter a 50 (così è più veloce). Quando il sensore supera 600 attiva il contatore.
L’interruttore che si accende quando raggiunge il valore di 50 deve essere collegato con il message 2 dello switch.

maxmsp-sketch

Infine eliminate il cavetto che attivava il message 2 dello switch (nella figura qui sotto è colorato di blu).

maxMSP

In questo modo abbiamo realizzato una semplice interazione tra due video in base al valore di un sensore.

Completiamo l’installazione interattiva aggiungendo lo schermo finale.
Click su V (vizzie) a sinistra / OTPUT/ Projectr
Colleghiamo l’ingresso del blocco projectr con l’uscita dello switch (come nella figura qui sotto).
Nello schermo più grande appare il nostro video.
Possiamo collegare un proiettore o un secondo monitor al nostro computer. Impostiamolo dal pannello di controllo del pc come Estensione del Desktop e trasciniamo nel nuovo schermo il video Projectr.

maxmsp-projector

 

 

Licenza Creative Commons

I tutorial sono liberamente scaricabili e condivisibili sotto l’etichetta Creative Commons (non è possibile commercializzarli e modificarli)

 

 

icona_pdf Scarica il Pdf del tutorial “Interazione con video”

 

 

   
   
Ti è piaciuto il tutorial? Se ti va offrimi un caffè… 

 

 

 

 

About The Author