Académique Documents
Professionnel Documents
Culture Documents
O
|
O O
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.
O
O
O
|
Step 2
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.
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.
O
O
#
!
"
Iniziamo«
Cosa occorre:
Example0
Scheda Arduino
O
O
!
" '
Il primo programma
$ %
&
O
O
!
" )
Integrated Development Environment (IDE(
O
O
!
" À"
O
O
!
" ÀÀ
Le parti principali del firmware
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
O
O
À
!
À
Cosa serve:
Example1
Arduino
O
O
!
À À
Accendiamo un led
$ %
-
!.
À
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
À#
!
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
O
O
!
À)
Breadboard
O
O
"
http://fritzing.org/
O
O
À
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
O
O
#
Aggiungere componenti
O
O
!
'
Costruiamo il circuito
O
O
!
)
Perché la resistenza
3,ÎV
ÎV
1,ÎV
1ÎmA
O
O
!
J"
Il valore della resistenza
O
O
!
JÀ
Accendiamo un led
$ %
-
!.
/À
Implementa una pasua di 1000ms
Spegne il led
O
O
!
J
Non esiste solo un modo per fare le cose
$ %
-
!.
/
Time restituisce da quanto tempo è acceso Arduino.
Questa linea di codice fa il così detto TOGGLE
O
O
JJ
!
J0
-- 1
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
O
O
!
J J
Il firmware
$ %
-
!.
J/À
O
O
!
J J
Un po¶ di interattività« pulsante e led.
O
O
!
J J#
Debounce o Antirimbalzo
$ %
-
!.
J/
L¶antirimbalzo è così strutturato
O
O
!
J J'
Debounce o Antirimbalzo
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
Sono infatti presenti online molti siti, blog, forum in cui altri mettono a disposizione la loro
esperienza, i loro circuiti ed i loro programmi.
|
O
O
"
!
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
O
O
!
Costruiamo il circuito
O
O
!
J
Il firmware
$ %
-
!.
/"
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à.
e
rispettivamente incrementano e decrementano il valore
ledValue di uno.
O
O
!
Il firmware
Complichiamo un po¶ il tutto
$ %
-
!.
/
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
!
Cosa serve:
example 4bis
Scheda Arduino
Circuito Esempio 4
Una resistenza variabile
Due fili corti
Un filo lungo
O
O
!
#
Costruiamo il circuito
O
O
|
'
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:
@@ ×
O
O
!
)
Il firmware
$ %
-
!.
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
-
Cosa serve:
exampleÎ
exampleÎINNO
Scheda Arduino
Circuito Esempio 4bis
Buzzer o altoparlante
O
O
!
À
Costruiamo il circuito
O
O
!
Il firmware
$ %
-
!.
! "##
Ferma il tono generato in precedenza
dalla funzione .
O
O
!
J
Un po¶ di musica
$ %
-
!.
4
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.
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
O
O
!
Cosa serve:
example6
Scheda Arduino
Circuito Esempio Î
O
O
!
$
Arduino comunica con il PC attraverso una porta seriale virtuale (COM) via USB.
O
O
!
#
Il firmware
$ %
-
à
(
*
O
O
!
'
$
O
O
)
!
# '
Software Processing
O
O
O "
O
O
À
!
"O
4
Cosa serve:
example0
O
O
!
"
Il primo programma
$ %
&
O
O
J
" #
$%
- &
- &
- '
( )
!
O
O
!
ÀO
Disegniamo un quadrato
Cosa serve:
example1.1
example1.2
O
O
!
À&4
Disegno di un rettangolo
$ %
-
!.
À/À
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
O
O
!
À& #
Altre forme
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
Cosa serve:
example2_1
example2_2
O
O
!
#"
Il mouse
-
Ô
& $
!
O
O
!
&
- 1 #À
$ %
-
!.
/
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
!
JO
Cosa serve:
example3
O
O
!
J&
- 1 #J
Funzioni di input: m
ë
O
O
!
J #
!.
J
O
O
#
!
O
Inseriamo un¶immagine
Cosa serve:
example4
O
O
!
#
Inseriamo un¶immagine
$ %
-
!.
O
O
##
!
O
Inseriamo il testo
Cosa serve:
exampleÎ
O
O
!.
#'
Scrivere con Processing
Menù Tools
Ŋ Create Font«
O
O
!.
#)
Scrivere con Processing
$ %
-
!.
Caricare il font
Scrivere
O
O
'"
!
O
Suoni
Cosa serve:
example6.1
example6.2
O
O
!
'À
Let¶s play some music
$ %
-
!.
À
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
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
'
!
#
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
O
O
$ | 2O ''
Ricevere dati - Lato processing
$
-
!.
#/|
1
à
)
8249:
è
&;
O
O
$ | 2O ')
Ricevere dati - Lato processing
O
O
)"
!
'
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
O
O
!
'2 | )J
Inviare dati ± Lato Processing
$ %
-
!.
'/|
La funzione 1 è vuota.
O
O
$ | 2O )
Lato Processing
O
O
& )
Instructables: http://www.instructables.com/
Sparkfun: http://www.sparkfun.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