SlideShare a Scribd company logo
1 of 74
Download to read offline
ELECTRONICS LAB [WITH ARDUINO]
Daniele Costarella
Teatro Carlo Gesualdo / Casina Del Principe – Avellino – 28 > 31 agosto 2013
Salvatore Carotenuto
Rights to copy
Electronics LAB [with Arduino]28 > 31 agosto 2013 2
Attribution – ShareAlike 3.0 Unported
You are free:
● to Share - to copy, distribute and transmit the work
● to Remix – to adapt the work
Under the following conditions:
Attribution – You must attribute the work in the manner
specified by the authors.
Share Alike – If you alter, transform, or build upon this
work, you may distribute the resulting work only under the
same or similar license to this one.
Your fair use and other rights are in no way affected by the above.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.
Filosofia del corso
MAKE! MAKE! MAKE!
Electronics LAB [with Arduino]28 > 31 agosto 2013 3
Il programma di oggi
Mattina
• Presentazione del corso
• Microcontrollori e introduzione ad Arduino
• Elementi di programmazione
Pomeriggio
• Cenni di elettronica
• Primi passi con Arduino
Electronics LAB [with Arduino]28 > 31 agosto 2013 4
Di cosa parleremo?
In questo corso impareremo a costruire semplici oggetti
elettronici in grado di interagire con gli esseri umani usando
sensori e attuatori controllati da dispositivi elettronici.
Electronics LAB [with Arduino]28 > 31 agosto 2013 5
Cos'è Arduino?
Il mondo Arduino, fondamentalmente,
si compone di 3 componenti essenziali
Electronics LAB [with Arduino]28 > 31 agosto 2013 6
Cos'è Arduino?
1. Una scheda elettronica
Electronics LAB [with Arduino]28 > 31 agosto 2013 7
Cos'è Arduino?
1. Una scheda elettronica
2. Un ambiente di sviluppo
semplificato
Electronics LAB [with Arduino]28 > 31 agosto 2013 8
Cos'è Arduino?
1. Una scheda elettronica
2. Un ambiente di sviluppo
semplificato
3. Una filosofia e una
comunità enorme
Electronics LAB [with Arduino]28 > 31 agosto 2013 9
A cosa serve?
Con Arduino è possibile creare circuiti per molte
applicazioni nel campo della robotica, dell'automazione,
e nella realizzazione di effetti luminosi e sonori
E' inoltre un prodotto ideale per la protipazione rapida e
per l'apprendimento delle basi dell'elettronica
e della programmazione
Electronics LAB [with Arduino]28 > 31 agosto 2013 10
Perché Arduino?
Electronics LAB [with Arduino]
• Artisti e designer
• Progettisti elettronici
• Open source hardware
●
Open Source Physical Computing Platform
• Open source
●
Aperto a modifiche, schemi sempre disponibili
• Community
●
Wiki, forum, tutorial
28 > 31 agosto 2013 11
Physical Computing?!
Electronics LAB [with Arduino]
“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, Arduino Co-Founder
28 > 31 agosto 2013 12
CENNI DI ELETTRONICA
Segnali analogici e digitali
Electronics LAB [with Arduino]28 > 31 agosto 2013 14
Parleremo di “tensione” per indicare la
differenza tra il potenziale elettrico di due
punti dello spazio.
Una semplice analogia:
• Acqua ↔ Carica
• Pressione ↔ Tensione
• Flusso ↔ Corrente
Corrente, tensione e resistenza
Electronics LAB [with Arduino]28 > 31 agosto 2013 15
Possiamo pensare all’ammontare di acqua
che fluisce attraverso la condotta come la
“corrente” che scorre in cavo elettrico
Il nostro modello:
• Acqua ↔ Carica [Coulomb]
• Pressione ↔ Tensione [Volt]
• Flusso ↔ Corrente [Ampere]
• Ampiezza tubo ↔ Resistenza [Ohm]
Corrente, tensione e resistenza
Electronics LAB [with Arduino]28 > 31 agosto 2013 16
La “resistenza elettrica” è una
grandezza fisica che misura la tendenza
di un corpo ad opporsi al passaggio di
una corrente elettrica, quando sottoposto
a una tensione elettrica.
Il nostro modello:
• Acqua ↔ Carica [Coulomb]
• Pressione ↔ Tensione [Volt]
• Flusso ↔ Corrente [Ampere]
• Ampiezza tubo ↔ Resistenza [Ohm]
Corrente, tensione e resistenza
Electronics LAB [with Arduino]28 > 31 agosto 2013 17
Riconoscere i componenti
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Resistori
18
Cenni di elettronica
Resistori: codice colori
28 > 31 agosto 2013 Electronics LAB [with Arduino] 19
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Condensatori
20
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Diodi
21
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LED (Light Emitting Diode)
22
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Switch
23
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard ?!?
24
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard
Una breadboard (o anche detta basetta
sperimentale) è uno strumento utilizzato per
creare prototipi di circuiti elettrici.
Non richiede saldature ed è completamente
riusabile (è perciò utilizzata soprattutto per
circuiti temporanei).
25
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard: struttura
Tutte le breadboard hanno, generalmente, una struttura simile composta da
linee di trasmissione (strips) che consistono in collegamenti elettrici tra i fori.
Come in figura, si possono notare le linee di alimentazione, poste generalmente
ai lati e collegate lungo tutto l’asse, e le linee dedicate ai componenti, collegate
in posizione perpendicolare alle linee di alimentazione.
26
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard !!!
27
Arduino: “Studiamo” l'hardware
USB
LED
RX/TX
LED Test
(pin 13)
Alimentazione
esterna
ATmega328
Pin di in/out digitaliPulsante di
reset
Power LED
Alimentazioni e
massa
Input analogici
Electronics LAB [with Arduino]28 > 31 agosto 2013 28
Caratteristiche tecniche
Giffoni HackLAB 2013
Parametro Valore
Microcontrollore ATmega328
Tensione operativa 5 V
Tensione di ingresso (raccomandata) 7-12 V
Tensione di ingresso (Limiti) 6-20 V
Pin di I/O digitali 14 (di cui 6 PWM)
Pin di ingresso analogici 6
Corrente DC per i pin di I/O 40 mA
Corrente DC per i pin a 3.3V 50 mA
Memoria Flash 32 kB (ATmega328) di cui 0.5 usata per il
bootloader
SRAM 2 kB (ATmega 328)
EEPROM 1 kB (ATmega328)
Velocità del Clock 16 MHz
28 > 31 agosto 2013 29
Qualche termine strano
Giffoni HackLAB 2013
sketch
Il programma che scrivete e fate girare sulla scheda Arduino
pin
I connettori di input e output
digital
Vuol dire che può assumere solo due valori: ALTO o BASSO, ON o OFF
oppure 0 o 1
analog
Quando i valori utili che rappresentano i segnali sono continui (infiniti)
28 > 31 agosto 2013 30
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Leonardo
31
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Due
32
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino YUN
33
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Robot
34
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Esplora
35
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino ADK
36
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Ethernet
37
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Mega 2560
38
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Micro
39
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LillyPad Arduino USB LillyPad Arduino Simple
40
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LillyPad Arduino
SimpleSnap
LillyPad Arduino
41
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Pro Arduino Fio
42
Arduino: gli Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino] 43
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino GSM Shield
44
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Ethernet Shield
45
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino WiFi Shield
46
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino SD Shield
47
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Motor Shield
48
PRIMI PASSI CON ARDUINO
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione dell’ambiente di sviluppo
1. Scaricare l’IDE di Arduino dal sito web del progetto: arduino.cc
2. Collegare la board Arduino tramite il cavo USB
3. Installare i driver necessari
4. Riavviare il computer
5. Avviare il software di Arduino
50
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione dell’ambiente di sviluppo
●
Collegarsi al sito web del progetto:
arduino.cc
●
Nella sezione Getting Started
scegliere il sistema operativo in uso:
Windows, Mac OS X, Linux
●
Scaricare il software di Arduino
51
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione driver chip FTDI
●
Collegarsi al sito web del progetto:
www.ftdichip.com
●
Download dei driver adatti alla propria
piattaforma
●
Installare i driver
●
Riavviare il sistema
52
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Collegare la board
●
Collega Arduino al computer con un cavo USB
●
Un LED di colore verde (PWR) si accede quando la scheda è
alimentata correttamente
53
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Avvio dell'ambiente di sviluppo
54
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Impostazione dell’ambiente di lavoro: Tools > Board
55
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Impostazione dell’ambiente di lavoro: Tools > Serial Port
56
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
La semplice interfaccia
Verifica Carica Nuovo Apri Salva Monitor Seriale
57
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Il “ciclo” di sviluppo
58
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Esaminiamo, innanzitutto, un po’ di sintassi utile:
Simbolo Spiegazione
// Commento su una riga
Es. // questo è un commento
/* Inizio di un commento su più righe
*/ Chiusura di un commento su più
righe
void Dichiarazione di una funzione senza
nessun valore di ritorno: la funzione
esegue tutte le istruzioni senza
restituire alcun valore.
setup() E’ la funzione (obbligatoria in
Arduino) dedicata alle impostazioni
iniziali
59
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Esaminiamo, innanzitutto, un po’ di sintassi utile:
Simbolo Spiegazione
loop() Funzione obbligatoria in Arduino:
costituisce il loop principale del
programma
int Usato per dichiarare una variabile di
tipo integer (intero)
pinMode(pin, mode) Configurazione dei pin di Arduino
(INPUT o OUTPUT)
digitalWrite(pin, level) Comando di scrittura su un pin
digitale
delay(seconds) Funzione che introduce un’attesa
(espresso in millesimi di secondo)
60
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Un listato di esempio:
/* FLUSSI 2013 day 1
Esempio: lampeggio di un LED collegato al pin 13
*/
int ledPin = 13; // LED connesso al pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // configura il pin come output
}
void loop()
{
digitalWrite(ledPin, HIGH); // accende il LED
delay(1000); // attende un secondo (ossia 1000 millisecondi)
digitalWrite(ledPin, LOW); // spegne il LED
delay(1000); // attende un secondo prima di ripartire
}
61
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali: LED blinking
62
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali: lettura di un pulsante
63
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino] 64
Il costrutto if e if/else
Simbolo Spiegazione
if (condizione)
{
// esegue questo codice
// se la condizione è vera
}
Esecuzione condizionata: esegue un
blocco di codice se e solo se la
condizione espressa è verificata
if (condizione)
{
// esegue questo codice
// se la condizione è vera
}
else
{
// esegue questo codice
// se la condizione è falsa
}
Se la condizione è vera esegue un
blocco di codice; se la condizione non
è vera viene eseguito il codice del
blocco else
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali
Il costrutto if
/*
FLUSSI 2013 day 1:
Accendiamo il LED con un pulsante
*/
int led_pin = 13;
int button_pin = 8;
int state = 0;
int value = 0;
void setup()
{
pinMode(led_pin, OUTPUT);
pinMode(button_pin, INPUT);
}
[ Continua … ]
65
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali
void loop()
{
value = digitalRead(button_pin);
if (value == HIGH)
{
state = 1;
}
else
{
state = 0;
}
if (state == 1)
{
digitalWrite(led_pin, HIGH);
}
else
{
digitalWrite(led_pin, LOW);
}
}
66
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici
Il componente LDR (Light Dependent Resistor)
67
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino] 68
La funzione analogRead
Simbolo Spiegazione
int analogRead(pin)
Legge la tensione applicata al pin di
input analogico e restituisce un
numero compreso tra 0 e 1023 che
rappresenta una tensione tra 0 e 5V
val = analogRead(0)
Esempio: legge l'analog input 0 e
memorizza il risultato nella variabile
val
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici
Il componente LDR (Light Dependent Resistor)
69
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Lettura di un segnale analogico: LDR
*/
const int SENSOR = 0;
int val = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(SENSOR);
Serial.println(val);
delay(100);
}
Lettura di segnali analogici
Il componente LDR
70
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Lettura di un segnale analogico: LDR
*/
const int SENSOR = 0;
int val = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(SENSOR);
Serial.println(val);
delay(100);
}
Lettura di segnali analogici
Il componente LDR
71
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici: aggiungiamo un LED
72
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Regoliamo il lampeggio in base al
valore analogico letto
*/
# define LED 13 // pin usato per il LED
int val = 0; // variabile usata per il
// valore letto dall'LDR
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
val = analogRead(0);
digitalWrite(13, HIGH); // accendi il LED
delay(val); // attendi
digitalWrite(13, LOW); // spegni il LED
delay(val); // attendi
}
Lettura di segnali analogici
Il componente LDR
73
FINE... PER OGGI

More Related Content

What's hot

Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Michele Maffucci
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele 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
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
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
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Michele Maffucci
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoMirco Piccin
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italyMichele Maffucci
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su ArduinoMirko Mancin
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreMirko Mancin
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Daniele Costarella
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progettiMirco Piccin
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 

What's hot (20)

Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
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...
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 Arduino
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 ore
 
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Corso arduino base
Corso arduino baseCorso arduino base
Corso arduino base
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 

Viewers also liked

Workshop arduino e sensori
Workshop arduino e sensoriWorkshop arduino e sensori
Workshop arduino e sensoriPaolo Aliverti
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Salvatore Carotenuto
 
Introduzione all'alfabetizzazione informatica
Introduzione all'alfabetizzazione informaticaIntroduzione all'alfabetizzazione informatica
Introduzione all'alfabetizzazione informaticaSilvio Grosso
 
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di InformaticaFrancesco Caliulo
 
Il Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano DigitaleIl Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano DigitaleFilippo Fresilli
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriFrancesco Cozzi
 
Arduino and Linux / hardware & software openSource together
Arduino and Linux / hardware & software openSource togetherArduino and Linux / hardware & software openSource together
Arduino and Linux / hardware & software openSource togetherDavide Gomba
 
Indirizzo elettrotecnica ed elettronica Corso Serale
Indirizzo elettrotecnica ed elettronica Corso SeraleIndirizzo elettrotecnica ed elettronica Corso Serale
Indirizzo elettrotecnica ed elettronica Corso Seralealtierospinellisesto
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphonedega1999
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheEnrico La Sala
 
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usoRaspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usogianlucaghettini
 
Libro auditoria informatica Jose Antonio Echenique
Libro auditoria informatica Jose Antonio EcheniqueLibro auditoria informatica Jose Antonio Echenique
Libro auditoria informatica Jose Antonio EcheniqueAngel Hernández
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiAhmad Hafeezi
 
Matemática completa volume 1 parte 1
Matemática completa volume 1 parte 1Matemática completa volume 1 parte 1
Matemática completa volume 1 parte 1ligabo
 

Viewers also liked (19)

Heavy Arduino
Heavy ArduinoHeavy Arduino
Heavy Arduino
 
Arduino ai raggi x
Arduino ai raggi xArduino ai raggi x
Arduino ai raggi x
 
Workshop arduino e sensori
Workshop arduino e sensoriWorkshop arduino e sensori
Workshop arduino e sensori
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
Introduzione all'alfabetizzazione informatica
Introduzione all'alfabetizzazione informaticaIntroduzione all'alfabetizzazione informatica
Introduzione all'alfabetizzazione informatica
 
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di Informatica
 
Arduino nella Pmi
Arduino nella PmiArduino nella Pmi
Arduino nella Pmi
 
D. lgs 81 08
D. lgs 81 08D. lgs 81 08
D. lgs 81 08
 
Il Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano DigitaleIl Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano Digitale
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per Radioamatori
 
Arduino and Linux / hardware & software openSource together
Arduino and Linux / hardware & software openSource togetherArduino and Linux / hardware & software openSource together
Arduino and Linux / hardware & software openSource together
 
Indirizzo elettrotecnica ed elettronica Corso Serale
Indirizzo elettrotecnica ed elettronica Corso SeraleIndirizzo elettrotecnica ed elettronica Corso Serale
Indirizzo elettrotecnica ed elettronica Corso Serale
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettroniche
 
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usoRaspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
 
Libro auditoria informatica Jose Antonio Echenique
Libro auditoria informatica Jose Antonio EcheniqueLibro auditoria informatica Jose Antonio Echenique
Libro auditoria informatica Jose Antonio Echenique
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry Pi
 
Matemática completa volume 1 parte 1
Matemática completa volume 1 parte 1Matemática completa volume 1 parte 1
Matemática completa volume 1 parte 1
 
Introduzione a Slideshare
Introduzione a SlideshareIntroduzione a Slideshare
Introduzione a Slideshare
 

Similar to Electronics LAB [with Arduino] | DAY 1

Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Salvatore Carotenuto
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Daniele Costarella
 
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Mirco Piccin
 
Corso base di Arduino
Corso base di ArduinoCorso base di Arduino
Corso base di ArduinoAndrea Silipo
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open HardwareStefano Sanna
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino Matteo Troìa
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
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
 
Introduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliIntroduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliAntonio Serra
 
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoStefano Varano
 
Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Limulo
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliDemetrio Siragusa
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereEmanuele Bonanni
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArchimedea s.r.l
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Simone Fini
 
Come rendere Arduino professionale
Come rendere Arduino professionaleCome rendere Arduino professionale
Come rendere Arduino professionaleEmanuele Bonanni
 

Similar to Electronics LAB [with Arduino] | DAY 1 (20)

Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
Arduino ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
 
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
 
Corso base di Arduino
Corso base di ArduinoCorso base di Arduino
Corso base di Arduino
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open Hardware
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
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 2017
Arduino day 2017Arduino day 2017
Arduino day 2017
 
Arduino
ArduinoArduino
Arduino
 
Introduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliIntroduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra Napoli
 
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: Arduino
 
Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un Ingegnere
 
Arduino day 2015 @Archimedea
Arduino day 2015 @ArchimedeaArduino day 2015 @Archimedea
Arduino day 2015 @Archimedea
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
 
Arduino day
Arduino dayArduino day
Arduino day
 
Come rendere Arduino professionale
Come rendere Arduino professionaleCome rendere Arduino professionale
Come rendere Arduino professionale
 

More from Daniele Costarella

Fondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniFondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniDaniele Costarella
 
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeArduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeDaniele Costarella
 
energy-harvesting-pres-final-std
energy-harvesting-pres-final-stdenergy-harvesting-pres-final-std
energy-harvesting-pres-final-stdDaniele Costarella
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazioneDaniele Costarella
 
Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Development of a Wireless Sensors Network powered by Energy Harvesting techni...Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Development of a Wireless Sensors Network powered by Energy Harvesting techni...Daniele Costarella
 
Hands On Embedded Linux with BeagleBone Black
Hands On Embedded Linux with BeagleBone BlackHands On Embedded Linux with BeagleBone Black
Hands On Embedded Linux with BeagleBone BlackDaniele Costarella
 
Development of a wireless sensor network powered by energy harvesting techniques
Development of a wireless sensor network powered by energy harvesting techniquesDevelopment of a wireless sensor network powered by energy harvesting techniques
Development of a wireless sensor network powered by energy harvesting techniquesDaniele Costarella
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embeddedDaniele Costarella
 

More from Daniele Costarella (8)

Fondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniFondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e Partizioni
 
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeArduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
 
energy-harvesting-pres-final-std
energy-harvesting-pres-final-stdenergy-harvesting-pres-final-std
energy-harvesting-pres-final-std
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Development of a Wireless Sensors Network powered by Energy Harvesting techni...Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Development of a Wireless Sensors Network powered by Energy Harvesting techni...
 
Hands On Embedded Linux with BeagleBone Black
Hands On Embedded Linux with BeagleBone BlackHands On Embedded Linux with BeagleBone Black
Hands On Embedded Linux with BeagleBone Black
 
Development of a wireless sensor network powered by energy harvesting techniques
Development of a wireless sensor network powered by energy harvesting techniquesDevelopment of a wireless sensor network powered by energy harvesting techniques
Development of a wireless sensor network powered by energy harvesting techniques
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embedded
 

Electronics LAB [with Arduino] | DAY 1

  • 1. ELECTRONICS LAB [WITH ARDUINO] Daniele Costarella Teatro Carlo Gesualdo / Casina Del Principe – Avellino – 28 > 31 agosto 2013 Salvatore Carotenuto
  • 2. Rights to copy Electronics LAB [with Arduino]28 > 31 agosto 2013 2 Attribution – ShareAlike 3.0 Unported You are free: ● to Share - to copy, distribute and transmit the work ● to Remix – to adapt the work Under the following conditions: Attribution – You must attribute the work in the manner specified by the authors. Share Alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. Your fair use and other rights are in no way affected by the above. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.
  • 3. Filosofia del corso MAKE! MAKE! MAKE! Electronics LAB [with Arduino]28 > 31 agosto 2013 3
  • 4. Il programma di oggi Mattina • Presentazione del corso • Microcontrollori e introduzione ad Arduino • Elementi di programmazione Pomeriggio • Cenni di elettronica • Primi passi con Arduino Electronics LAB [with Arduino]28 > 31 agosto 2013 4
  • 5. Di cosa parleremo? In questo corso impareremo a costruire semplici oggetti elettronici in grado di interagire con gli esseri umani usando sensori e attuatori controllati da dispositivi elettronici. Electronics LAB [with Arduino]28 > 31 agosto 2013 5
  • 6. Cos'è Arduino? Il mondo Arduino, fondamentalmente, si compone di 3 componenti essenziali Electronics LAB [with Arduino]28 > 31 agosto 2013 6
  • 7. Cos'è Arduino? 1. Una scheda elettronica Electronics LAB [with Arduino]28 > 31 agosto 2013 7
  • 8. Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato Electronics LAB [with Arduino]28 > 31 agosto 2013 8
  • 9. Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato 3. Una filosofia e una comunità enorme Electronics LAB [with Arduino]28 > 31 agosto 2013 9
  • 10. A cosa serve? Con Arduino è possibile creare circuiti per molte applicazioni nel campo della robotica, dell'automazione, e nella realizzazione di effetti luminosi e sonori E' inoltre un prodotto ideale per la protipazione rapida e per l'apprendimento delle basi dell'elettronica e della programmazione Electronics LAB [with Arduino]28 > 31 agosto 2013 10
  • 11. Perché Arduino? Electronics LAB [with Arduino] • Artisti e designer • Progettisti elettronici • Open source hardware ● Open Source Physical Computing Platform • Open source ● Aperto a modifiche, schemi sempre disponibili • Community ● Wiki, forum, tutorial 28 > 31 agosto 2013 11
  • 12. Physical Computing?! Electronics LAB [with Arduino] “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, Arduino Co-Founder 28 > 31 agosto 2013 12
  • 14. Segnali analogici e digitali Electronics LAB [with Arduino]28 > 31 agosto 2013 14
  • 15. Parleremo di “tensione” per indicare la differenza tra il potenziale elettrico di due punti dello spazio. Una semplice analogia: • Acqua ↔ Carica • Pressione ↔ Tensione • Flusso ↔ Corrente Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 15
  • 16. Possiamo pensare all’ammontare di acqua che fluisce attraverso la condotta come la “corrente” che scorre in cavo elettrico Il nostro modello: • Acqua ↔ Carica [Coulomb] • Pressione ↔ Tensione [Volt] • Flusso ↔ Corrente [Ampere] • Ampiezza tubo ↔ Resistenza [Ohm] Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 16
  • 17. La “resistenza elettrica” è una grandezza fisica che misura la tendenza di un corpo ad opporsi al passaggio di una corrente elettrica, quando sottoposto a una tensione elettrica. Il nostro modello: • Acqua ↔ Carica [Coulomb] • Pressione ↔ Tensione [Volt] • Flusso ↔ Corrente [Ampere] • Ampiezza tubo ↔ Resistenza [Ohm] Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 17
  • 18. Riconoscere i componenti 28 > 31 agosto 2013 Electronics LAB [with Arduino] Resistori 18
  • 19. Cenni di elettronica Resistori: codice colori 28 > 31 agosto 2013 Electronics LAB [with Arduino] 19
  • 20. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Condensatori 20
  • 21. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Diodi 21
  • 22. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] LED (Light Emitting Diode) 22
  • 23. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Switch 23
  • 24. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard ?!? 24
  • 25. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard Una breadboard (o anche detta basetta sperimentale) è uno strumento utilizzato per creare prototipi di circuiti elettrici. Non richiede saldature ed è completamente riusabile (è perciò utilizzata soprattutto per circuiti temporanei). 25
  • 26. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard: struttura Tutte le breadboard hanno, generalmente, una struttura simile composta da linee di trasmissione (strips) che consistono in collegamenti elettrici tra i fori. Come in figura, si possono notare le linee di alimentazione, poste generalmente ai lati e collegate lungo tutto l’asse, e le linee dedicate ai componenti, collegate in posizione perpendicolare alle linee di alimentazione. 26
  • 27. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard !!! 27
  • 28. Arduino: “Studiamo” l'hardware USB LED RX/TX LED Test (pin 13) Alimentazione esterna ATmega328 Pin di in/out digitaliPulsante di reset Power LED Alimentazioni e massa Input analogici Electronics LAB [with Arduino]28 > 31 agosto 2013 28
  • 29. Caratteristiche tecniche Giffoni HackLAB 2013 Parametro Valore Microcontrollore ATmega328 Tensione operativa 5 V Tensione di ingresso (raccomandata) 7-12 V Tensione di ingresso (Limiti) 6-20 V Pin di I/O digitali 14 (di cui 6 PWM) Pin di ingresso analogici 6 Corrente DC per i pin di I/O 40 mA Corrente DC per i pin a 3.3V 50 mA Memoria Flash 32 kB (ATmega328) di cui 0.5 usata per il bootloader SRAM 2 kB (ATmega 328) EEPROM 1 kB (ATmega328) Velocità del Clock 16 MHz 28 > 31 agosto 2013 29
  • 30. Qualche termine strano Giffoni HackLAB 2013 sketch Il programma che scrivete e fate girare sulla scheda Arduino pin I connettori di input e output digital Vuol dire che può assumere solo due valori: ALTO o BASSO, ON o OFF oppure 0 o 1 analog Quando i valori utili che rappresentano i segnali sono continui (infiniti) 28 > 31 agosto 2013 30
  • 31. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Leonardo 31
  • 32. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Due 32
  • 33. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino YUN 33
  • 34. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Robot 34
  • 35. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Esplora 35
  • 36. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino ADK 36
  • 37. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Ethernet 37
  • 38. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Mega 2560 38
  • 39. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Micro 39
  • 40. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] LillyPad Arduino USB LillyPad Arduino Simple 40
  • 41. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] LillyPad Arduino SimpleSnap LillyPad Arduino 41
  • 42. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Pro Arduino Fio 42
  • 43. Arduino: gli Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] 43
  • 44. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino GSM Shield 44
  • 45. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Ethernet Shield 45
  • 46. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino WiFi Shield 46
  • 47. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino SD Shield 47
  • 48. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Motor Shield 48
  • 49. PRIMI PASSI CON ARDUINO
  • 50. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione dell’ambiente di sviluppo 1. Scaricare l’IDE di Arduino dal sito web del progetto: arduino.cc 2. Collegare la board Arduino tramite il cavo USB 3. Installare i driver necessari 4. Riavviare il computer 5. Avviare il software di Arduino 50
  • 51. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione dell’ambiente di sviluppo ● Collegarsi al sito web del progetto: arduino.cc ● Nella sezione Getting Started scegliere il sistema operativo in uso: Windows, Mac OS X, Linux ● Scaricare il software di Arduino 51
  • 52. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione driver chip FTDI ● Collegarsi al sito web del progetto: www.ftdichip.com ● Download dei driver adatti alla propria piattaforma ● Installare i driver ● Riavviare il sistema 52
  • 53. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Collegare la board ● Collega Arduino al computer con un cavo USB ● Un LED di colore verde (PWR) si accede quando la scheda è alimentata correttamente 53
  • 54. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Avvio dell'ambiente di sviluppo 54
  • 55. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Impostazione dell’ambiente di lavoro: Tools > Board 55
  • 56. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Impostazione dell’ambiente di lavoro: Tools > Serial Port 56
  • 57. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] La semplice interfaccia Verifica Carica Nuovo Apri Salva Monitor Seriale 57
  • 58. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Il “ciclo” di sviluppo 58
  • 59. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Esaminiamo, innanzitutto, un po’ di sintassi utile: Simbolo Spiegazione // Commento su una riga Es. // questo è un commento /* Inizio di un commento su più righe */ Chiusura di un commento su più righe void Dichiarazione di una funzione senza nessun valore di ritorno: la funzione esegue tutte le istruzioni senza restituire alcun valore. setup() E’ la funzione (obbligatoria in Arduino) dedicata alle impostazioni iniziali 59
  • 60. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Esaminiamo, innanzitutto, un po’ di sintassi utile: Simbolo Spiegazione loop() Funzione obbligatoria in Arduino: costituisce il loop principale del programma int Usato per dichiarare una variabile di tipo integer (intero) pinMode(pin, mode) Configurazione dei pin di Arduino (INPUT o OUTPUT) digitalWrite(pin, level) Comando di scrittura su un pin digitale delay(seconds) Funzione che introduce un’attesa (espresso in millesimi di secondo) 60
  • 61. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Un listato di esempio: /* FLUSSI 2013 day 1 Esempio: lampeggio di un LED collegato al pin 13 */ int ledPin = 13; // LED connesso al pin 13 void setup() { pinMode(ledPin, OUTPUT); // configura il pin come output } void loop() { digitalWrite(ledPin, HIGH); // accende il LED delay(1000); // attende un secondo (ossia 1000 millisecondi) digitalWrite(ledPin, LOW); // spegne il LED delay(1000); // attende un secondo prima di ripartire } 61
  • 62. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali: LED blinking 62
  • 63. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali: lettura di un pulsante 63
  • 64. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] 64 Il costrutto if e if/else Simbolo Spiegazione if (condizione) { // esegue questo codice // se la condizione è vera } Esecuzione condizionata: esegue un blocco di codice se e solo se la condizione espressa è verificata if (condizione) { // esegue questo codice // se la condizione è vera } else { // esegue questo codice // se la condizione è falsa } Se la condizione è vera esegue un blocco di codice; se la condizione non è vera viene eseguito il codice del blocco else
  • 65. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali Il costrutto if /* FLUSSI 2013 day 1: Accendiamo il LED con un pulsante */ int led_pin = 13; int button_pin = 8; int state = 0; int value = 0; void setup() { pinMode(led_pin, OUTPUT); pinMode(button_pin, INPUT); } [ Continua … ] 65
  • 66. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali void loop() { value = digitalRead(button_pin); if (value == HIGH) { state = 1; } else { state = 0; } if (state == 1) { digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); } } 66
  • 67. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 67
  • 68. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] 68 La funzione analogRead Simbolo Spiegazione int analogRead(pin) Legge la tensione applicata al pin di input analogico e restituisce un numero compreso tra 0 e 1023 che rappresenta una tensione tra 0 e 5V val = analogRead(0) Esempio: legge l'analog input 0 e memorizza il risultato nella variabile val
  • 69. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 69
  • 70. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogRead(SENSOR); Serial.println(val); delay(100); } Lettura di segnali analogici Il componente LDR 70
  • 71. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogRead(SENSOR); Serial.println(val); delay(100); } Lettura di segnali analogici Il componente LDR 71
  • 72. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici: aggiungiamo un LED 72
  • 73. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Regoliamo il lampeggio in base al valore analogico letto */ # define LED 13 // pin usato per il LED int val = 0; // variabile usata per il // valore letto dall'LDR void setup() { pinMode(LED, OUTPUT); } void loop() { val = analogRead(0); digitalWrite(13, HIGH); // accendi il LED delay(val); // attendi digitalWrite(13, LOW); // spegni il LED delay(val); // attendi } Lettura di segnali analogici Il componente LDR 73