SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
Introduzione all'uso
di Arduino
lezione 1
Corso di Alternanza Scuola Lavoro
a.s. 2010-2011
Prof. Michele Maffucci
Lezioni
Orario delle lezioni
Mercoledì
dalle ore 14:10 alle 16:10
Giovedì
dalle 13:10 alle 15:30
Le lezioni si svolgeranno fino a termine dell'anno scolastico.
Sono previsti due test (esami intermedi) che verranno effettuati a fine
aprile e a fine maggio, il voto dei test farà media con le esercitazioni di
sistemi.
Luogo delle lezioni
Laboratorio di Sistemi, presso la succursale dell'IPSIA G. Galilei
Michele Maffucci - Aprile 2011 - v.1.0
Materiali
• Software Arduino per Ubuntu, Mac OS X e Windows
• Scheda Arduino UNO e schede aggiuntive (shild),
componenti elettronici
• Codice sorgente prodotto in classe e reperito
on-line
• Documentazione su sito arduino.cc
• Manualistica ed appunti del docente reperibile sul
sito maffucci.it
Michele Maffucci - Aprile 2011 - v.1.0
Filosofia del corso
Sprimentazione, sperimentazione
e ancora sperimentazione...
con hardware e software.
Risoluzione di problemi pratici per giungere a
scoperte e soluzioni inaspettate costruendo
sistemi complessi unendo tra loro sistemi più
semplici.
Michele Maffucci - Aprile 2011 - v.1.0
Di cosa si parlerà in questo corso
In questo corso incominceremo ad imparare come si
costruiscono oggetti elettronici in grado di interagire
con gli esseri umani usando sensori ed attuatori
controllati da dispositivi elettronici, i
microcontrollori, che vengono programmati da
esseri umani.
Imparerete a comprendere come possa funzionare un
robot, un sistema GPS o ancora un sistema domotico.
Michele Maffucci - Aprile 2011 - v.1.0
Cosa faremo oggi
•Introduzione ad Arduino
•Riconoscimento degli elementi elettronici della scheda
•Uscite digitali ed analogiche
•Ingressi digitali
•Impostazione dell'ambiente di sviluppo Arduino
•Realizzazione del vostro primo sketch Arduino
•Accendiamo un LED e facciamolo lampeggiare
Michele Maffucci - Aprile 2011 - v.1.0
Cosa useremo oggi
•Arduino UNO
•Breadboard
•Cavo USB
•Diodo LED
•Pulsante
•Resistenza
•Filo elettrico
Michele Maffucci - Aprile 2011 - v.1.0
Cos’è Arduino?
Il mondo Arduino vuol dire
3 cose
Michele Maffucci - Aprile 2011 - v.1.0
Cos’è Arduino?
1/3
Un oggetto fisico
Michele Maffucci - Aprile 2011 - v.1.0
Cos’è Arduino?
2/3
Un’ambiente di sviluppo
Michele Maffucci - Aprile 2011 - v.1.0
Cos’è Arduino?
3/3
Una comunità ed una filosofia di sviluppo
Michele Maffucci - Aprile 2011 - v.1.0
in una sola frase:
Una piattaforma
Open Source
di
Physical Computing
Cos’è Arduino?
Michele Maffucci - Aprile 2011 - v.1.0
Open Source
libero di usare e
modificare
Cos’è Arduino?
Michele Maffucci - Aprile 2011 - v.1.0
Physical Computing
Un piccolo computer che
potete programmare e far
interagire con altri dispositivi
Cos’è Arduino?
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino si presente in molte configurazioni hardware
ma tutte fanno uso di un microcontrollore di tipo:
AVR ATmega168
AVR ATmega328
AVR ATmega2560
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino UNO
fonte fotografia: arduino.ccfonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino SMD
fonte fotografia: arduino.ccfonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Mega 2560
fonte fotografia: arduino.ccfonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino BT (Bluetooth)
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Mini
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Nano
fonte fotografia: arduino.ccfonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
LilyPad Arduino
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Fio
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Pro
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Arduino Pro Mini
fonte fotografia: arduino.cc
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
In questo corso useremo
Arduino UNO
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Caratteristiche tecniche
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage
(recommended)
7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Michele Maffucci - Aprile 2011 - v.1.0
Hardware Arduino
Riconosciamo le parti fondamentali della scheda
pin di input/output digitale
ATmega328
USB
LED
RX/TX
input analogici
LED test
sul pin 13
Pulsante di
reset
Alimentazione
esterna
Power
LED
Alimentazione
e masa
Regolatore di
tensione
Michele Maffucci - Aprile 2011 - v.1.0
Terminologia
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
analog
quando i valori utili che rappresentano un segnale sono
continui (infiniti)
Michele Maffucci - Aprile 2011 - v.1.0
Il software
•Simile ad editor di testo;
•potete scrivere,
visualizzare, verificare la
sintassi;
•potete trasferire il vostro
sketch sulla scheda.
Michele Maffucci - Aprile 2011 - v.1.0
Il software
L’ambiente di sviluppo viene comunemente chiamato Arduino e ciò può trarre
in confusione, perché molto spesso si identifica con Arduino anche la scheda
hardware
In queste lezioni per indicare l’ambiente di sviluppo software useremo le
parole:
software Arduino
o con stesso significato
IDE
dove l’acronimo IDE indica: Integrated Development Enviroment,
in italiano: ambiente di sviluppo integrato per la realizzazione di programmi.
Precisazioni
Michele Maffucci - Aprile 2011 - v.1.0
Installare Arduino
1. prelevare il software Arduino dal sito arduino.cc
2. collegate la scheda Arduino al computer
3. installare i driver
4. riavviate il computer
5. avviare il software Arduino
6. scrivere uno sketch
7. eseguire lo sketch facendo l’upload sulla scheda
Arduino
Fasi di installazione
Michele Maffucci - Aprile 2011 - v.1.0
Installare Arduino
1.Collegarsi al sito arduino.cc
2.nella sezione Getting Started selezionare il
sistema operativo (MacOS X, Linux,Windows) su cui
si desidera installare l’IDE e seguire i passi indicati.
per approfondimenti sull’installazione in ambiente
MacOS X o Ubuntu consultare la sezione Arduino del
sito maffucci.it
Installazione dell’IDE
Michele Maffucci - Aprile 2011 - v.1.0
Installare Arduino
La finestra di programmazione
Compilazione
(Verify)
Area di status
upload sulla
scheda
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione
Ciclo di sviluppo
edit compila upload esegui
Il ciclo di sviluppo consiste in queste 4 fasi:
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione
Scriviamo il nostro primo programma:
facciamo lampeggiare un LED
Lo sketch che vi consente di far lampeggiare un led, che chiamerebo blink, è
il primo programma che dovete realizzare per familiarizzare con l’ambiente
di sviluppo
PARTIAMO !
Sulla scheda è presente un
piccolo diodo LED indicato da
una “L” che utilizzeremo come
trasduttore per il nostro primo
programma
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Aprite il programma Arduino facendo doppio click sul file “arduino”
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Doppio click sul pulsante “Esegui”
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Se è la prima volta che avviate
il programma verrà
immediatamente aperto uno
sketch vuoto
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Aprite il vostro primo
sketch dal menù:
File > Examples >
1.Basics > Blink
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
sketch “Blink”
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Per chiarezza ho riscritto in italiano i commenti chiamando l’esempio “lampeggiatore led v01″
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Ora dovete verificare il vostro
programma facendo click su
“Verify” e se tutto è corretto
nella finestra in basso compare il
messaggio “Done compiling”
ciò indica che l’IDE ha tradotto il
vostro sketch in un programma
eseguibile sulla scheda Arduino.
1
2
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Ora dovete caricare sulla scheda il
vostro programma facendo click
su “Upload to I/O Board“, in
questo modo la scheda
interrompe l’esecuzione di ciò che
stava eseguendo, carica il nuovo
programma in memoria e lo
esegue.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Sulla scheda i led identificati con
RX e TX lampeggiano, ogni volta
che viene inviato un byte.
Durante la fase di uploading del
programma lampeggiano
velocemente.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Se non vi sono problemi
comparirà nella finestra in basso:
“Done uploading” e la
dimensione in byte dello sketch
trasferito sulla scheda
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - il primo programma
Se non vi sono problemi
comparirà nella finestra in basso:
“Done uploading” e la
dimensione in byte dello sketch
trasferito sulla scheda.
Al termine del trasferimento il
LED “L” comincerà a lampeggiare
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
1.in cima al programma troverete sempre le dichiarazione di variabili
2.setup() - inizializzazione dell’uso dei piedini (ingresso uscita) della
scheda
3.loop() - esecuzione, che funziona ripetutamente dopo aver eseguito il
setup()
La struttura di uno sketch
1
2
3
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
Cone le due barre “//” indichiamo l’inizio di un commento e il testo che
lo segue, in questo caso, identifica il titolo del nostro programma.
I commenti non servono per far funzionare il programma ma sono di
utilità al programmatore per dettagliare ad esempio il funzionament di
alcune parti.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
// Data ultima modifica: 16.11.2010
// Autore: Michele Maffucci
Molto spesso è importante indicare subito dopo il titolo, la data dell’ultima
variazione e il nome dell’autore, in modo che a distanza di tempo
possiamo identificare le versioni di sviluppo ed il nome dell’ultimo
programmatore che ha eseguito modifiche:
Ad esempio:
notate che ogni linea di commento deve essere preceduta da “//”
Se volete evitare di scrivere per ogni linea “//” potete far precedere il
testo commento dai caratteri “/*” e farlo concludere con i caratteri “*/”
Ad esempio:
/* Esempio 01: far lampeggiare un led
Data ultima modifica: 16.11.2010
Autore: Michele Maffucci */
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
#define consente di sostituire, in fase di compilazione, all’interno del
vostro programma il valore 13 ogni volta che compare la parola LED.
Vi ricordo che la compilazione avviene quando fate click su “Verify”
oppure quando effettuate l’upload sulla scheda.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
void indica ad Arduino che stiamo dichiarando una funzione di nome
setup(), cioè un porzione di codice che esegue un’operazione specifica
{
La parentesi graffa aperta indica dove incomincia il codice.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
pinMode è un’istruzione che dice adArduino come usare un determinato pin.
Tra parentesi tonde vengono specificati gli argomenti che possono essere numeri e
lettere.
I pin digitali possono essere utilizzati sia come INPUT che come OUTPUT.
Nel nostro caso poiché vogliamo far lampeggiare il diodo LED dobbiamo definire il
pin di OUTPUT.
Le parole INPUT e OUTPUT sono costanti definite,che non variano mai nel
linguaggio diArduino.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
La parentesi graffa chiusa indica la fine della funzione setup().
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
void loop() Indica la sezione di codice principale, il nucleo del vostro
programma, che verrà ripetuto all’infinito fino a quando non si spegne la
scheda.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
L’istruzione digitalWrite possiede due argomenti,il primo definisce il pin,il
secondo indica lo stato.
digitalWrite è un’istruzione in grado di impostare un pin definito come
OUTPUT ad un valore HIGH o ad un valore LOW,in modo più semplice
permette di accendere o spegnere un led connesso al pin specificato nel primo
argomento,nel nostro caso LED.
Tenete conto che dire che su un determinato pin vi è uno stato HIGHT,vuol dire
che su di esso è presente una tensione di +5V,mentre se lo stato e LOW vuol
dire che sul pin è presente una tensione di 0V. Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
delay() è un’istruzione molto semplice che non fa altro che
interrompere per un determinato tempo l’esecuzione del programma.
L’istruzione ha un solo argomento numerico che indica il numero di
millisecondi di attesa.
Nel nostro caso con “delay(1000)” diciamo che il programma deve
bloccarsi per 1000 millisecondi ovvero 1 secondo.
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
guardando insieme le due istruzioni,diciamo adArduino di accendere il diodo LED
sul pin 13 per 1 secondo
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - analizziamo il codice
// Esempio 01: far lampeggiare un led
#define LED 13 // LED collegato al pin digitale 13
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
}
void loop() {
digitalWrite(LED, HIGH); // accende il LED
delay(1000); // aspetta un secondo
digitalWrite(LED, LOW); // spegne il LED
delay(1000); // aspetta un secondo
}
guardando le ultime due istruzioni,diciamo adArduino di spegnere il diodo LED sul
pin 13 per 1 secondo
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione
Fasi di sviluppo
• scrivere uno sketch
• click su “Verify” per verificare
se sono presenti errori nel
programma
• click su “Upload” affinchè lo
sketch compilato venga
trasferito dal computer ed
eseguito
Michele Maffucci - Aprile 2011 - v.1.0
Note di utilizzo
Riavvio dello sketch
reset
Per riavviare il programma residente sulla
memoria della scheda premere il pulsante RESET
Michele Maffucci - Aprile 2011 - v.1.0
Note di utilizzo
Come spegnere la scheda
USB
Alimentazione
Per spegnere la scheda scollegare il cavo USB
oppure scollegare il connettore di alimentazione
Michele Maffucci - Aprile 2011 - v.1.0
Programmazione - esercizi
Eseguite ore questi 3 semplici esercizi:
1.variate il tempo di accensione e spegnimento, con tempi uguali di
accensione e spegnimento
2.variate il tempo di accensione e spegnimento, con tempi diversi di
accensione e spegnimento
3.provate ad eseguire il programma con tempi inferiori ai 500 millisecondi,
cosa succede?
Michele Maffucci - Aprile 2011 - v.1.0
Approfondimenti
Per approfondire gli argomenti trattati in questa
lezione, guarda anche le due lezioni on-line sul mio
sito:
•Arduino - lezione 01: Incominciamo con Arduino
•Arduino - lezione 02: facciamo lampeggiare un led
Michele Maffucci - Aprile 2011 - v.1.0
Arduino
Fine lezione 1
Grazie
Michele Maffucci
michele@maffucci.it
www.maffucci.it
Michele Maffucci - Aprile 2011 - v.1.0
Risorse
•arduino.cc
Sito ufficiale su cui potete trovare tutta la documentazione il forum e il
playground
•ladyada.net/learn/arduino/
Ottimo sito su cui si possono trovare interesanti tutorial
•todbot.com/blog/category/arduino/
Filmati, trucchi e tutorial sull’uso di Arduino
•todbot.com/blog/bionicarduino/
Bionic Arduino – Introduction to Microcontrollers with Arduino.
Ottimo corso sull’uso di Arduino preso ad esempio per la realizzazione di
questa dispensa.
Michele Maffucci - Aprile 2011 - v.1.0
Licenza
This opera is licensed under a
Creative Commons Attribuzione - Non commerciale - Condividi
allo stesso modo 2.5 Italia License.
Michele Maffucci - Aprile 2011 - v.1.0

Weitere ähnliche Inhalte

Was ist angesagt?

Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduinoguest01fc9d
 
Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino MicrocontrollerShyam Mohan
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshopDaniele Iori
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino3D Print Barcelona
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoOmer Kilic
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Oscar Pastrana
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingEmmanuel Obot
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusainstudent
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoRichard Rixham
 
Introduccion a arduino 97
Introduccion a arduino 97Introduccion a arduino 97
Introduccion a arduino 97Pedro Cuadros
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduinoyeokm1
 

Was ist angesagt? (20)

Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
ARDUINO CORSO BASE
ARDUINO CORSO BASEARDUINO CORSO BASE
ARDUINO CORSO BASE
 
Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino Microcontroller
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Arduino presentation
Arduino presentationArduino presentation
Arduino presentation
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and Programming
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusain
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino presentation
Arduino presentationArduino presentation
Arduino presentation
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduccion a arduino 97
Introduccion a arduino 97Introduccion a arduino 97
Introduccion a arduino 97
 
What is Arduino ?
What is Arduino ?What is Arduino ?
What is Arduino ?
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 

Ähnlich wie Arduino lezione 01 - a.s 2010-2011

Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazioneFlaviano Fior
 
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11Ionela
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteMirco Sbrollini
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italyMichele Maffucci
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2CSP Scarl
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open HardwareStefano Sanna
 
Testing 2014-todi
Testing 2014-todiTesting 2014-todi
Testing 2014-todiCarla Sella
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Luigi Francesco Cerfeda
 
Corso multimedi ale
Corso multimedi aleCorso multimedi ale
Corso multimedi alealefix85
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2016
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
 

Ähnlich wie Arduino lezione 01 - a.s 2010-2011 (20)

Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazione
 
Arduino day 2017
Arduino day 2017Arduino day 2017
Arduino day 2017
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
 
Arduino day
Arduino dayArduino day
Arduino day
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Arduino ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincente
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open Hardware
 
Testing 2014-todi
Testing 2014-todiTesting 2014-todi
Testing 2014-todi
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
 
Corso multimedi ale
Corso multimedi aleCorso multimedi ale
Corso multimedi ale
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target Android
 

Mehr von Michele Maffucci

L'alfabeto di Scratch - lezione 3
L'alfabeto di Scratch - lezione 3L'alfabeto di Scratch - lezione 3
L'alfabeto di Scratch - lezione 3Michele Maffucci
 
L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2Michele Maffucci
 
L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1Michele Maffucci
 
Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Michele Maffucci
 
Il social learning con edmodo - versione 3
Il social learning con edmodo - versione 3Il social learning con edmodo - versione 3
Il social learning con edmodo - versione 3Michele Maffucci
 
Guida rapida DidUP- Prof. Maffucci Michele
Guida rapida DidUP- Prof. Maffucci MicheleGuida rapida DidUP- Prof. Maffucci Michele
Guida rapida DidUP- Prof. Maffucci MicheleMichele Maffucci
 
Starter kit del docente hi tech - v02
Starter kit del docente hi tech - v02Starter kit del docente hi tech - v02
Starter kit del docente hi tech - v02Michele Maffucci
 
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giù
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giùLa Flipped Classroom - Mettiamo la didattica tradizionale a testa in giù
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giùMichele Maffucci
 
Starter kit del docente hi tech
Starter kit del docente hi techStarter kit del docente hi tech
Starter kit del docente hi techMichele Maffucci
 
Corso di scratch - lezione 2
Corso di scratch - lezione 2Corso di scratch - lezione 2
Corso di scratch - lezione 2Michele Maffucci
 
Piano Didattico Personalizzato on-line (PDP on-line)
Piano Didattico Personalizzato on-line (PDP on-line)Piano Didattico Personalizzato on-line (PDP on-line)
Piano Didattico Personalizzato on-line (PDP on-line)Michele Maffucci
 
Corso di scratch - lezione 1
Corso di scratch - lezione 1Corso di scratch - lezione 1
Corso di scratch - lezione 1Michele Maffucci
 
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2Insegnare a progettare il proprio apprendimento con il coding - Lezione 2
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2Michele Maffucci
 
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Michele Maffucci
 
Il social learning con edmodo - versione 2
Il social learning con edmodo - versione 2Il social learning con edmodo - versione 2
Il social learning con edmodo - versione 2Michele Maffucci
 
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...Michele Maffucci
 
Didattica della robotica con lego nxt 2
Didattica della robotica con lego nxt 2Didattica della robotica con lego nxt 2
Didattica della robotica con lego nxt 2Michele Maffucci
 
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Michele Maffucci
 
Micro corso di scratch - per incominciare ad imparare a programmare
Micro corso di scratch - per incominciare ad imparare a programmareMicro corso di scratch - per incominciare ad imparare a programmare
Micro corso di scratch - per incominciare ad imparare a programmareMichele Maffucci
 
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Michele Maffucci
 

Mehr von Michele Maffucci (20)

L'alfabeto di Scratch - lezione 3
L'alfabeto di Scratch - lezione 3L'alfabeto di Scratch - lezione 3
L'alfabeto di Scratch - lezione 3
 
L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2
 
L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1L'alfabeto di Scratch - lezione 1
L'alfabeto di Scratch - lezione 1
 
Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03
 
Il social learning con edmodo - versione 3
Il social learning con edmodo - versione 3Il social learning con edmodo - versione 3
Il social learning con edmodo - versione 3
 
Guida rapida DidUP- Prof. Maffucci Michele
Guida rapida DidUP- Prof. Maffucci MicheleGuida rapida DidUP- Prof. Maffucci Michele
Guida rapida DidUP- Prof. Maffucci Michele
 
Starter kit del docente hi tech - v02
Starter kit del docente hi tech - v02Starter kit del docente hi tech - v02
Starter kit del docente hi tech - v02
 
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giù
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giùLa Flipped Classroom - Mettiamo la didattica tradizionale a testa in giù
La Flipped Classroom - Mettiamo la didattica tradizionale a testa in giù
 
Starter kit del docente hi tech
Starter kit del docente hi techStarter kit del docente hi tech
Starter kit del docente hi tech
 
Corso di scratch - lezione 2
Corso di scratch - lezione 2Corso di scratch - lezione 2
Corso di scratch - lezione 2
 
Piano Didattico Personalizzato on-line (PDP on-line)
Piano Didattico Personalizzato on-line (PDP on-line)Piano Didattico Personalizzato on-line (PDP on-line)
Piano Didattico Personalizzato on-line (PDP on-line)
 
Corso di scratch - lezione 1
Corso di scratch - lezione 1Corso di scratch - lezione 1
Corso di scratch - lezione 1
 
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2Insegnare a progettare il proprio apprendimento con il coding - Lezione 2
Insegnare a progettare il proprio apprendimento con il coding - Lezione 2
 
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
 
Il social learning con edmodo - versione 2
Il social learning con edmodo - versione 2Il social learning con edmodo - versione 2
Il social learning con edmodo - versione 2
 
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...
Insegnare a progettare il proprio apprendimento. Migliorare le competenze mat...
 
Didattica della robotica con lego nxt 2
Didattica della robotica con lego nxt 2Didattica della robotica con lego nxt 2
Didattica della robotica con lego nxt 2
 
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
 
Micro corso di scratch - per incominciare ad imparare a programmare
Micro corso di scratch - per incominciare ad imparare a programmareMicro corso di scratch - per incominciare ad imparare a programmare
Micro corso di scratch - per incominciare ad imparare a programmare
 
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
 

Kürzlich hochgeladen

La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 

Kürzlich hochgeladen (8)

La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 

Arduino lezione 01 - a.s 2010-2011

  • 1. Introduzione all'uso di Arduino lezione 1 Corso di Alternanza Scuola Lavoro a.s. 2010-2011 Prof. Michele Maffucci
  • 2. Lezioni Orario delle lezioni Mercoledì dalle ore 14:10 alle 16:10 Giovedì dalle 13:10 alle 15:30 Le lezioni si svolgeranno fino a termine dell'anno scolastico. Sono previsti due test (esami intermedi) che verranno effettuati a fine aprile e a fine maggio, il voto dei test farà media con le esercitazioni di sistemi. Luogo delle lezioni Laboratorio di Sistemi, presso la succursale dell'IPSIA G. Galilei Michele Maffucci - Aprile 2011 - v.1.0
  • 3. Materiali • Software Arduino per Ubuntu, Mac OS X e Windows • Scheda Arduino UNO e schede aggiuntive (shild), componenti elettronici • Codice sorgente prodotto in classe e reperito on-line • Documentazione su sito arduino.cc • Manualistica ed appunti del docente reperibile sul sito maffucci.it Michele Maffucci - Aprile 2011 - v.1.0
  • 4. Filosofia del corso Sprimentazione, sperimentazione e ancora sperimentazione... con hardware e software. Risoluzione di problemi pratici per giungere a scoperte e soluzioni inaspettate costruendo sistemi complessi unendo tra loro sistemi più semplici. Michele Maffucci - Aprile 2011 - v.1.0
  • 5. Di cosa si parlerà in questo corso In questo corso incominceremo ad imparare come si costruiscono oggetti elettronici in grado di interagire con gli esseri umani usando sensori ed attuatori controllati da dispositivi elettronici, i microcontrollori, che vengono programmati da esseri umani. Imparerete a comprendere come possa funzionare un robot, un sistema GPS o ancora un sistema domotico. Michele Maffucci - Aprile 2011 - v.1.0
  • 6. Cosa faremo oggi •Introduzione ad Arduino •Riconoscimento degli elementi elettronici della scheda •Uscite digitali ed analogiche •Ingressi digitali •Impostazione dell'ambiente di sviluppo Arduino •Realizzazione del vostro primo sketch Arduino •Accendiamo un LED e facciamolo lampeggiare Michele Maffucci - Aprile 2011 - v.1.0
  • 7. Cosa useremo oggi •Arduino UNO •Breadboard •Cavo USB •Diodo LED •Pulsante •Resistenza •Filo elettrico Michele Maffucci - Aprile 2011 - v.1.0
  • 8. Cos’è Arduino? Il mondo Arduino vuol dire 3 cose Michele Maffucci - Aprile 2011 - v.1.0
  • 9. Cos’è Arduino? 1/3 Un oggetto fisico Michele Maffucci - Aprile 2011 - v.1.0
  • 10. Cos’è Arduino? 2/3 Un’ambiente di sviluppo Michele Maffucci - Aprile 2011 - v.1.0
  • 11. Cos’è Arduino? 3/3 Una comunità ed una filosofia di sviluppo Michele Maffucci - Aprile 2011 - v.1.0
  • 12. in una sola frase: Una piattaforma Open Source di Physical Computing Cos’è Arduino? Michele Maffucci - Aprile 2011 - v.1.0
  • 13. Open Source libero di usare e modificare Cos’è Arduino? Michele Maffucci - Aprile 2011 - v.1.0
  • 14. Physical Computing Un piccolo computer che potete programmare e far interagire con altri dispositivi Cos’è Arduino? Michele Maffucci - Aprile 2011 - v.1.0
  • 15. Hardware Arduino Arduino si presente in molte configurazioni hardware ma tutte fanno uso di un microcontrollore di tipo: AVR ATmega168 AVR ATmega328 AVR ATmega2560 Michele Maffucci - Aprile 2011 - v.1.0
  • 16. Hardware Arduino Arduino UNO fonte fotografia: arduino.ccfonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 17. Hardware Arduino Arduino SMD fonte fotografia: arduino.ccfonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 18. Hardware Arduino Arduino Mega 2560 fonte fotografia: arduino.ccfonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 19. Hardware Arduino Arduino BT (Bluetooth) fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 20. Hardware Arduino Arduino Mini fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 21. Hardware Arduino Arduino Nano fonte fotografia: arduino.ccfonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 22. Hardware Arduino LilyPad Arduino fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 23. Hardware Arduino Arduino Fio fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 24. Hardware Arduino Arduino Pro fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 25. Hardware Arduino Arduino Pro Mini fonte fotografia: arduino.cc Michele Maffucci - Aprile 2011 - v.1.0
  • 26. Hardware Arduino In questo corso useremo Arduino UNO Michele Maffucci - Aprile 2011 - v.1.0
  • 27. Hardware Arduino Caratteristiche tecniche Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz Michele Maffucci - Aprile 2011 - v.1.0
  • 28. Hardware Arduino Riconosciamo le parti fondamentali della scheda pin di input/output digitale ATmega328 USB LED RX/TX input analogici LED test sul pin 13 Pulsante di reset Alimentazione esterna Power LED Alimentazione e masa Regolatore di tensione Michele Maffucci - Aprile 2011 - v.1.0
  • 29. Terminologia 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 analog quando i valori utili che rappresentano un segnale sono continui (infiniti) Michele Maffucci - Aprile 2011 - v.1.0
  • 30. Il software •Simile ad editor di testo; •potete scrivere, visualizzare, verificare la sintassi; •potete trasferire il vostro sketch sulla scheda. Michele Maffucci - Aprile 2011 - v.1.0
  • 31. Il software L’ambiente di sviluppo viene comunemente chiamato Arduino e ciò può trarre in confusione, perché molto spesso si identifica con Arduino anche la scheda hardware In queste lezioni per indicare l’ambiente di sviluppo software useremo le parole: software Arduino o con stesso significato IDE dove l’acronimo IDE indica: Integrated Development Enviroment, in italiano: ambiente di sviluppo integrato per la realizzazione di programmi. Precisazioni Michele Maffucci - Aprile 2011 - v.1.0
  • 32. Installare Arduino 1. prelevare il software Arduino dal sito arduino.cc 2. collegate la scheda Arduino al computer 3. installare i driver 4. riavviate il computer 5. avviare il software Arduino 6. scrivere uno sketch 7. eseguire lo sketch facendo l’upload sulla scheda Arduino Fasi di installazione Michele Maffucci - Aprile 2011 - v.1.0
  • 33. Installare Arduino 1.Collegarsi al sito arduino.cc 2.nella sezione Getting Started selezionare il sistema operativo (MacOS X, Linux,Windows) su cui si desidera installare l’IDE e seguire i passi indicati. per approfondimenti sull’installazione in ambiente MacOS X o Ubuntu consultare la sezione Arduino del sito maffucci.it Installazione dell’IDE Michele Maffucci - Aprile 2011 - v.1.0
  • 34. Installare Arduino La finestra di programmazione Compilazione (Verify) Area di status upload sulla scheda Michele Maffucci - Aprile 2011 - v.1.0
  • 35. Programmazione Ciclo di sviluppo edit compila upload esegui Il ciclo di sviluppo consiste in queste 4 fasi: Michele Maffucci - Aprile 2011 - v.1.0
  • 36. Programmazione Scriviamo il nostro primo programma: facciamo lampeggiare un LED Lo sketch che vi consente di far lampeggiare un led, che chiamerebo blink, è il primo programma che dovete realizzare per familiarizzare con l’ambiente di sviluppo PARTIAMO ! Sulla scheda è presente un piccolo diodo LED indicato da una “L” che utilizzeremo come trasduttore per il nostro primo programma Michele Maffucci - Aprile 2011 - v.1.0
  • 37. Programmazione - il primo programma Aprite il programma Arduino facendo doppio click sul file “arduino” Michele Maffucci - Aprile 2011 - v.1.0
  • 38. Programmazione - il primo programma Doppio click sul pulsante “Esegui” Michele Maffucci - Aprile 2011 - v.1.0
  • 39. Programmazione - il primo programma Se è la prima volta che avviate il programma verrà immediatamente aperto uno sketch vuoto Michele Maffucci - Aprile 2011 - v.1.0
  • 40. Programmazione - il primo programma Aprite il vostro primo sketch dal menù: File > Examples > 1.Basics > Blink Michele Maffucci - Aprile 2011 - v.1.0
  • 41. Programmazione - il primo programma sketch “Blink” Michele Maffucci - Aprile 2011 - v.1.0
  • 42. Programmazione - il primo programma Per chiarezza ho riscritto in italiano i commenti chiamando l’esempio “lampeggiatore led v01″ Michele Maffucci - Aprile 2011 - v.1.0
  • 43. Programmazione - il primo programma Ora dovete verificare il vostro programma facendo click su “Verify” e se tutto è corretto nella finestra in basso compare il messaggio “Done compiling” ciò indica che l’IDE ha tradotto il vostro sketch in un programma eseguibile sulla scheda Arduino. 1 2 Michele Maffucci - Aprile 2011 - v.1.0
  • 44. Programmazione - il primo programma Ora dovete caricare sulla scheda il vostro programma facendo click su “Upload to I/O Board“, in questo modo la scheda interrompe l’esecuzione di ciò che stava eseguendo, carica il nuovo programma in memoria e lo esegue. Michele Maffucci - Aprile 2011 - v.1.0
  • 45. Programmazione - il primo programma Sulla scheda i led identificati con RX e TX lampeggiano, ogni volta che viene inviato un byte. Durante la fase di uploading del programma lampeggiano velocemente. Michele Maffucci - Aprile 2011 - v.1.0
  • 46. Programmazione - il primo programma Se non vi sono problemi comparirà nella finestra in basso: “Done uploading” e la dimensione in byte dello sketch trasferito sulla scheda Michele Maffucci - Aprile 2011 - v.1.0
  • 47. Programmazione - il primo programma Se non vi sono problemi comparirà nella finestra in basso: “Done uploading” e la dimensione in byte dello sketch trasferito sulla scheda. Al termine del trasferimento il LED “L” comincerà a lampeggiare Michele Maffucci - Aprile 2011 - v.1.0
  • 48. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } 1.in cima al programma troverete sempre le dichiarazione di variabili 2.setup() - inizializzazione dell’uso dei piedini (ingresso uscita) della scheda 3.loop() - esecuzione, che funziona ripetutamente dopo aver eseguito il setup() La struttura di uno sketch 1 2 3 Michele Maffucci - Aprile 2011 - v.1.0
  • 49. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } Cone le due barre “//” indichiamo l’inizio di un commento e il testo che lo segue, in questo caso, identifica il titolo del nostro programma. I commenti non servono per far funzionare il programma ma sono di utilità al programmatore per dettagliare ad esempio il funzionament di alcune parti. Michele Maffucci - Aprile 2011 - v.1.0
  • 50. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led // Data ultima modifica: 16.11.2010 // Autore: Michele Maffucci Molto spesso è importante indicare subito dopo il titolo, la data dell’ultima variazione e il nome dell’autore, in modo che a distanza di tempo possiamo identificare le versioni di sviluppo ed il nome dell’ultimo programmatore che ha eseguito modifiche: Ad esempio: notate che ogni linea di commento deve essere preceduta da “//” Se volete evitare di scrivere per ogni linea “//” potete far precedere il testo commento dai caratteri “/*” e farlo concludere con i caratteri “*/” Ad esempio: /* Esempio 01: far lampeggiare un led Data ultima modifica: 16.11.2010 Autore: Michele Maffucci */ Michele Maffucci - Aprile 2011 - v.1.0
  • 51. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } #define consente di sostituire, in fase di compilazione, all’interno del vostro programma il valore 13 ogni volta che compare la parola LED. Vi ricordo che la compilazione avviene quando fate click su “Verify” oppure quando effettuate l’upload sulla scheda. Michele Maffucci - Aprile 2011 - v.1.0
  • 52. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } void indica ad Arduino che stiamo dichiarando una funzione di nome setup(), cioè un porzione di codice che esegue un’operazione specifica { La parentesi graffa aperta indica dove incomincia il codice. Michele Maffucci - Aprile 2011 - v.1.0
  • 53. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } pinMode è un’istruzione che dice adArduino come usare un determinato pin. Tra parentesi tonde vengono specificati gli argomenti che possono essere numeri e lettere. I pin digitali possono essere utilizzati sia come INPUT che come OUTPUT. Nel nostro caso poiché vogliamo far lampeggiare il diodo LED dobbiamo definire il pin di OUTPUT. Le parole INPUT e OUTPUT sono costanti definite,che non variano mai nel linguaggio diArduino. Michele Maffucci - Aprile 2011 - v.1.0
  • 54. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } La parentesi graffa chiusa indica la fine della funzione setup(). Michele Maffucci - Aprile 2011 - v.1.0
  • 55. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } void loop() Indica la sezione di codice principale, il nucleo del vostro programma, che verrà ripetuto all’infinito fino a quando non si spegne la scheda. Michele Maffucci - Aprile 2011 - v.1.0
  • 56. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } L’istruzione digitalWrite possiede due argomenti,il primo definisce il pin,il secondo indica lo stato. digitalWrite è un’istruzione in grado di impostare un pin definito come OUTPUT ad un valore HIGH o ad un valore LOW,in modo più semplice permette di accendere o spegnere un led connesso al pin specificato nel primo argomento,nel nostro caso LED. Tenete conto che dire che su un determinato pin vi è uno stato HIGHT,vuol dire che su di esso è presente una tensione di +5V,mentre se lo stato e LOW vuol dire che sul pin è presente una tensione di 0V. Michele Maffucci - Aprile 2011 - v.1.0
  • 57. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } delay() è un’istruzione molto semplice che non fa altro che interrompere per un determinato tempo l’esecuzione del programma. L’istruzione ha un solo argomento numerico che indica il numero di millisecondi di attesa. Nel nostro caso con “delay(1000)” diciamo che il programma deve bloccarsi per 1000 millisecondi ovvero 1 secondo. Michele Maffucci - Aprile 2011 - v.1.0
  • 58. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } guardando insieme le due istruzioni,diciamo adArduino di accendere il diodo LED sul pin 13 per 1 secondo Michele Maffucci - Aprile 2011 - v.1.0
  • 59. Programmazione - analizziamo il codice // Esempio 01: far lampeggiare un led #define LED 13 // LED collegato al pin digitale 13 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } guardando le ultime due istruzioni,diciamo adArduino di spegnere il diodo LED sul pin 13 per 1 secondo Michele Maffucci - Aprile 2011 - v.1.0
  • 60. Programmazione Fasi di sviluppo • scrivere uno sketch • click su “Verify” per verificare se sono presenti errori nel programma • click su “Upload” affinchè lo sketch compilato venga trasferito dal computer ed eseguito Michele Maffucci - Aprile 2011 - v.1.0
  • 61. Note di utilizzo Riavvio dello sketch reset Per riavviare il programma residente sulla memoria della scheda premere il pulsante RESET Michele Maffucci - Aprile 2011 - v.1.0
  • 62. Note di utilizzo Come spegnere la scheda USB Alimentazione Per spegnere la scheda scollegare il cavo USB oppure scollegare il connettore di alimentazione Michele Maffucci - Aprile 2011 - v.1.0
  • 63. Programmazione - esercizi Eseguite ore questi 3 semplici esercizi: 1.variate il tempo di accensione e spegnimento, con tempi uguali di accensione e spegnimento 2.variate il tempo di accensione e spegnimento, con tempi diversi di accensione e spegnimento 3.provate ad eseguire il programma con tempi inferiori ai 500 millisecondi, cosa succede? Michele Maffucci - Aprile 2011 - v.1.0
  • 64. Approfondimenti Per approfondire gli argomenti trattati in questa lezione, guarda anche le due lezioni on-line sul mio sito: •Arduino - lezione 01: Incominciamo con Arduino •Arduino - lezione 02: facciamo lampeggiare un led Michele Maffucci - Aprile 2011 - v.1.0
  • 65. Arduino Fine lezione 1 Grazie Michele Maffucci michele@maffucci.it www.maffucci.it Michele Maffucci - Aprile 2011 - v.1.0
  • 66. Risorse •arduino.cc Sito ufficiale su cui potete trovare tutta la documentazione il forum e il playground •ladyada.net/learn/arduino/ Ottimo sito su cui si possono trovare interesanti tutorial •todbot.com/blog/category/arduino/ Filmati, trucchi e tutorial sull’uso di Arduino •todbot.com/blog/bionicarduino/ Bionic Arduino – Introduction to Microcontrollers with Arduino. Ottimo corso sull’uso di Arduino preso ad esempio per la realizzazione di questa dispensa. Michele Maffucci - Aprile 2011 - v.1.0
  • 67. Licenza This opera is licensed under a Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 2.5 Italia License. Michele Maffucci - Aprile 2011 - v.1.0