Sei sulla pagina 1di 61

Arduino

NABA - Dipartimento di Design


Ottobre 2010

http://arduinonaba2010.wordpress.com
TINKERING
cosa vuol dire?

“Tinkering is what
happens when you try
something you donʼt quite
know how to do, guided by
whim, imagination and
curiosity”

- M. Banzi
tinkering
toy hacking
toy hacking
circuit bending
circuit bending
circuit bending
circuit bending
PERCHEʼ UN CORSO SU
ARDUINO?
il successo di Arduino
il successo di Arduino
il physical computing
“Physical Computing is about prototyping with
electronics, turning sensors, actuators and
microcontrollers into materials for designers and
artists.”

“It involves the design of interactive objects that


can communicate with humans using sensors
and actuators controlled by a behaviour
implemented as software running inside a
microcontroller.”

Massimo Banzi,Tinker.it & Arduino Co-Founder


il physical computing
COSA CI FACCIO CON
ARDUINO?
audio
visual
design
robot
fashion
diy, hacking, tinkering!
COSA Eʼ ARDUINO?
definizione

“Arduino è una
piattaforma di
prototipazione elettronica
open-source basata su
un connubio hardware e
software flessibile e
facile da utilizzare”

- Arduino, sito internet


...ovvero?
~ Arduino è un dispositivo programmabile
in grado di leggere, scrivere ed elaborare
dati da fonti esterne

~ Arduino è costituito da una scheda


prestampata dalle dimensioni ridotte che
permette di collegarlo ad un Computer
attraverso una porta USB

~ Arduino può essere programmato grazie


allʼutilizzo di un linguaggio di
programmazione simil-C attraverso
unʼambiente di sviluppo multi piattaforma
scaricabile gratuitamente

~ Arduino è destinato ad artisti, designer e


chiunque sia appassionato nel creare
oggetti ed ambienti interattivi
in pratica

Hardware + Software + Community


CARATTERISTICHE
TECNICHE
comparazione tecnologica

IBM 286 Arduino


specifiche tecniche

Arduino UNO (link)

~ ATmega328 microcontroller
~ 32 KB Flash program memory
~ 2 KB RAM
~ 16 MHz clock speed
~ INPUTS / OUTPUTS
› 13 digital input / output pins (6 PWM)
› 5 analog input pins
schematics
Digital ground Serial In / Out
Digital pins 2-13
Analog reference pin

Power status LED

USB connection

External Power /
USB Power
switch
Reset button

External Power
supply input
Power and Ground pins Analog input pins 0-5
glossario

“sketch” - un programma che viene eseguito


dal processore
“pin” - un Input o Output della scheda
“digital” - che può assumere due valori 1
(HIGH) o 0 (LOW)
“analog” - può assumere molti valori allʼinterno
di un range
“schematic drawing” - la rappresentazione
grafica di un circuito elettrico
ARDUINO I/O
sensori
attuatori
PROGRAMMARE
JAVA
C
sketch workflow

1. si scrive un programma

2. si compila il programma
(si fa un check degli
errori)

3. si carica il programma
nel microcontrollore
sketch struttura

> variabili globali

> setup()
~ inizializzazione
~ definizione dei pin usati

> loop()
~ corpo del programma
~ contiene i comandi
~ viene eseguito
ripetutamente
HELLO WORLD!
blink a LED!
blink a LED!
blink a LED!

link
DIGITAL vs ANALOG
definizione

Digitale - può assumere due valori, 1 e 0,


acceso o spento

Analogico - può assumere molti (infiniti)


valori
esempio
COMUNICARE CON ALTRI
SOFTWARE
Pure Data

Pduino - link
Processing

Arduino Processing library - link


Processing
Firmata

Firmata è un protocollo di comunicazione tra


Arduino ed un software in esecuzione sul
Computer

Firmata library è una libreria nativa compresa nel


software Arduino che implementa il protocollo di
comunicazione, in modo che non sia necessario
scrivere di volta in volta uno sketch Arduino, ma
comandare la scheda direttamente dal software in
esecuzione sul Computer
ELETTRONICA
Analogia
Circuito
Inizio Altezza di 5 (volt) metri

Stuff

Fine Piano terra (Ground)


Attuatori
Pin digitale Start

R Resistenza

Attuatore
-
Ground End
Sensore
Pin 5 Volt
+

Sensore
-

R Resistenza

Ground
Sensore
Pin 5 Volt
+

Sensore
- Pin D/A

R Resistenza

Ground
RISORSE E STRUMENTI
link utili

› Sito ufficiale, www.arduino.cc


› Forum di Arduino, www.arduino.cc/cgi-bin/yabb2/YaBB.pl
› Fritzing, http://fritzing.org

› Smart Projects, www.smartprj.com


› Sparkfun, www.sparkfun.com
› Adafruit, www.adafruit.com

› Top 40 Arduino projects, http://hacknmod.com/hack/


top-40-arduino-projects-of-the-web/
› Arduino Projects, http://arduino.org/m/articles/index/

› Processing, http://processing.org
› Pure Data, http://puredata.info
bibliografia

› Getting started with Arduino, M. Banzi, OʼReilly, link


› Making Things Talk, Tom Igoe, OʼReilly, link
› Make: Electronics, Charles Platt, OʼReilly, link
› Programming Interactivity, Joshua Noble, OʼReilly, link
the end!