ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer...

60
ARDUINO Workshop intensivo di Arduino NABA Febbraio 2012 http://arduinonaba2012.wordpress.com Alessandro Contini – [email protected]

Transcript of ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer...

Page 1: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

ARDUINOWorkshop intensivo di Arduino

NABAFebbraio 2012

http://arduinonaba2012.wordpress.com

Alessandro Contini – [email protected]

Page 2: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

disclaimer

In questo workshop si gioca(giocare = mettersi in gioco)

e si impara facendo!

Page 3: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

contesto

Page 4: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

TINKERING

Page 5: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 9: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

circuit bending

Page 12: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

mettere insieme i pezzi

Page 13: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

PERCHEʼ UN CORSO SU ARDUINO?

Page 15: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 16: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

il physical computing

Page 17: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

interaction design

Page 18: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

una definizione

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

Page 19: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

interaction design!

Page 20: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

COSA CI FACCIO CON ARDUINO?

Page 29: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

COSA Eʼ ARDUINO?

Page 30: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

definizione

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

- Arduino, sito internet

Page 31: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

...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

Page 32: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

in pratica

Hardware Software Community+ +

Page 33: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

CARATTERISTICHE TECNICHE

Page 34: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

comparazione tecnologica

ArduinoIBM 286

Page 35: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

schematics

Analog reference pin

Digital groundDigital pins 2-13

Serial In / Out

Power status LED

Reset button

Analog input pins 0-5Power and Ground pins

External Powersupply input

USB connection

External Power /USB Power

switch

Page 36: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

DIGITAL vs ANALOG

Page 37: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

definizione

Digitale - può assumere due valori, 1 e 0, acceso o spento

Analogico - può assumere molti (infiniti) valori

Page 38: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

esempio

Page 39: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 40: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

ARDUINO I/O

Page 41: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

sensori

Page 42: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

attuatori

Page 43: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

PROGRAMMARE

Page 46: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 47: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

sketch struttura

> variabili globali

> setup()

> loop()

~ inizializzazione~ definizione dei pin usati

~ corpo del programma~ contiene i comandi~ viene eseguito ripetutamente

Page 48: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

HELLO WORLD!

Page 49: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

blink a LED!

Page 50: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

blink a LED!

Page 52: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

COMUNICARE CON ALTRI SOFTWARE

Page 55: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

Processing

Page 56: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 57: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

RISORSE E STRUMENTI

Page 58: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 59: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

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

Page 60: ARDUINO - Alessandro Contini · 2012-02-13 · Arduino ed un software in esecuzione sul Computer Firmata library è una libreria nativa compresa nel software Arduino che implementa

the end!