Sei sulla pagina 1di 96

||



   O    
    

| 
 

O O  
 


 


Prepariamo il computer per l¶utilizzo di Arduino


e Processing

Cosa occorre:
Arduino.zip da arduino.cc
Processing.zip da www.processing.org
Fritzing.zip da fritzing.org
ArduinoExamples.zip
Processing.Examples.zip
FritzingCircuits.zip

Scheda Arduino

O  O 
O
   
|  J
Step 1
Donwload ed installazione:
-Scaricare il software nel sito Arduino.cc
-Scaricare ArduinoExamples.zip dal sito del professore o dal sito
www.sensibilab.campuspoint.polimi.it nella categoria Arduino sotto la sezione download.

Procediamo con l¶installazione:


1)Unzip il file Arduino.zip scaricato da Arduino.cc, non necessita di installazione.
2)Collegare la scheda Arduino tramite l¶usb

Se non è la prima volta che si utilizza arduino saltare il punto tre.


3)Se si utilizza un sistema operativo windows è necessario installare il driver per arduino
- Aprire Sistema nel menu del Pannello di Controllo
- Selezionare Gestione Dispositivi
- Selezionare ³Arudino ONE´ (Dovrebbe essere presente un¶icona con un punto
escalmativo.
- Premere il tasto destro e selezionare Aggiorna driver
- Selezionare Ricerca Manuale del Driver
- Selezionare la cartella ×  ×
 ×
- Procedere con l¶installazione del driver.

O  O 
O
   
|  
Step 2

4) Unzip il file ArduinoExamples.zip nella cartella ×  ×  


Î) Eseguire l¶IDE Arduino
6) Selezionare la versione di hardware Arduino (³| ´)
7) Selezionare la porta COM (per MAC ³    ´, per Linux ³  X´, per
Windows controllare nel ³panello di controllo/Gestione dispositivi´). Attenzione, cercate di
collegare Arduino sempre nella stessa porta (soprattutto con Windows); se cambiate USB,
cambierà anche la porta COM.
      

 

O  O 
O
   
O   

Donwload ed installazione:
-Scaricare il software dal sito www.processing.org
-Scaricare ProcessingExamples.zip dal sito del professore o dal sito
www.sensibilab.campuspoint.polimi.it nella categoria Arduino sotto la sezione download.

Procediamo con l¶installazione:


1)Unzip Processing.zip, non necessita di
installazione.
1)Unzip ProcessingExample.zip nella cartella
Processing/examples/
3)Eseguire l¶IDE Processing

O  O 
O
   
 

Donwload ed installazione:
-Scaricare il software dal sito http://fritzing.org/
-Scaricare FritzingCircuits.zip dal sito del professore o dal sito
www.sensibilab.campuspoint.polimi.it nella categoria Arduino sotto la sezione download.

Procediamo con l¶installazione:


1)Unzip Firtzing.zip, non necessita di installazione.
2)Cancellare il contenuto della cartella
Fritzing/sketches/
3)Unzip FritzingCircuits.zip nella cartella
Fritzing/sketches/
4)Eseguire Fritzing

O  O 
#

! 
"

Iniziamo«

Cosa occorre:
Example0

Scheda Arduino

O  O 
! 
" '
Il primo programma

$ %  
  
&

Tramite il menù file selezionare


Examples
Ŋ EsempiLezione
Ŋ Example0

O  O 
! 
" )
Integrated Development Environment (IDE(

L¶IDE Arduino è il *+


necessario per la generazione del
* + per il microcontrollore di
Arduino.

O  O 
! 
" À"

Il firmware Arduino deve essere


necessariamente composto
almeno da tre parti:

‡ La dichiarazione delle variabili.


‡ La funzione è  
‡ La funzione è 


O  O 
! 
" ÀÀ
Le parti principali del firmware

Le variabili vanno sempre dichiarate fuori da setup e loop in modo che


entrambe le funzioni (setup e loop) possano utilizzarle
La funzione è   è utilizzata per la configurazione iniziale di
arduino.

Questa funzione viene eseguita all¶accensione di arduino una sola volta.

La funzione è 
 viene eseguita immediatamente dopo la funzione
setup ed è continuamente rieseguita fino allo spegnimento o reset di Arduino.
In questa funzione vengono inserite le istruzioni per ciò che arduino deve
veramente fare (es. accendi led, scrivi sulla seriale«)

O  O 
! 
" À
Upload

Abbiamo creato il nostro primo Firmware, procediamo con la verifica del codice e
l¶Upload su Arduino
Questo firmware non fa nulla in quanto sia la funzione setup che la funzione loop sono
vuote.
Nota: Se una riga è preceduta da // diventa un commento e non viene eseguita
da Arduino.
Upload del
codice su
Arduino

Verifica del
codice

Memoria
occupata dal
programma

O  O 
, 
   ÀJ

Durante l¶upload del firmware, se tutto avviene correttamente, i led TX e RX ed il led


L cominceranno a lampeggiare sino a programmazione completata.

O  O 
À

! 
À

Accendiamo il led sulla scheda

Cosa serve:
Example1

Arduino

O  O 
! 
À À
Accendiamo un led

$ %  -  
!. 
À

Con questa riga diamo il valore 13 al


nome ledPin.

Indichiamo ad Arudino che il suo pin


13 (ledPin) è un pin di uscita
(OUTPUT)

Accendiamo il led sul pin 13

O  O 
! 
À À
Il led

Arduino incorpora sulla scheda un LED di test collegato al pin 13. Il led è
indicato sulla scheda con la lettera L.
Per utilizzare questo led non occorre nient¶altro che la scheda Arduino.

O  O 
À#

! 


Facciamo ³blinkare´ un led esterno

Presentazione Frizing

Cosa serve:
Example 2_1
Example 2_2

Scheda Arduino
Breadboard
Una resistenza
Un Led
1 filo lungo
1 fili di lunghezza media

O  O 
! 
 À'
Collegando i componenti

Per creare un prototipo, Arduino deve essere collegato a sensori, attuatori


e altri componenti creando un circuito elettronico.

Per prototipare utilizziamo la Breadboard

O  O 
! 
 À)
Breadboard

‡ Permette di creare circuiti senza saldare.


‡ Permette di riconfigurare e cambiare il circuito velocemente.
La breadboard è composta da 4 aree.
‡ Le due più esterne servono solitamente per l¶alimentazione e sono
collegate tutte orizzontalmente.
‡ Le due più interne servono per i collegamenti tra i componenti e sono
collegate verticalmente.

O  O 
  "
http://fritzing.org/

Per realizzare il prototipo useremo i componenti e la Ô Ô , ma prima


possiamo creare il nostro circuito virtualmente con  

O  O 
  À

Qui sono presenti


Apriamo Fritzing molti dei componenti
più utilizzati,
compresa la scheda
arduino.

In questa parte
metteremo i
componenti
necessari al nostro
circuito e tracceremo
i collegamenti come
se lo stessimo
faceno con
componenti veri.

O  O 
  
Il circuito virtuale

Proviamo a creare il circuito virtuale pe l¶accensione del led esterno con arduino.
1) Inseriamo Arduino. Selezioniamo a destra la scehda arduino e trasciniamola nel riquadro di
sinistra.

O  O 
  J
Il circuito virtuale

2) Ora ci occorrono una resistenza e un led. Troviamo anche questi nei componenti a destra e
trasciniamoli nel riquadro di sinistra.

O  O 
  
Il circuito virtuale

3) Abbiamo tutti i componenti che ci servono, dobbiamo ora piazzarli nella breadboard ed
effettuare i collegmaenti.

O  O 
  
Il circuito virtuale

4) Il circuito è fatto, ma visto così è molto confuso. Possiamo cambiare colore ai fili cliccandoci
sopra con il tasto destro e scegliendone il colore o aggiungere delle curve ai fili in modo che non
si sovrappongano troppo (clicchiamoci sopra con il tasto sinistro e trascinando il filo).

O  O 
  
Il circuito virtuale

Eccol il risultato finale.

O  O 
  #
Aggiungere componenti

Nel software sono già presenti molti componenti e altri se ne trovano in


internet.
Le realizzazione di nuovi componenti è tuttavia semplicissima perché
necessità della realizzazione di tre file svg:
1.La vista per la prototipazione virtuale
2.Il disegno per lo schema elettrico
3.Footprint per PCB

O  O 
! 
 '
Costruiamo il circuito

Costruiamo ora il circuito disegnato


con fritzing con componenti reali.

ATTENZIONE: Il led ha un anodo (+)


ed un catodo (-). Il catodo è il piedino
più corto e va collegato sotto la
resistenza; l¶anodo va collegato tramite
il filo lungo al pin 13 di Arduino.

O  O 
! 
 )
Perché la resistenza

Perché non colleghiamo direttamente il led tra il pin 13 e gnd?

Il led necessita di circa 1,ÎV e 1ÎmA.

Arduino fornisce ÎV.

Se lo colleghiamo direttamente il led brucerebbe in pochi minuti.

3,ÎV

ÎV
1,ÎV
1ÎmA

O  O 
! 
 J"
Il valore della resistenza

Il valore della resistenza è calcolato con la formula:

R = (VArduino ± Vled) / Iled = (ÎV ± 1,Î V) / 10mA = 3Î0ȍ

Se volessimo collegare più led la formula sarà:

R = (VArduino ± (n>LED * Vled)) / Iled


Si nota quindi che al massimo con aduino possiamo collegare 3 led in serie
sullo stesso pin.

O  O 
! 
 JÀ
Accendiamo un led

$ %  -  
!. 
/À

La dichiarazione delle variabili e la


funzione void setup() è identica a
quella dell¶esercizio 1:
- Utilizziamo solo il pin 13 come
uscita.

La funzione loop ha invece tre


istruzioni in più:


 
Implementa una pasua di 1000ms



 
Spegne il led

O  O 
! 
 J
Non esiste solo un modo per fare le cose

$ %  -  
!. 
/

Il codice è molto diverso da quello


dell¶esempio precedente, ma Arduino
fa esattamente la stessa cosa.

  

 
Time restituisce da quanto tempo è acceso Arduino.




 
 
Questa linea di codice fa il così detto TOGGLE

Se il led è acceso lo spegne, se è spento lo accende.


Il punto esclamativo è l¶operatore NOT, posto davanti ad
uno stato (HIGH o LOW) ne fa il contrario.

O  O 
JJ

! 
J0 
-- 1

Accendiamo il led esterno con un pulsante

Cosa serve:
example 3_1
example 3_2

Scheda Arduino
Circuito Esempio 2
Un pulsante
Una resistenza
Un filo corto
Un filo di lunghezza media
Un filo lungo

O  O 
! 
J J
Costruiamo il circuito

Costuriamo il circuito come riportato


qui sotto.

Il pulsante non ha un verso, va


montato a cavallo della linea centrale
della breadboard.

O  O 
! 
J J
Il firmware

$ %  -  
!. 
J/À

Dichiariamo che il bottone sarà


collegato al pin 2

Il pin due è quindi impostato come


ingresso.

Leggiamo lo stato dell¶interruttore e


cambiamo lo stato del led attraverso
la riga di TOGGLE vista in
Example2_2

O  O 
! 
J J
Un po¶ di interattività« pulsante e led.

Cosa succede quando premo il pulsante?


Quando il pulsante viene premuto il contatto non
viene semplicemente chiuso ma, a causa di
microvibrazioni, continua ad aprirsi e chiudersi per
qualche decimo di secondo.

Queste continue aperture e chiusure impediscono


di controllare in maniera chiara l¶accensione e lo
spegnimento del led.
Il problema viene risolto con il così detto 2
 

O  O 
! 
J J#
Debounce o Antirimbalzo
$ %  -  
!. 
J/
L¶antirimbalzo è così strutturato

O  O 
! 
J J'
Debounce o Antirimbalzo

L¶anti-rimbalzo lascia passare almeno


30ms prima di ritenere valido un
cambiamento di stato del bottone.

ATTENZIONE: Se modifichiamo il
valore di DebounceDelay per esempio
a 1000, Arduino accetterà la
pressione del pulsante solo una volta
al secondo.

O  O 
|      J)
La filosofia opensource

OK, l¶esempio di prima è un po¶ complesso ma«


« non occorre saper programmare per utilizzare Arduino.

Sono infatti presenti online molti siti, blog, forum in cui altri mettono a disposizione la loro
esperienza, i loro circuiti ed i loro programmi.

| 

   * *  3




O  O 
"

! 


Regoliamo l¶intensità di un led

Cosa serve:
example 4_0
example 4_1
example 4_2

Scheda Arduino
Circuito Esempio 3
Un pulsante
Una resistenza
Un filo corto
Un filo lungo

O  O 
! 
 À
Costruiamo il circuito

Costuriamo il circuito come


riportato qui sotto.

ATTENZIONE: Il led non va più


collegato al pin 13 ma al pin
11. Ci serve un IO con PWM.

O  O 
! 
 
Costruiamo il circuito

Le I/O Digital con PWM sono


indicate con una tacchetta
sotto al numero del pin.

Sono 11, 10, 9, 6, Î e 3

O  O 
! 
 J
Il firmware

$ %  -  
!. 
/"

Dichiariamo che il led questa volta è


collegato al pin 11

Scriviamo un valore analogico al sul


pin 11. Il valore che possiamo
scrivere non è più solo HIGH e LOW
come nel caso di 

ma un valore tra 0 e 2ÎÎ;

0 ß 0V
128 ß 2,ÎV
2ÎÎ ß ÎV
Cambiando questo valore possiamo
cambiare la luminosità del led.

O  O 
! 
 
Il firmware
Abbiamo tuttavia inserito nel circuito due pulsanti che non utilizziamo

$ %  -  
!. 
/À

Questo esempio permette di modificare la luminosità del LED cliccando i due pulsanti.
Il pulsante collegato al pin 2 aumenta la luminosità.
Il pulsante collegato al pin 4 diminuisce la luminosità.

Il firmware è abbastanza complesso ed è composto da 3 parti:

1) Controllo il pulsante sul pin 2 (con anti-rimbalzo) e se premuto eseguo




2) Controllo il pulsante sul pin 4 (con anti-rimbalzo) e se premuto eseguo


3) Scrivo il valore di ledValue sul pin 11 con la funzione 



 e

  rispettivamente incrementano e decrementano il valore
ledValue di uno.

O  O 
! 
 
Il firmware
Complichiamo un po¶ il tutto

$ %  -  
!. 
/

Si nota subito a prima vista la complessità di questo firmware.


Abbiamo infatti aggiunto:
1) I contolli sul valore massimo e minimo da scrivere sul pin 11. Se infatti continuiamo a fare


 o

 il valore potrebbe non essere più tra 0 e 2ÎÎ. In questo caso
il led si illumierà in modo errato.

2) Far cambiare la luminostià del led in questo modo è lunghissimo. Abbiamo quindi aggiunto
un controllo che varia velocemente la luminosità del led se il pulsante viene premuto per
più di due secondi.

O  O 


! 
 

Regoliamo l¶intensità di un led con una resistenza variabile

Cosa serve:
example 4bis

Scheda Arduino
Circuito Esempio 4
Una resistenza variabile
Due fili corti
Un filo lungo

O  O 
! 
  #
Costruiamo il circuito

Costuriamo il circuito come


riportato qui sotto.

ATTENZIONE: Il led non va più


collegato al pin 13 ma al pin
11. Ci serve un IO con PWM.

O  O 
|          '

il piedino centrale corrisponde ad un cursore che si muove lungo una resistenza.

Collegando una resistenza variabile tra 0 e ÎV, sul piedino centrale avremo un valore di
tensione che va da 0 a ÎV a seconda della posizione del cursore.

E¶ il così detto partitore di tensione; il resistore variabile può essere visto come due resistenza
collegate attraverso il piedino centrale:

@@ × 

Vout è la tensione sul piedino centrale.

O  O 
! 
  )
Il firmware

$ %  -  
!. 
 

Dichiariamo che la resistenza


variabile è collegata al pin Î

Leggiamo il valore analogico:



  
 
Restituisce il valore letto sul pin Î
come valore tra 0 e 1024;

0 ß 0V
Î12 ß 2,ÎV
1024 ß ÎV
Il valore letto viene scritto sul pin 11.
Dobbiamo dividere per 4 perché
analogWrite accetta solo valori tra 0
e 2ÎÎ (vedi esempio 4).
O  O 
"

! 
0 
- 

Facciamo suonare un Buzzer

Cosa serve:
exampleÎ
exampleÎINNO

Scheda Arduino
Circuito Esempio 4bis
Buzzer o altoparlante

O  O 
! 
 À
Costruiamo il circuito

O  O 
! 
 
Il firmware

$ %  -  
!. 


Dichiariamo che il buzzer è collegato


al pin 8

Due nuove funzioni,   e  ! 

  "## $%  


Suona una nota di frequenza $% e
durata  sul buzzer collegato al pin
"##.

 !  "## 
Ferma il tono generato in precedenza
dalla funzione  .

O  O 
! 
 J
Un po¶ di musica

E se volessimo suonare una canzone con più note?

$ %  -  
!. 
4

In questo esempio abbiamo utilizzato un file esterno: note.h»

Il comando X&
 ' () '
Permette di inserire all¶interno di un progetto un altro file. Con questa operazione è come se
copiassimo l¶intero contenuto del file nella posizione dove è presente il comando.

In questo modo abbiamo inserito le note (con le relative frequenze), le durate e le pause della
nostra canzone.

Solitamente questa operazione viene utilizzata:


‡per includere file contenenti dei dati/valori;
‡per includere ed utilizzare una libreria esterna.

In questo modo il firmware risulta più leggibile ed i file possono essere riutilizzati in altri progetti
senza la necessità di riscriverli.
O  O 
! 
4 
Il firmware

Notiamo che le operazioni da fare


sono inserite nella funzione setup, la
funzine loop è vuota. Questo
significa che queste operazioni
verranno eseguite una sola volta
immediatamente dopo il reset.

Si nota anche un nuovo tab.

Viene generato premendo il pulsante a


destra.
Serve per includere nuovi file nel
progetto.

O  O 


! 


Comunichiamo con il computer: inviamo dati

Cosa serve:
example6

Scheda Arduino
Circuito Esempio Î

O  O 
! 
 
$   

Arduino comunica con il PC attraverso una porta seriale virtuale (COM) via USB.

Attraverso questa porta è possibile inviare/ricevere dati al/dal PC:


‡ per scambiare informazioni;
‡ per debuggare.

Alcune volte è necessario controllare se i dati che Arduino


sta utilizzando sono quelli corretti. Per fare ciò occorre
leggerli in qualche modo e visualizzarli fermando
l¶esecuzione del programma. Questo non è possibile nel IDE
Arduino a meno di utilizzare la comunicazione seriale.

O  O 
! 
 #
Il firmware

$ %  -  


Dobbiamo indicare ad Arduino di


utilizzare la seriale e a quale
velocità.

à
(
 
 * 

Scrive sulla porta seriale il valore letto dalla


resistenza variabile utilizzata nell¶esempio 4bis.

O  O 
! 
 '
$   

I dati inviati possono essere visualizzati tramite il Serial Monitor.

Apre serial monitor

O  O 
)

! 
# '

Comunichiamo con Processing


Presentazione Processing

Software Processing

O  O 
O   "

E¶ un linguaggio di programmazione basato su Java che consente di sviluppare diverse


applicazioni come giochi, animazioni e contenuti interattivi.
É distribuito sotto licenza Open Source ed è supportato dai sistemi operativi GNU/Linux, Mac OS
X e Windows.

L¶ambiente di sviluppo è molto simile ad Arduino, così come il linguaggio di programmazione


utilizzato, molto  
 ,  e   .

O  O 
À

! 
"O  

4 

 

Cosa serve:
example0

O  O 
! 
" 
Il primo programma

$ %  
  
&

Tramite il menù file selezionare


Examples
Ŋ EsempiLezione
Ŋ Example0

O  O 
    J

La struttura del codice è molto


simile ad Arduino:
$ %  -  
!. 
"
   
 
        
 Ô 
 
         !

   
    "    #
   $ %
-    & 
- &   
- '
—

   
  (   ) 
  
   !
—

O  O 


! 
ÀO  

Disegniamo un quadrato

Cosa serve:
example1.1
example1.2

O  O 
! 
À&4    
Disegno di un rettangolo

$ %  -  
!. 
À/À

Queste tre funzioni vanno sempre inserite


all¶interno di  per inizializzare il
programma.

à#++  imposta la larghezza


della finestra a 400x400 pixel.

 )  attiva filtro antialiasing

, &-  .//.//.//  imposta


lo sfondo bianco

O  O 
! 
À&4   
Disegno di un rettangolo

Y 
   
Disegna rettangolo con l¶angolo in alto a sinistra in
posizione x,y e di dimensione width e height
   Colore interno al
rettangolo
Y   Colore del contorno
Y  
 Spessore del bordo
Y  Nessun bordo
  Nessuno colore di riempimento

La posizione X e Y in pixel partono


dall¶angolo in alto a sinistra.

O  O 
! 
À& #
Altre forme

Proviamo con altre forme:


  
   
0  0. .

Y    

O  O 
! 
À/À& '
Esercizio

Disegnamo ora in una finestra di 400x400 quattro quadrati dello stesso colore (blue) su sfondo
bianco.
Carichiamo l¶esempio Example1_2.

O  O 
)

! 
O  

Un po¶ di interattività: il mouse

Cosa serve:
example2_1
example2_2

O  O 
! 
 #"
Il mouse

ë      

 *  +%sono variabili che


contengono la posizione del mouse!

 *, +% $  &  


    !

-
    
 Ô
   &    $  
 !

.    !

Se inseriamo , &-  nella funzione


 1, la finestra viene continuamente
cancellata.

Y      


# 
 &    ,    

  $$ $   !

O  O 
! 
&
- 1 #À

$ %  -  
!. 
/

Esistono quattro funzioni che vengono


eseguite quando una delle azioni del
mouse si verifica; sono utilizzate come la
funzione draw e setup.

 2
&-  ß Mouse premuto e
rilasciato
   ß Mouse premuto
(posso controllare quale tasto tramite
mouseButton)
 3   ß Un tasto è premuto
ed il mouse è mosso
 4 è  ß Il mouse è mosso
 
   ß Il tasto
precedentemente premuto è rilasciato

Premendo il tasto destro lo sfondo


cambia colore.
O  O 
#

! 
JO  

Un po¶ di interattività: la tastiera

Cosa serve:
example3

O  O 
! 
J&
- 1 #J
Funzioni di input: m  
ë      

 %contiene l¶ultimo tasto premuto

- 2 : se viene premuto un tasto


speciale (freccette, alt, ctrl e shift) la variabile
key avrà il valore CODED. Keycode conterrà
invece il tasto premuto (UP,DOWN«)

Come per il mouse esistono funzioni speciali


per controllae quando un tasto viene
premuto:

-  ß Un tasto è premuto


- 
  ß Un tasto premuto è
rilasciato

O  O 
! 
J #

!. 
J

A seconda di che tasto viene premuto la


forma cambia colore:
b = blue;
n = nero;
r = rosso;
g = giallo;
v = verde;
w = bianco.

Se premo le frecce la forma si sposta a


seconda della direzione premuta.

O  O 
#

! 
O  

Inseriamo un¶immagine

Cosa serve:
example4

O  O 
! 
 #
Inseriamo un¶immagine

$ %  -  
!. 


Dichiarazione della variabile immagine;

Carica l¶immagine (! &, !/ , ! , ! ) in


memoria

Visualizza l¶immagine caricata in a nella


posizione  5  6 con dimensione
5  6(

à   $$( Ô   


  &   ,    #
     ( Ô!

.      0 


&&    &$   
  
        !

O  O 
##

! 
O  

Inseriamo il testo

Cosa serve:
exampleÎ

O  O 
!. 
 #'
Scrivere con Processing

Carichiamo l¶esempio ExampleÎ

Generiamo un font attraveso il tool apposito:

Menù Tools
Ŋ Create Font«

O  O 
!. 
 #)
Scrivere con Processing

$ %  -  
 !. 


Caricare il font

Settare il font da utilizzare e la dimensione

Settare il colore della scritta

Scrivere

O  O 
'"

! 
 O  

Suoni

Cosa serve:
example6.1
example6.2

O  O 
! 
 'À
Let¶s play some music

$ %  -  
 !. 

Importiamo libreria esterna

Dichiariamo un oggetto per


l¶audio e uno per caricare l¶mp3

Inizializziamo l¶oggetto minim e


carichiamo il file mp3.

Inizia l¶esecuzione del file mp3

Chiude la libreria e ferma il suono alla


chiusura del programma. Va sempre
messo per evitare errori.

La libreria può inoltre essere utilizzata anche


per registrare e modificare in real-time un
segnale audio.

O  O 
! 
 '
Tastiera e musica con un po¶ di grafica

$ %  -  
 !. 


In questo esempio la libreria audio viene utilizzata per eseguire un file mp3 con voce, mentre nel
frattempo viene disegnata una linea che segue l¶ampiezza della forma d¶onda sonora dell¶mp3.

O  O 
'J

! 
#O  

Altre funzioni interessanti

Cosa serve:
example7

O  O 
|  *   
 '

Processing può essere anche usato per generare PDF, DXF, visualizzare webcam, visualizzare
elementi 3d (file obj, 3ds«).
$   -  
!. 
#

Sul sito di processing e direttamente nell¶IDE sono a disposizione molti esempi e tutorial per
l¶utilizzo di processing.

Una lista delle funzioni fino a qui utilizzate più molte altre può essere trovata all¶indirizzo:
http://processing.org/reference/

OpenProcessing mette ha disposizione spazio online per lo scambio di sketch processing. Il sito
contiene molti sketch funzionanti dai quali potete prendere spunto per realizzare i vostri
software.
http://www.openprocessing.org/

O  O 
'

! 
#

Comunichiamo con Processing: riceviamo dati dal pc

Cosa serve:
x Arduino
example7
x Processing
example7_Arduino

Scheda Arduino
Circuito Esempio Î

O  O 
! 
#2 |  '
Ricevere dati ± Lato Arduino

$ %  -  
!. 
#

56    &
ë     
  1ë

  Y !Y 
 ""#$$$
ë   
   
       ,   Ô
   !

O  O 
! 
#2 |  '#
Ricevere dati ± Lato Arduino

Caricato il firmware in Arduino possiamo testarlo con il serial monitor

Scriviamo qui il carattere da


inviare.

Premere Send per inviare.


Se inviamo k il LED cambia
stato, per ogni altro carattere
non cambia nulla.

O  O 
$  | 2O   ''
Ricevere dati - Lato processing

$   -  
!. 
#/| 

 

Tutto quello che Arduino scrive deve essere


compreso da Processing. Per tale ragione la
velocità della seriale e il formato dei dati
trasmessi e ricevuti dovrà essere il
medesimo.

Processing usa una libreria esterna, occorre


importarla con il comando:
   &(
(7

Occorre poi creare l¶oggetto seriale con il


comando: à
  

Nella funzione è  àdi processing


occorre quindi inizializzare la seriale con
velocità e nome porta corretti.

    1 à
) 8249:
è
&; 

O  O 
$  | 2O   ')
Ricevere dati - Lato processing

La finestra di processing si presenterà tutta


nera ma alla pressione del tasto sinistro del
mouse il led di Arduino si accende.

O  O 
)"

! 
'

Comunichiamo con Processing: trasmettiamo dati a processing

Cosa serve:
x Arduino
example6
x Processing
example8 _Arduino

Scheda Arduino
Circuito Esempio Î

O  O 
! 
'2 |  )À
Inviare dati ± Lato Arduino

$ %  -  
!. 

57   &

 Y !Y %Y 
à
      ,   
      
  
 &   
 
  
       2!

. ,  )   


 )     
      , )    
  !

O  O 
! 
#2 |  )
Inviare dati ± Lato Arduino

Caricato il firmware in Arduino possiamo testarlo con il serial monitor

Ricevere i dati e visualizzarli in questo


modo non è tuttavia molto utile. Sarebbe
preferibile una visualizzazione tramite
grafici.

O  O 
! 
'2 |  )J
Inviare dati ± Lato Processing

$ %  -  
!. 
'/| 

 

La funzione  1 è vuota.

Tutte le operazioni sono eseguite dalla funzione



<èà
   

Questa funzione viene chiamata tutte le volte


che la seriale riceve un dato.

Nella funzione il dato viene letto fino a che non


viene ricevuto il carattere a capo \n»

Il dato letto (tra 0 e 1024) viene converti tra 0 e


l¶altezza della finestra per essere disegnato.

Successivamente si disegna una linea che va dal


valore precedente a quello appena letto.

L¶ultima parte serve per resettare il grafico


quando si raggiunge il fondo.

O  O 
$  | 2O   )
Lato Processing

Andando a variare la resistenza variabile


collegata ad Arduino, il valore letto viene
riportato come grafico su processing.

O  O 
 & )

Arduino Playground: http://www.arduino.cc/playground/

Freeduino (the best): http://www.freeduino.org/

Instructables: http://www.instructables.com/

Sparkfun: http://www.sparkfun.com

Make magazine: http://makezine.com/

Hack n mod: http://hacknmod.com

CircuitLake: http://www.circuitlake.com

NuElectronics: http://www.nuelectronics.com

Seeduino: http://www.seeedi.com/warehouse/

O  O 
| %  )

Gli shield di Arduino sono circuiti già montati e testati che possono essere direttamente collegati
con arduio.
Hanno svariate funzioni tra le quali:
- GPS
- GSM/GPRS
- BLUETOOTH
- Motori
- Audio/MP3
- Display Oled
- Ethernet
- USB
«
Per qualsiasi problema o difficolta:
1. googlate
2. Mandatemi una mail: paolo.perego@polimi.it

Buon divertimento

O  O