Introduzione Arduino Maffucci
Introduzione Arduino Maffucci
Introduzione Arduino Maffucci
Arduino
Prof. Michele Maffucci
Model Expo Italy - Verona 21/22 febbraio 2015
CC-BY-SA
Introduzione all’uso di Arduino
Comprendere
l’universo
Arduino
in 90 minuti
Questa presentazione, nata in occasione del Workshop organizzato dal FabLab di Brescia per il
ModelExpo 2015, vuole essere un’introduzione all’uso di Arduino e ben si adatta a tutti i maker,
studenti ed adulti, che per passione nell’elettronica necessitano di un’introduzione che potrà poi
portare, dopo un’approfondita sperimentazione, a sviluppare progetti di automazione anche nel
campo del modellismo.
In questa esposizione troverete le linee guida che potranno condurvi alla strutturazione di un
vostro percorso di apprendimento in modo che possiate raggiungere le competenze necessarie
per lo sviluppo dei vostri progetti.
I contenuti esposti sono un estratto di quanto scritto in occasione dei miei corsi presso scuole, centri di
formazione e FabLab, ulteriori approfondimenti e risorse a questo presentazione possono essere trovate
sul mio sito personale dove potrete seguire corsi introduttivi all’uso di Arduino
http://www.maffucci.it/area-studenti/arduino/
Il codice e le slide utilizzate sono suscettibili di variazioni/correzioni che potranno essere fatte in ogni momento.
Argomenti
● Come incominciare
● Impostazione metodologica
● Cos'è Arduino?
● Perché usare Arduino?
● Cosa posso fare con Arduino
● Competenze di base - dove imparo l'elettronica e l'elettrotecnica
○ siti
○ libri per chi incomincia
○ libri per approfondire
● Competenze di base - dove imparo a programmare
○ libri - esercizi - videocorsi
● Dove imparo l'Alfabeto di Arduino
○ libri
○ corsi on-line
● Applicativi essenziali per lo studio e la progettazione
● Universo Arduino
● La scheda Arduino
● Terminologia essenziale
● Il software Arduino
● Comunicare con Arduino
● Programmazione
● Il primo programma
● Prodotti Arduino
● Quale scheda scegliere
● Costruirsi una scheda Arduino
● Estendere le funzionalità con gli shield
● Pensieri
Come
incominciare
Problema
1 non conosco l’elettronica
“Posso farcela?”
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
sì !
vediamo come...
Impostazione
metodologica
ERRORE!
frustazione ed abbandono
Obiettivi
1 costruire la competenza
2 trovare la soluzione al
proprio problema
Attegiamento sbagliato
!
voglio usare Arduino per
rilevare la temperatura
nelle camere, la
temperatura esterna e
comandare la centrale
termica dell’albergo ed
inoltre mi piacerebbe un
controllo via cellulare… ho
poche competenze in
elettronica e conosco poco
Arduino… come posso
fare? ”
…vediamo come
costruire un percorso
fatto di progressi, senza
pretendere la perfezione...
Soluzione:
Studiare e Costruire!
Le due componenti
NON sono disgiunte
Domanda:
“Cos’è Arduino?”
●
●
●
●
●
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
?
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
http://arduino.cc/en/Tutorial/Sweep http://arduino.cc/en/Tutorial/Knob#
Per il controllo del cursore del computer o il pilotaggio di altro dispositivo esterno
Competenze di base
Dove imparo
l’elettrotecnica
e l’elettronica?
Siti
Competenze di base
Dove imparo
a programmare
C
● Risorse web per imparare a programmare in C
C++
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
C
● Prof. Fulvio Corno
○ esercizi di programmazione in C
○ videocorso linguaggio C
● Programmazione e linguaggio C
C++
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
Competenze di base
Dove imparo
l’Alfabeto di Arduino
Libri
Corsi on-line
Un percorso che nasce per studenti della scuola superiore volto al miglioramento dell’attenzione e al
superamento delle difficoltà che si hanno nelle materie scientifiche.
Per rendere pratico l’utilizzo del manuale di riferimento è stata realizzata una versione portable per
dispositivi mobili iOS e Android, maggiori informazioni possono essere trovate seguendo il link.
Applicativi essenziali
per lo studio e la progettazione
Caratteristiche principali:
● interfaccia assolutamente user
friendly,
● facilità di connessione tra i vari
componenti,
● possibilità di rielaborare circuiti
pubblicati da altri utenti,
● possibilità di simulare nello stesso
progetto circuiti costituiti da
componenti digitali ed analogici,
● disegno di grafici
● i circuiti possono essere condivisi o
esportati in diversi formati.
Sublime Text is a sophisticated text editor for code, markup and prose.
You'll love the slick user interface, extraordinary features and amazing performance.
Universo Arduino
Un oggetto fisico
un’ambiente di sviluppo
(di programmazione)
La scheda Arduino
Arduino UNO R3
● Microcontroller: ATmega328
● Tensione di lavoro: 5V
● Tensione di ingresso (raccomandata):
7-12V
● Tensione di ingresso (limiti): 6-20V
● Pin digitalio I/O: 14 (di cui 6 forniscono
un'uscita PWM)
● Pin analogici: 6
● Corrente Continua per i pin I/O: 40 mA
● Corrente continua per l'uscita a 3.3V:
50 mA
● Flash Memory: 32 KB (ATmega328) di
cui 0.5 KB usata per bootloader
● SRAM: 2 KB (ATmega328)
● EEPROM: 1 KB (ATmega328)
● Velocità del clock: 16 MHz
Terminologia essenziale
sketch
il programma che scrivete e fate girare sulla scheda Arduino
pin
i connettori di input o output
digital
vuol dire che può assumere solo due valori: ALTO o BASSO, in altro
modo: ON/OFF oppure 0 o 1. Sequenza di numeri presi da un insieme
discreto di valori (nel nostro caso 0 o 1)
analog
quando i valori utili che rappresentano un segnale sono continui (infiniti)
Il software Arduino
software Arduino
IDE
● Simile ad un editor di
testo;
● potete scrivere,
visualizzare, verificare
la sintassi;
● potete trasferire il
vostro sketch sulla
scheda.
Windows
arduino.cc/windows
installazione per: Windows 7, Vista, e XP
Mac OS X
arduino.cc/mac
installazione per: OS X 10.5 e successive
Linux
arduino.cc/linux
installazione per: disponibile per moltissime distribuzioni Linux
Selezinate la scheda in vostro possesso, nel nostro caso Arduino Uno: Tools > Board > Arduino Uno
Selezionate la porta seriale da utilizzare per la comunicazione tra computer ed Arduino: Tools > Serial
port
Su Windows dovreste notare una o più porte COM, selezionate quella con numero più elevato, se non
dovesse funzionare provate con le altre proposte.
Su Linux (Ubuntu) dovreste vedere una ttyACM0. Per maggiori informazioni consultare la sezione
Arduino su Ubuntu su: www.maffucci.it/area-studenti/arduino/
Aprire lo sketch di esempio blink che fa lampeggiare il LED presente sulla scheda. Lo sketch può essere
aperto da: File > Examples > 01. Basics > Blink
Programmazione
Creare un
nuovo sketch
Aprire la
Serial monitor
Compilazione
(Verify)
Aprire una
nuova tab
Upload sulla
scheda
Salvare lo
sketch
Aprire uno
sketch
esistente
Area di status
Compila. Compilare vuol dire tradurre lo sketch in linguaggio macchina, detto anche codice oggetto
Esegui. uno sketch Arduino viene eseguito non appena termina la fase di upload sulla scheda
pinMode()
impostare un pin come input o come output
digitalWrite()
impostare un pin digitale a HIGH o LOW
digitalRead()
legge lo stato di un pin digitale
analogRead()
legge un pin analogico
analogWrite()
scrive in valore analogico
delay()
mette in attesa il programma per un determinato tempo
millis()
restituisce l’ora corrente (tempo di accensione di Arduino)
Il primo programma
A
Commento su più linee
B B
B Commento su una linea
B
B
B
B
identifica dove
; termina
un'istruzione
{
... identifica un blocco
di istruzioni
}
CC-BY-SA Prof. Michele Maffucci
Introduzione all’uso di Arduino
Struttura di base
Prodotti Arduino
KIT ACCESSORI
Ma quale scheda
scegliere per il mio
progetto?
http://arduino.cc/en/Products.Compare
http://arduino.cc/en/Main/Standalone
Estendere le funzionalità
con gli Shield
Gli shield sono schede elettroniche che si collegano (impilano) ad Arduino e permettono di aggiungere
funzionalità aggiuntive aumentando il livello di interazione con il mondo esterno. In commercio esiste
una vastissima gamma di shiled, ma l’utente è libero di realizzarne di personali, saldando i
componenti su basette millefori predisposte ho realizzando pcb ad hoc.
L’insuccesso nel proprio “programma di apprendimento” accade perché non vengono incluse
le librerie (funzioni operative) necessarie per affrontare risolvere i problemi.
in altro modo:
www.maffucci.it
michele@maffucci.it
www.twitter.com/maffucci/
www.facebook.com/maffucci.it/
plus.google.com/+MicheleMaffucci/
it.linkedin.com/in/maffucci
Licenza presentazione: