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 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
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 definizione 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?
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
schematics Analog reference pin Digital ground Digital pins 2-13 Serial In / Out USB connection Power status LED External Power / USB Power switch Reset button External Power supply input Power and Ground pins Analog input pins 0-5
DIGITAL vs ANALOG
definizione Digitale - può assumere due valori, 1 e 0, acceso o spento Analogico - può assumere molti (infiniti) 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 allʼinterno di un range schematic drawing - la rappresentazione grafica di un circuito elettrico
ARDUINO I/O
sensori
attuatori
PROGRAMMARE
programmare...
JAVA
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
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 ufficiale, 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
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 About Face 3: The Essentials Of Interaction Design, Alan Cooper, Robert Reimann and Dave Cronin, Wiley Publishing, link
the end!