SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Biagio (Gino) Zingales Alì
Introduzione ad Arduino
http://arduino.cc/
Introduzione ad Arduino
Arduino è una piattaforma di prototipazione elettronica open-source , il progetto completamente italiano, è nato
ad Ivrea nel 2005 con lo scopo di ridurre i tempi di prototipizzazione dei prodotti elettronici ad un costo molto basso.
Questo progetto prevede una intera famiglia di board che si differenziano per capacità di elaborazione, tipologia di
connettività disponibile, dimensioni e dotazione software/firmware. Si va infatti dalla “Arduino Uno” considerata
come la entry level della famiglia alla “Arduino Yun” che attualmente rappresenta il top della gamma (con a bordo
Linux) passando per tante altre board adatte ad usi differenti.
Dove le periferiche a disposizione a bordo
non bastino per i nostri progetti,
potremmo acquistare una delle numerose
“shield” attraverso le quali è possibile
estendere le potenzialità della scheda
elettronica di base.
Esistono moltissime shield ufficiali, ma
anche di terze parti.
LE SHIELD
Arduino Ethernet Shield Arduino WiFi Shield
Arduino GSM Shield
Store ufficiale Arduino
http://store.arduino.cc/
E’ una board basata su un microcontrollore della Atmel, ATmega328, che ha a bordo tutta la memoria e lo storage
necessario per i nostri sketch; in particolare abbiamo a disposizione:
● 32 KB di memoria Flash (di cui 0,5 KB sono occupati dal bootloader), la memoria Flash viene utilizzata per il
salvataggio dello “sketch” che abbiamo creato e sarà lanciato in esecuzione ad ogni avvio della board;
● 2 KB di SRAM (Static RAM), la memoria RAM è utilizzata a runtime (ad esempio per le variabili) ;
● 1 KB di EEPROM (Electrically Erasable Programmable ROM), che serve per salvare eventuali dati e parametri di
configurazione utili e/o necessari al nostro programma.
In termini di capacità di calcolo, stiamo parlando di un microcontrollore con architettura RISC (Reduced Instruction
Set Computer) ad 8-bit (e bene sì… avete letto proprio giusto! Solamente 8 bit contro i processori moderni a 32 e 64
bit) con una frequenza di clock di 16 Mhz (dimenticatevi i Ghz dei vostri PC e/o Smartphone). Anche se questi numeri
vi sembrano piccoli, vi posso assicurare che sarà possibile realizzare qualsiasi cosa.
Occhio sempre allo spreco dei bytes non necessari!
Arduino UNO
I pin del microcontrollore sono due connettori posti ai bordi della scheda. In particolare, sono disponibili: 14 pin
digitali e 6 pin analogici, in quanto l’Atmega328 è dotato anche di un AD Converter (Analog to Digital) .
Ciascuno dei pin digitali può essere pilotato in maniera indipendente da software, impostandone il livello 1 (HIGH) o
0 (LOW), ed utilizzato come pin di GPIO (General Purpose Input Output);
I/O Arduino UNO
Alcuni di questi pin hanno funzionalità aggiuntive e se configurati in maniera opportuna possono diventare :
● Una porta seriale di tipo TTL (attenzione non RS232) caratterizzata dai soli segnali RX (Ricezione) e TX (trasmissione);
● Due pin per segnalare (“triggerare”) un interrupt verso il microcontrollore, in corrispondenza del quale deve essere magari eseguita
una specifica elaborazione;
● Segnali di output di tipo PWM (Pulse Width Modulation) per ottenere una tensione media variabile (che non sia solo HIGH o LOW);
● Una porta SPI (Serial Peripheral Interface) utilizzata per l’interconnessione con device esterni attraverso il bus sincrono di tipo SPI;
● Una porta I2C (Inter Integrated Circuit) che come l’SPI è utilizzata su un bus sincrono per la connessione ad altri device. Essa è anche
nota come TWI (Two Wires Interface) infatti è costituita da due soli segnali contro i quattro previsti dall’SPI;
● Il pin che stabilisce la tensione di riferimento (AREF, Analog REFerence) per tutti gli input analogici. Essa è necessario per stabilire il
range di valori che l’AD Converter produce sulla base dei 10 bit a disposizione (in pratica esso fornirà un valore numerico compreso
tra 0 e 1023, in corrispondenza ai valori di tensione da 0 a AREF Volts);
La board mette a disposizione due alimentazioni in uscita a 3,3V e 5V che possono alimentare uno o più dispositivi
esterni, un segnale di RESET e un LED a bordo che viene identificato dal pin 13.
L’unica connettività con il mondo esterno è caratterizzata da un connettore USB che possiamo sfruttare per il
collegamento al nostro PC di sviluppo.
Il PC avrà a disposizione una porta seriale per poter comunicare con Arduino Uno, infatti, grazie a specifici driver da
installare ed al convertitore “USB-to-serial” di cui la board è dotata (di fatto il microcontrollore non ha un’interfaccia
USB nativa, ma utilizza sempre una comunicazione di tipo seriale).
I/O Arduino UNO
Il linguaggio di programmazione utilizzato per Arduino è il C/C++; è possibile utilizzare o meno il supporto per le
classi che il C++ mette a disposizione. Il compilatore utilizzato è dedicato per i microcontrollori della famiglia AVR
della Atmel e fa parte di una ben definita toolchain GCC.
I programmi che vengo realizzati per Arduino di chiamano SKETCH
L’ambiente di sviluppo (IDE)
Struttura
http://arduino.cc/en/Reference/HomePage
Per maggiori informazioni
Uno Sketch è diviso in tre sezioni fondamentali:
● Costrutti
● Valori (variabili e costanti)
● Funzioni.
Costrutti Valori Funzioni
setup()
loop()
Costrutti di controllo
if
if...else
for
switch case
while
do... while
break
continue
return
goto
...
Costanti
HIGH | LOW
INPUT | OUTPUT |
INPUT_PULLUP
LED_BUILTIN
true | false
integer constants
floating point
constants
...
Digitali I/O
pinMode()
digitalWrite()
digitalRead()
Analogici I/O
analogReference()
analogRead()
analogWrite() - PWM
...
Analisi struttura Sketch
setup()
Questa funzione viene eseguita una ed una sola volta quando parte lo
“sketch” all’accensione (o il reset della board). Viene utilizzata per effettuare
le inizializzazioni necessarie al programma come ad esempio l’impostazione
dei valori iniziali delle variabili, le modalità di uso dei pin (input, output,
etc.) e l’inizializzazione delle librerie utilizzate.
loop()
Questa funzione rappresenta il “loop” principale del programma.
Ciò significa che le istruzioni contenute al suo interno vengono eseguite in
mado ciclico (dalla prima all’ultima per poi ripartire dall’inizio).
I pin di Arduino
pinMode(pin, mode)
Per quanto riguarda il led a bordo della “Arduino Uno”, c’è da dire che esso è collegato al pin numero 13
del microcontrollore che altro non è che un pin digitale!
Come accennato, tutti i pin digitali di Arduino sono configurabili come input oppure come output, così
come alcuni di essi anche con funzioni molto più complesse (seriale TTL, bus SPI, bus I2C, …). La prima
operazione da fare consiste nell’impostare il pin 13 come output e per farlo possiamo avvalerci della
funzione pinMode, ecco la sintassi:
il numero del
pin da
impostare
INPUT/OUTPUT
int led = 13;
void setup() {
// inizializzazione del pin in uscita
pinMode(led, OUTPUT);
}
digitalWrite(pin, modvaluee)
il numero del
pin modificare il
valore
HIGH/LOW
void loop() {
digitalWrite(led, HIGH); // accende il led
digitalWrite(led, LOW); // spegne il led
}
delay(ms) ritardo tra un’
istruzione e l’altra
Sensori e Attuatori:
il Physical Computing
Sensori
Esistono numerosi sensori che possono
essere utilizzati per acquisire grandezze
fisiche nel mondo reale.
Attuatori
Gli attuatori vengono utilizzati per
interagire con il mondo reale.
Un motore è un attuatore, mette in
movimento un oggetto (es. una ventola di
raffreddamento) così come un relé che
viene utilizzato come interruttore ad
esempio per accendere una lampadina al
cambiamento di stato di un sensore PIR.
Temperatura Umidità Luce
(fotoresistenza)
Ultrasuoni Pir
(Movimento)
Umidità
Servo-motore Relé 5V - 220V
http://arduino.cc/ - Sito ufficiale
http://playground.arduino.cc/Italiano/Tutorials - Molto materiale per iniziare
http://www.mauroalfieri.it/corso-arduino-on-line.html - Sito ricco di informazioni
UN PO’ DI LINK
/biagio.zingales
/+BiagioZingalesAlì
@biagio_zingales
Fate viaggiare la vostra fantasia!

Mais conteúdo relacionado

Mais procurados

Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a ArduinoPietro Aiuola
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Daniele Costarella
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Michele Maffucci
 
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
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoMirco Piccin
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreMirko Mancin
 
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
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazioneFlaviano Fior
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progettiMirco Piccin
 

Mais procurados (20)

Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
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...
 
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 Arduino
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Corso arduino base
Corso arduino baseCorso arduino base
Corso arduino base
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 ore
 
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
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazione
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
 

Destaque

Introduzione alla programmazione con Arduino
Introduzione alla programmazione con ArduinoIntroduzione alla programmazione con Arduino
Introduzione alla programmazione con ArduinoFabrizio Passerini
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8mdctech
 
SIcities 1 ottobre 2014 - Maker Faire Roma
SIcities 1 ottobre 2014 - Maker Faire RomaSIcities 1 ottobre 2014 - Maker Faire Roma
SIcities 1 ottobre 2014 - Maker Faire RomaVincenzo Di Maria
 
DIY wind turbine - VentolONE @ fablab torino 2014
DIY wind turbine - VentolONE @ fablab torino 2014DIY wind turbine - VentolONE @ fablab torino 2014
DIY wind turbine - VentolONE @ fablab torino 2014mario milanesio
 
Maker come mio nonno Twintip fablab
Maker come mio nonno Twintip fablabMaker come mio nonno Twintip fablab
Maker come mio nonno Twintip fablabInSide Training
 
Estratto il manuale_del_maker
Estratto il manuale_del_makerEstratto il manuale_del_maker
Estratto il manuale_del_makerFabio Grassi
 
Corso Arduino - Presentazione e Introduzione
Corso Arduino - Presentazione e IntroduzioneCorso Arduino - Presentazione e Introduzione
Corso Arduino - Presentazione e IntroduzioneStefano Franco
 
Silent Bee Italian Honeycomb
Silent Bee Italian HoneycombSilent Bee Italian Honeycomb
Silent Bee Italian HoneycombRichard OBrien
 
Programmazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaProgrammazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaPaolo Aliverti
 
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014StartupSaturdayEurope
 
AMA Annual Report 2015-2016
AMA Annual Report 2015-2016AMA Annual Report 2015-2016
AMA Annual Report 2015-2016Alisa Sutton
 
Kolkata Jukebox - Photography For A Cause
Kolkata Jukebox - Photography For A CauseKolkata Jukebox - Photography For A Cause
Kolkata Jukebox - Photography For A Causecam2o photowalkers
 
7 кроків щоб зробити наступний рік особливим
7 кроків щоб зробити наступний рік особливим7 кроків щоб зробити наступний рік особливим
7 кроків щоб зробити наступний рік особливимUnivero
 

Destaque (18)

Introduzione alla programmazione con Arduino
Introduzione alla programmazione con ArduinoIntroduzione alla programmazione con Arduino
Introduzione alla programmazione con Arduino
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8
 
SIcities 1 ottobre 2014 - Maker Faire Roma
SIcities 1 ottobre 2014 - Maker Faire RomaSIcities 1 ottobre 2014 - Maker Faire Roma
SIcities 1 ottobre 2014 - Maker Faire Roma
 
DIY wind turbine - VentolONE @ fablab torino 2014
DIY wind turbine - VentolONE @ fablab torino 2014DIY wind turbine - VentolONE @ fablab torino 2014
DIY wind turbine - VentolONE @ fablab torino 2014
 
Maker come mio nonno Twintip fablab
Maker come mio nonno Twintip fablabMaker come mio nonno Twintip fablab
Maker come mio nonno Twintip fablab
 
MEGATREND 2015 RIDOTTO
MEGATREND  2015 RIDOTTOMEGATREND  2015 RIDOTTO
MEGATREND 2015 RIDOTTO
 
Estratto il manuale_del_maker
Estratto il manuale_del_makerEstratto il manuale_del_maker
Estratto il manuale_del_maker
 
Corso Arduino - Presentazione e Introduzione
Corso Arduino - Presentazione e IntroduzioneCorso Arduino - Presentazione e Introduzione
Corso Arduino - Presentazione e Introduzione
 
Silent Bee Italian Honeycomb
Silent Bee Italian HoneycombSilent Bee Italian Honeycomb
Silent Bee Italian Honeycomb
 
Ape regina ( laboratorio)
Ape regina ( laboratorio)Ape regina ( laboratorio)
Ape regina ( laboratorio)
 
Programmazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaProgrammazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpa
 
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014
Laura De Benedetto - Make Tank - Startup Saturday Europe - 5 luglio 2014
 
Il pic 16 f84a
Il pic 16 f84aIl pic 16 f84a
Il pic 16 f84a
 
L'orologio Nixie
L'orologio NixieL'orologio Nixie
L'orologio Nixie
 
Il progetto OpenOSB
Il progetto OpenOSBIl progetto OpenOSB
Il progetto OpenOSB
 
AMA Annual Report 2015-2016
AMA Annual Report 2015-2016AMA Annual Report 2015-2016
AMA Annual Report 2015-2016
 
Kolkata Jukebox - Photography For A Cause
Kolkata Jukebox - Photography For A CauseKolkata Jukebox - Photography For A Cause
Kolkata Jukebox - Photography For A Cause
 
7 кроків щоб зробити наступний рік особливим
7 кроків щоб зробити наступний рік особливим7 кроків щоб зробити наступний рік особливим
7 кроків щоб зробити наступний рік особливим
 

Semelhante a Introduzione ad Arduino del Maker DevLab

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
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoRiccardo Lemmi
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2CSP Scarl
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
 
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileCommit University
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollorisamu97
 
Presentazione
PresentazionePresentazione
Presentazionecesario
 
Guida al computer - Lezione 2 - I componenti
Guida al computer - Lezione 2 - I componentiGuida al computer - Lezione 2 - I componenti
Guida al computer - Lezione 2 - I componenticaioturtle
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino Matteo Troìa
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphonedega1999
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger nodeMirco Piccin
 

Semelhante a Introduzione ad Arduino del Maker DevLab (20)

Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
 
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 ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
Arduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoTArduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoT
 
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
 
Arduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i displayArduino - Cosa sono e come funzionano i display
Arduino - Cosa sono e come funzionano i display
 
Raspberry
RaspberryRaspberry
Raspberry
 
Grix.it wood board usb
Grix.it    wood board usbGrix.it    wood board usb
Grix.it wood board usb
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
 
Modelli arduino
Modelli arduinoModelli arduino
Modelli arduino
 
Presentazione
PresentazionePresentazione
Presentazione
 
Guida al computer - Lezione 2 - I componenti
Guida al computer - Lezione 2 - I componentiGuida al computer - Lezione 2 - I componenti
Guida al computer - Lezione 2 - I componenti
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
 

Mais de Biagio (Gino) Zingales Alì

Mais de Biagio (Gino) Zingales Alì (6)

Google Assistant + IFTTT: come potenziare il vostro assistente vocale.
Google Assistant + IFTTT: come potenziare il vostro assistente vocale.Google Assistant + IFTTT: come potenziare il vostro assistente vocale.
Google Assistant + IFTTT: come potenziare il vostro assistente vocale.
 
Organizzare un evento gdg
Organizzare un evento gdgOrganizzare un evento gdg
Organizzare un evento gdg
 
Esempi Arduino come poter iniziare nel mondo IoT
Esempi Arduino come poter iniziare nel mondo IoTEsempi Arduino come poter iniziare nel mondo IoT
Esempi Arduino come poter iniziare nel mondo IoT
 
Google Local Guides
Google Local GuidesGoogle Local Guides
Google Local Guides
 
Cloud next 17 - Google Cloud Platform
Cloud next 17 - Google Cloud PlatformCloud next 17 - Google Cloud Platform
Cloud next 17 - Google Cloud Platform
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 

Introduzione ad Arduino del Maker DevLab

  • 1. Biagio (Gino) Zingales Alì Introduzione ad Arduino http://arduino.cc/ Introduzione ad Arduino
  • 2. Arduino è una piattaforma di prototipazione elettronica open-source , il progetto completamente italiano, è nato ad Ivrea nel 2005 con lo scopo di ridurre i tempi di prototipizzazione dei prodotti elettronici ad un costo molto basso. Questo progetto prevede una intera famiglia di board che si differenziano per capacità di elaborazione, tipologia di connettività disponibile, dimensioni e dotazione software/firmware. Si va infatti dalla “Arduino Uno” considerata come la entry level della famiglia alla “Arduino Yun” che attualmente rappresenta il top della gamma (con a bordo Linux) passando per tante altre board adatte ad usi differenti.
  • 3. Dove le periferiche a disposizione a bordo non bastino per i nostri progetti, potremmo acquistare una delle numerose “shield” attraverso le quali è possibile estendere le potenzialità della scheda elettronica di base. Esistono moltissime shield ufficiali, ma anche di terze parti. LE SHIELD Arduino Ethernet Shield Arduino WiFi Shield Arduino GSM Shield Store ufficiale Arduino http://store.arduino.cc/
  • 4. E’ una board basata su un microcontrollore della Atmel, ATmega328, che ha a bordo tutta la memoria e lo storage necessario per i nostri sketch; in particolare abbiamo a disposizione: ● 32 KB di memoria Flash (di cui 0,5 KB sono occupati dal bootloader), la memoria Flash viene utilizzata per il salvataggio dello “sketch” che abbiamo creato e sarà lanciato in esecuzione ad ogni avvio della board; ● 2 KB di SRAM (Static RAM), la memoria RAM è utilizzata a runtime (ad esempio per le variabili) ; ● 1 KB di EEPROM (Electrically Erasable Programmable ROM), che serve per salvare eventuali dati e parametri di configurazione utili e/o necessari al nostro programma. In termini di capacità di calcolo, stiamo parlando di un microcontrollore con architettura RISC (Reduced Instruction Set Computer) ad 8-bit (e bene sì… avete letto proprio giusto! Solamente 8 bit contro i processori moderni a 32 e 64 bit) con una frequenza di clock di 16 Mhz (dimenticatevi i Ghz dei vostri PC e/o Smartphone). Anche se questi numeri vi sembrano piccoli, vi posso assicurare che sarà possibile realizzare qualsiasi cosa. Occhio sempre allo spreco dei bytes non necessari! Arduino UNO
  • 5. I pin del microcontrollore sono due connettori posti ai bordi della scheda. In particolare, sono disponibili: 14 pin digitali e 6 pin analogici, in quanto l’Atmega328 è dotato anche di un AD Converter (Analog to Digital) . Ciascuno dei pin digitali può essere pilotato in maniera indipendente da software, impostandone il livello 1 (HIGH) o 0 (LOW), ed utilizzato come pin di GPIO (General Purpose Input Output); I/O Arduino UNO
  • 6. Alcuni di questi pin hanno funzionalità aggiuntive e se configurati in maniera opportuna possono diventare : ● Una porta seriale di tipo TTL (attenzione non RS232) caratterizzata dai soli segnali RX (Ricezione) e TX (trasmissione); ● Due pin per segnalare (“triggerare”) un interrupt verso il microcontrollore, in corrispondenza del quale deve essere magari eseguita una specifica elaborazione; ● Segnali di output di tipo PWM (Pulse Width Modulation) per ottenere una tensione media variabile (che non sia solo HIGH o LOW); ● Una porta SPI (Serial Peripheral Interface) utilizzata per l’interconnessione con device esterni attraverso il bus sincrono di tipo SPI; ● Una porta I2C (Inter Integrated Circuit) che come l’SPI è utilizzata su un bus sincrono per la connessione ad altri device. Essa è anche nota come TWI (Two Wires Interface) infatti è costituita da due soli segnali contro i quattro previsti dall’SPI; ● Il pin che stabilisce la tensione di riferimento (AREF, Analog REFerence) per tutti gli input analogici. Essa è necessario per stabilire il range di valori che l’AD Converter produce sulla base dei 10 bit a disposizione (in pratica esso fornirà un valore numerico compreso tra 0 e 1023, in corrispondenza ai valori di tensione da 0 a AREF Volts); La board mette a disposizione due alimentazioni in uscita a 3,3V e 5V che possono alimentare uno o più dispositivi esterni, un segnale di RESET e un LED a bordo che viene identificato dal pin 13. L’unica connettività con il mondo esterno è caratterizzata da un connettore USB che possiamo sfruttare per il collegamento al nostro PC di sviluppo. Il PC avrà a disposizione una porta seriale per poter comunicare con Arduino Uno, infatti, grazie a specifici driver da installare ed al convertitore “USB-to-serial” di cui la board è dotata (di fatto il microcontrollore non ha un’interfaccia USB nativa, ma utilizza sempre una comunicazione di tipo seriale). I/O Arduino UNO
  • 7. Il linguaggio di programmazione utilizzato per Arduino è il C/C++; è possibile utilizzare o meno il supporto per le classi che il C++ mette a disposizione. Il compilatore utilizzato è dedicato per i microcontrollori della famiglia AVR della Atmel e fa parte di una ben definita toolchain GCC. I programmi che vengo realizzati per Arduino di chiamano SKETCH L’ambiente di sviluppo (IDE)
  • 8. Struttura http://arduino.cc/en/Reference/HomePage Per maggiori informazioni Uno Sketch è diviso in tre sezioni fondamentali: ● Costrutti ● Valori (variabili e costanti) ● Funzioni. Costrutti Valori Funzioni setup() loop() Costrutti di controllo if if...else for switch case while do... while break continue return goto ... Costanti HIGH | LOW INPUT | OUTPUT | INPUT_PULLUP LED_BUILTIN true | false integer constants floating point constants ... Digitali I/O pinMode() digitalWrite() digitalRead() Analogici I/O analogReference() analogRead() analogWrite() - PWM ...
  • 9. Analisi struttura Sketch setup() Questa funzione viene eseguita una ed una sola volta quando parte lo “sketch” all’accensione (o il reset della board). Viene utilizzata per effettuare le inizializzazioni necessarie al programma come ad esempio l’impostazione dei valori iniziali delle variabili, le modalità di uso dei pin (input, output, etc.) e l’inizializzazione delle librerie utilizzate. loop() Questa funzione rappresenta il “loop” principale del programma. Ciò significa che le istruzioni contenute al suo interno vengono eseguite in mado ciclico (dalla prima all’ultima per poi ripartire dall’inizio).
  • 10. I pin di Arduino pinMode(pin, mode) Per quanto riguarda il led a bordo della “Arduino Uno”, c’è da dire che esso è collegato al pin numero 13 del microcontrollore che altro non è che un pin digitale! Come accennato, tutti i pin digitali di Arduino sono configurabili come input oppure come output, così come alcuni di essi anche con funzioni molto più complesse (seriale TTL, bus SPI, bus I2C, …). La prima operazione da fare consiste nell’impostare il pin 13 come output e per farlo possiamo avvalerci della funzione pinMode, ecco la sintassi: il numero del pin da impostare INPUT/OUTPUT int led = 13; void setup() { // inizializzazione del pin in uscita pinMode(led, OUTPUT); } digitalWrite(pin, modvaluee) il numero del pin modificare il valore HIGH/LOW void loop() { digitalWrite(led, HIGH); // accende il led digitalWrite(led, LOW); // spegne il led } delay(ms) ritardo tra un’ istruzione e l’altra
  • 11. Sensori e Attuatori: il Physical Computing Sensori Esistono numerosi sensori che possono essere utilizzati per acquisire grandezze fisiche nel mondo reale. Attuatori Gli attuatori vengono utilizzati per interagire con il mondo reale. Un motore è un attuatore, mette in movimento un oggetto (es. una ventola di raffreddamento) così come un relé che viene utilizzato come interruttore ad esempio per accendere una lampadina al cambiamento di stato di un sensore PIR. Temperatura Umidità Luce (fotoresistenza) Ultrasuoni Pir (Movimento) Umidità Servo-motore Relé 5V - 220V
  • 12. http://arduino.cc/ - Sito ufficiale http://playground.arduino.cc/Italiano/Tutorials - Molto materiale per iniziare http://www.mauroalfieri.it/corso-arduino-on-line.html - Sito ricco di informazioni UN PO’ DI LINK /biagio.zingales /+BiagioZingalesAlì @biagio_zingales
  • 13. Fate viaggiare la vostra fantasia!