Sei sulla pagina 1di 60

ARDUINO

Workshop intensivo di Arduino NABA Febbraio 2012 http://arduinonaba2012.wordpress.com


Alessandro Contini alessandro.contini@docenti.naba.it

disclaimer

In questo workshop si gioca (giocare = mettersi in gioco) e si impara facendo!

contesto

TINKERING

cosa vuol dire?


Tinkering is what happens when you try something you dont quite know how to do, guided by whim, imagination and curiosity - M. Banzi

tinkering

toy hacking

toy hacking

circuit bending

circuit bending

circuit bending

mettere insieme i pezzi

PERCHE UN CORSO SU 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

interaction design

una denizione

Alan Cooper, Robert Reimann and Dave Cronin - About Face 3: The Essentials Of Interaction Design

interaction design!

COSA CI FACCIO CON ARDUINO?

audio

visual

design

exhibit

robot

fashion

diy, hacking, tinkering...

...fabbing!

COSA E ARDUINO?

denizione
Arduino una piattaforma di prototipazione elettronica open-source basata su un connubio hardware e software essibile 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 allutilizzo di un linguaggio di programmazione simil-C attraverso unambiente 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

schematics
Digital ground Digital pins 2-13 Analog reference pin Serial In / Out

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

DIGITAL vs ANALOG

denizione

Digitale - pu assumere due valori, 1 e 0, acceso o spento Analogico - pu assumere molti (inniti) valori

esempio

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 allinterno di un range schematic drawing - la rappresentazione graca di un circuito elettrico

ARDUINO I/O

sensori

attuatori

PROGRAMMARE

programmare...

JAVA

sketch workow
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 ~ denizione 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

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

RISORSE E STRUMENTI

link utili
Sito ufciale, www.arduino.cc Forum di Arduino, http://arduino.cc/forum/ 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

bibliograa
Getting started with Arduino, M. Banzi, OReilly, link Making Things Talk, Tom Igoe, OReilly, link Make: Electronics, Charles Platt, OReilly, link Programming Interactivity, Joshua Noble, OReilly, link About Face 3: The Essentials Of Interaction Design, Alan Cooper, Robert Reimann and Dave Cronin, Wiley Publishing, link

the end!