Marco Pucci

personal website

Tutorial Arduino 23 – Installazione interattiva

Tutorial #23 – Arduino installazione interattiva

 

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

 

images (1)
Segui la pagina Tutorial Arduino su Facebook

 

 

Materiale utilizzato – Arduino Uno, sensore di distanza Sharp (20 – 150 cm).

 

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

Se volete acquistare il kit per realizzare il tutorial “Installazione interattivacliccate qui.
Se avete già Arduino potete acquistare i singoli componenti in questo link:
sensore di distanza Sharp (20-150 cm) – clicca qui

 

 

Clicca qui per scaricare tutti gli sketch necessari a realizzare il quadro interattivo.

 

 

In questo tutorial realizziamo un’ installazioni interattiva: un finto quadro, realizzato con una cornice e un monitor, visualizza un’immagine. Quando una persona si trova in prossimità del quadro, l’immagine visualizzata cambia. Un sensore di distanza rileva la presenza del visitatore e mette in play il video, simulando in questo modo un cambiamento nel quadro.
Anche in questo tutorial utilizzeremo il software Processing per gestire la parte video.
Se non avete letto il precedente tutorial “Arduino DJ Console” (dove abbiamo analizzato l’interazione tra Arduino e i file audio) vi invito a farlo per poter installare Processing e le sue librerie.

 

 

Costruiamo il quadro.
Smontate un vecchio monitor togliendolo dal suo supporto di plastica.
Incastriamo il monitor all’interno di una cornice. Per questo tutorial ho utilizzato una cornice Ikea.
Fissiamoli insieme e appendiamo il quadro ad un muro cercando, se possibile, di nascondere i cavi di alimentazione e il cavo per connetterlo al pc.

 

 installazione-interattiva

 

installazione-interattiva_arduino

 

Circuito elettrico
Abbiamo già visto come collegare e utilizzare i sensori Sharp. Se non lo avete mai fatto vi invito a leggere il tutorial n.5 “Sensore Sharp“ dove viene spiegato il funzionamento e la programmazione di questi sensori.
Utilizziamo dei cavi elettronici abbastanza lunghi per collegare il sensore ad Arduino. Nascondiamo il sensore sotto la cornice.

 

arduino_installazione-interattiva

 

 

Arduino
Per quanto riguarda la parte software di Arduino dobbiamo solamente aprire il file StandardFimata presente all’interno dei file di esempio di Arduino.
Cliccate su File/Esempi/Firmata/StandardFirmata e uplodate su Arduino.

 

 arduino-firmata

 

Questo file mette in comunicazione Arduino con moltissimi programmi, tra cui Processing.
Possiamo chiudere il software di Arduino e aprire Processing.
N.B: se non trovate il file StandardFirmata dovete scaricare la libreria Firmata da internet e copiare la cartella dentro le libraries di Arduino.

 

 

Processing
ATTENZIONE: Vi ricordo che prima di proseguire dovete leggere il tutorial precedente per installare Processing e le librerie per comunicare con Arduino.
Aprite il file sketch_0_Installazione_interattiva.pde (se non avete ancora scaricato i file cliccate qui).
In questo primo sketch verifichiamo se la connessione tra Arduino e Processing funziona.

 

import processing.serial.*;
import cc.arduino.*;
Importiamo le librerie necessarie per fare comunicare Processing con Arduino

Arduino arduino;
int sensore_1=0;
Impostiamo la variabile per la lettura del sensore

void setup() {
size(640, 360);
background(0);
Nella funzione void setup() impostiamo le dimensioni di un eventuale monitor (per il momento lasciamolo così) e il colore dello sfondo del monitor

println(Arduino.list());
arduino= new Arduino(this, “COM14”, 57600);
Creiamo la connessione con Arduino, inserite al posto di “COM14” il numero della porta dove è collegata la vostra scheda. 57600 si riferisce alla velocità di comunicazione con Arduino.

}
void draw(){
sensore_1=arduino.analogRead(0);
println(sensore_1);
La funzione void draw() è il cuore del programma (come il void loop di Arduino). Con il comando arduino.analogRead(0) inserisco all’interno della variabile sensore_1 il valore inviato dal pin 0 di Arduino. 
Con println mandiamo in stampa il valore ricevuto.

}

 

 

 

IMPORTIAMO LA LIBRERIA CC.ARDUINO
Se proviamo a eseguire il programma, sotto il codice, appare una scritta arancione che ci avvisa che la libreria cc.arduino non è presente.
Installare le librerie in Processing è semplicissimo:
– Click su Sketch / Import Library / Add Library
– Selezionate Arduino (Firmata) e click su Install
– Una volta installata chiudete Processing e riaprite il file processing_arduino.pde questa volta senza nessun errore segnalato.

 

 

 

Click sul bottone RUN (in alto a forma di triangolo).
Se tutto è andato bene nella parte inferiore del software di Processing appaiono i valori del sensore collegato ad Arduino.
Se appare un errore fermatevi, le cause potrebbero essere:
– non avete caricato lo sketch StandardFirmata su Arduino
– il Serial Monitor di Arduino è aperto
– Arduino non è collegato
– non avete cambiato il nome della porta nel codice di Processing – arduino= new Arduino(this, “COM14”, 57600); – “COM14” deve essere modificato con il nome
della porta dove è collegato Arduino.
Se avete un Mac dovete scrivere “dev/tty.usbmodem262471” o quello che vi appare quando collegate Arduino al vostro mac (click su Serial Port del software di Arduino per vedere
a quale porta si è connesso).

Se vediamo i numeri del sensore in Processing siamo pronti per realizzare con poche righe di codice dei progetti in grado di gestire file video in base a un dato reale proveniente da Arduino (al posto del sensore di distanza possiamo utilizzare qualsiasi sensore come temperatura, flessione, trimmer, ecc… rendendo l’interazione con il quadro più singolare).

 

 

Aprite il file Installazione_interattiva.pde.
Come potete vedere all’interno della cartella c’è una nuova cartella che si chiama “data”.
In questa cartella devono essere messi i video che dobbiamo gestire.
Al suo interno è presente il file young_old_1920_1080.mp4.
Questo video di esempio mostra una giovane donna che invecchia lentamente.
Potete realizzare qualsiasi tipo di video (in formato .mov o .mp4). Ricordatevi che l’installazione funziona in questo modo: il video è in pausa sul primo frame. Quando il  sensore rileva un visitatore mette in play il video.

 

 

 video-interattivo-arduino

 Il video è stato realizzato con Adobe Premiere unendo due fotografie con una transazione video molto lenta.

 

Processing

 

import processing.video.*;
Importiamo la libreria video

import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
Movie movie;
Dichiariamo una variabile movie per gestire il video

void setup() {
fullScreen();
Mettiamo il video a schermo intero (per uscire dal fullscreen premere ESC)

movie = new Movie(this, “young_old_1920_1080.mp4”);
Alla variabile movie assegniamo il nome del video da caricare

println(Arduino.list());
arduino= new Arduino(this, “COM14”, 57600);
}
void movieEvent(Movie m) {
m.read();
}
void draw() {
image(movie, 0, 0);
int valore=arduino.analogRead(0);
Leggiamo il valore del sensore di Arduino

println(valore);
if (valore>300){
movie.play();
Se il valore è maggiore di 300 il video viene fatto partire

}
else{
movie.play();
movie.jump(1);
movie.pause();
Altrimenti se non c’è nessuno davanti al sensore rimandiamo il video al primo frame e lo mettiamo in pausa

}
}

 

 

arduino-interaction

 

L’installazione interattiva è terminata. Colleghiamo il computer al monitor esterno e lanciamo lo sketch di Processing.

 

arduino-interaction_2

 

 

 

 

 

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 “Installazione Interattiva

 

 

   
   
Ti è piaciuto il tutorial? Se ti va offrimi un caffè… [paypal-donation]  

 

 

 

 

 

 

Succ Articolo

Precedente Articolo

© 2024 Marco Pucci

Tema di Anders Norén