SlideShare a Scribd company logo
1 of 25
Arduino
Che cos’è Arduino?
Arduino è uno strumento per rendere i computer in grado di rilevare e controllare il
mondo fisico esterno.
Si tratta di una piattaforma open-source basata su una semplice scheda di sviluppo, e un
ambiente di sviluppo per la scrittura di software per la scheda.
Arduino può essere usato per sviluppare oggetti interattivi, che ricevono input da diversi
interruttori o sensori, e controllano luci, motori, e altre uscite fisiche.
l'IDE open-source può essere scaricato gratuitamente.
Il linguaggio di programmazione Arduino è un'implementazione di WIRING, una
piattaforma che si basa sull'ambiente di programmazione Processing multimediale
Schema a blocchi
Porta seriale COMX
Cavo USB

INPUT
(interruttori, sensori)

Ambiente di sviluppo
(IDE sul PC)

SCHEDA ARDUINO
(microcontrollore
Atmega e C.I.)

OUTPUT
(LED, motori, uscite
fisiche)

Arduino Uno
An ATmega328 running at 16 MHz with
auto-reset, using the optiboot
bootloader (115200 baud, 0.5 KB).

BREADBOARD
Vantaggi
Economico –le schede Arduino sono relativamente poco costoso rispetto ad altre
piattaforme a microcontrollore.

Cross -platform - Il software Arduino gira su Windows , Macintosh OSX e sistemi
operativi Linux . La maggior parte dei sistemi a microcontrollore sono limitati a Windows .
Semplice , ambiente di programmazione chiaro - L'ambiente di programmazione
Arduino è facile da usare per i principianti , ma abbastanza flessibile per essere sfruttato
anche da utenti esperti.
Open source; disponibile per estensione software. Arduino viene pubblicato come
strumento open source , disponibile per estensioni di programmatori esperti.
Il linguaggio di programmazione può essere esteso tramite librerie C + + , e le persone che
vogliono capire i dettagli tecnici possono fare il salto da Arduino al linguaggio di
programmazione AVR C su cui è basato .
Open source; disponibile per estensione hardware - Arduino è basato su
microcontrollori ATMEGA8 and ATMEGA168.
CREATIVE COMMONS
Licenza Creative Commons Deed
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Tu sei libero di:
Share - di copiare e ridistribuire il materiale in qualsiasi mezzo o formato
Adapt - Remix, trasformare e rielaborare il materiale
per qualsiasi scopo, anche commerciale.
Chi dà la licenza non può revocare queste libertà finché si seguono i termini di licenza.
Alle seguenti condizioni:

Attribution/Attribuzione - Devi fornire crediti opportuni, fornire un link alla licenza, ed
indicare se sono state apportate modifiche.
ShareAlike/Condividi allo stesso modo - Se misceli, trasformi o sviluppi del materiale, è
necessario distribuire i tuoi contributi sotto la stessa licenza dell'originale.
Scheda e cavo
SCHEDA
ARDUINO

Piano di
compensato

BREADBOARD
Ambiente di sviluppo ARDUINO
L'ambiente di sviluppo Arduino
contiene un editor di testo per la
scrittura del codice con:
una serie di menu
una barra degli strumenti con
pulsanti per funzioni comuni,
una console di testo,
un'area messaggio.

Si collega all’ hardware Arduino per
caricare programmi e comunicare
con loro.
Fasi
•
•
•
•

Scrivere il testo del programma
Compilare il programma
Caricarlo sulla scheda
Salvarlo

I programmi scritti usando Arduino sono chiamati
“sketches”.
Vengono scritti nell’ editor di testo e salvati nella
cartella degli sketches con estensione .ino
L'area messaggio fornisce l’esito della
compilazione e visualizza anche gli errori.
L'angolo destro inferiore della finestra visualizza
la scheda corrente e la porta seriale .
I pulsanti della barra degli strumenti consentono
di verificare e caricare i programmi
, creare, aprire e salvare schizzi , e apre il
monitor seriale .
Compilare il programma
Collegare la scheda e verificare il tipo
di Arduino e la porta seriale COM
Caricare il programma di esempio
Prima prova: BLINK
Blink è un programma di esempio che
troveremo in File/Esempi/01.Basic/Blink
File > Examples > 1.Basics > Blink

Il programma accende un LED integrato
sulla scheda (output pin 13) e lo fa
lampeggiare ad una frequenza che può
essere modificata dal programmatore.
Compilare lo sketch Blink

• Verifica (compilazione con eventuali errori)
• Carica sulla scheda attraverso la seriale
• Salva nella cartella degli skatches col nome
ProvaBlink1
La cartella degli skatches
Lo sketch ha funzionato?
Durante la carica verificare il lampeggiamento dei LED TX e RX
Una volta caricato il programma, verificare che il LED si accenda ad
intermittenza di 1 secondo (periodo 2 secondi, frequenza o,5 Hz)
 Modifcare il programma per ottenete un LED che si accenda con
frequenza di 0,1 HZ e verificarne l’accensione. Chiamarlo ProvaBlink2.
Modifcare il programma per ottenete un LED che si accenda per 2
secondi e rimanga spento per 8. Chiamarlo ProvaBlink3.

Ogni quanto tempo si deve accendere il LED collegato al pin 13? Ovvero
quanto tempo deve restare spento e quanto acceso?
Quanto deve essere la durata del bit a 1 e quella del bit a 0?
T = 1/ f
Quale istruzione devo modificare? In che modo?
tb = T /2

tb
T
Analisi del programma Blink
/* Blink - Accende e spegne un LED ad intermittenza per un secondo */

int led = 13;

void setup() {
pinMode(led, OUTPUT);
}

//Pin 13 has an LED connected on most Arduino boards.
// dà un nome all’oggetto collegato al pin 13 e lo
dichiara varabile intera.
// premendo il reset si fa girare il programma.

// inizializza il pin digitale come OUTPUT.
// the loop routine runs over and over again forever.

void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

// acende il LED (HIGH è il livello alto di tensione)
// aspetta per un secondo
// spegne il LED impostando il livello di tensione a LOW
// wait for a second
Blink
COMMENTI
Nelle prime righe troviamo alcune frasi che indicano la funzione del programma.
Sono comprese tra /* e */. L’ asterisco potrebbe anche non esserci ma serve a far capire
a chi legge che quel commento indica cosa fa il programma e se è stato modificato.
Tutto ciò che è compreso tra / e / è ignorato da Arduino
Un altro modo per scrivere commenti è il seguente (doppio slash)
int ledPin = 13;

RIGA DI CODICE

// LED connected to digital pin 13

//

commento
Tecnica di programmazione
-Strutture
-Valori (variabili e costanti)
-Funzioni
-Librerie
Struttura
Ecco le istruzioni standard supportate dal linguaggio di programmazione di Arduino.
STRUTTURA
Il codice di qualsiasi programma per Arduino è composto essenzialmente di due parti:
void setup() - Questo è il posto dove mettiamo il codice di inizializzazione. Inizializza
tutte le impostazioni e le istruzioni della scheda (gli INPUT e OUTPUT) prima che il
ciclo principale del programma si avvii.
void loop() - E' il contenitore del codice principale del programma. Contiene una serie
di istruzioni che possono essere ripetute una dopo l'altra fino a quando non
spegnamo la scheda Arduino.
COSTANTI
Nella scheda Arduino è inserita una serie predefinita di parole chiave con valori
speciali.
High e Low sono usati per esempio quando si vuole accendere o spegnere un Pin
di Arduino.
INPUT e OUTPUT sono usate per definire se uno specifico Pin deve essere un
dato di entrata o un dato di uscita.
True e False indicano il rispettivo significato italiano: se abbiamo un'istruzione, la
condizione può essere vera o falsa.
VARIABILI
Sono aree della memoria di Arduino dove si possono registrare dati e intervenire
all’interno del programma. Quando si dichiara una variabile bisogna dichiararne
anche il tipo. Questo significa dire al processore le dimensioni del valore che si
vuole memorizzare. Ne esistono di diversi tipi:

boolean - Può assumere solamente due valori: vero o falso.
char - Contiene un singolo carattere. L'Arduino lo registra come un numero (ma
noi vediamo il testo). Quando i caratteri sono usati per registrare un
numero, possono contenere un valore compreso tra -128 e 127.
byte - Può contenere un numero tra 0 e 255. Come un carattere usa solamente un
byte di memoria.
int - Contiene un numero compreso tra -32'768 e 32'767. E' il tipo di variabile più
usata e usa 2 byte di memoria.
•
•

N.B. ogni istruzione deve sempre terminare con ";" in tale linguaggio.
Inoltre "//" è usato per inserire commenti che aiutano a comprenderlo.
FUNZIONI
pinMode()
Description
Configures the specified pin to behave either as an input or an output.
See the description of digital pins for details on the functionality of
the pins.
Syntax
pinMode(pin, mode)
Parameters
pin: the number of the pin whose mode you wish to set
mode: INPUT, OUTPUT, or INPUT_PULLUP. (see the digital pins page for
a more complete description of the functionality.)
Returns
None
FUNZIONI
digitalWrite()

Description
Write a HIGH or a LOW value to a
digital pin.
Syntax
digitalWrite(pin, value)
Parameters
pin: the pin number
value: HIGH or LOW
Returns
none

delay()

Description
Pauses the program for the amount
of time (in miliseconds) specified
as parameter. (There are 1000
milliseconds in a second.)
Syntax
delay(ms)
Parameters
ms: the number of milliseconds to
pause (unsigned long)
Returns
nothing
http://arduino.cc/

More Related Content

What's hot

Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a ArduinoPietro Aiuola
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduinoguest01fc9d
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoMauro Alfieri
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italyMichele 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
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshopDaniele Iori
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoMirco Piccin
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Daniele Costarella
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progettiMirco Piccin
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 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
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su ArduinoMirko Mancin
 
L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2Michele Maffucci
 

What's hot (20)

Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino Genuino
 
Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
 
Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
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 Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
CoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 ArduinoCoderDojo - Scratch 4 Arduino
CoderDojo - Scratch 4 Arduino
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
 
Arduino: breve introduzione & progetti
Arduino: breve introduzione & progettiArduino: breve introduzione & progetti
Arduino: breve introduzione & progetti
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2Csp@scuola uav corso1_lez2
Csp@scuola uav corso1_lez2
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
 
L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2L'alfabeto di Scratch - lezione 2
L'alfabeto di Scratch - lezione 2
 

Viewers also liked

Scienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SLScienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SLElisa Rubino
 
Poster 70x100 2014_v2
Poster 70x100 2014_v2Poster 70x100 2014_v2
Poster 70x100 2014_v2Elisa Rubino
 
Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Elisa Rubino
 
Safer internet day_2014_ragazzi
Safer internet day_2014_ragazziSafer internet day_2014_ragazzi
Safer internet day_2014_ragazziElisa Rubino
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8mdctech
 
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
 

Viewers also liked (12)

Arduino 3
Arduino 3Arduino 3
Arduino 3
 
Scienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SLScienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SL
 
Poster 70x100 2014_v2
Poster 70x100 2014_v2Poster 70x100 2014_v2
Poster 70x100 2014_v2
 
Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Arduino n° 2 (astronave)
Arduino n° 2 (astronave)
 
Flyer 2014 v2
Flyer 2014 v2Flyer 2014 v2
Flyer 2014 v2
 
Safer internet day_2014_ragazzi
Safer internet day_2014_ragazziSafer internet day_2014_ragazzi
Safer internet day_2014_ragazzi
 
Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8Mdc technology it 2011 v1.8
Mdc technology it 2011 v1.8
 
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
 
Il pic 16 f84a
Il pic 16 f84aIl pic 16 f84a
Il pic 16 f84a
 
Geometria solidi
Geometria solidiGeometria solidi
Geometria solidi
 

Similar to Arduino primo v1

Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteMirco Sbrollini
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoRiccardo Lemmi
 
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
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino Matteo Troìa
 
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
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Csp@scuola uav corso1_lez3
Csp@scuola uav corso1_lez3Csp@scuola uav corso1_lez3
Csp@scuola uav corso1_lez3CSP Scarl
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86Massimiliano Torregiani
 
Review4 u icd2 mplab pic programmer 2010-11-02
Review4 u icd2 mplab pic programmer   2010-11-02Review4 u icd2 mplab pic programmer   2010-11-02
Review4 u icd2 mplab pic programmer 2010-11-02Ionela
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Daniele Costarella
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Salvatore Carotenuto
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollorisamu97
 

Similar to Arduino primo v1 (20)

Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
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
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
 
Raspberry
RaspberryRaspberry
Raspberry
 
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 galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
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
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Grix.it wood board usb
Grix.it    wood board usbGrix.it    wood board usb
Grix.it wood board usb
 
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
 
Csp@scuola uav corso1_lez3
Csp@scuola uav corso1_lez3Csp@scuola uav corso1_lez3
Csp@scuola uav corso1_lez3
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
 
Review4 u icd2 mplab pic programmer 2010-11-02
Review4 u icd2 mplab pic programmer   2010-11-02Review4 u icd2 mplab pic programmer   2010-11-02
Review4 u icd2 mplab pic programmer 2010-11-02
 
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
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
 

More from Elisa Rubino

Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1Elisa Rubino
 
Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010Elisa Rubino
 
Dal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SLDal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SLElisa Rubino
 
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...Elisa Rubino
 
33 Slide In inglese
33 Slide In inglese33 Slide In inglese
33 Slide In ingleseElisa Rubino
 
33 Slide In Italiano
33 Slide In Italiano33 Slide In Italiano
33 Slide In ItalianoElisa Rubino
 
Sloodle Ud V.1paper
Sloodle Ud V.1paperSloodle Ud V.1paper
Sloodle Ud V.1paperElisa Rubino
 
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and LearningSloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and LearningElisa Rubino
 
Corso Slide Sloodle Italia
Corso Slide Sloodle ItaliaCorso Slide Sloodle Italia
Corso Slide Sloodle ItaliaElisa Rubino
 
Corso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMMCorso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMMElisa Rubino
 
Corso di video registrazione
Corso di video registrazioneCorso di video registrazione
Corso di video registrazioneElisa Rubino
 

More from Elisa Rubino (15)

Project work v1
Project work v1Project work v1
Project work v1
 
Flyer 2014 v2
Flyer 2014 v2Flyer 2014 v2
Flyer 2014 v2
 
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
 
Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010
 
Dal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SLDal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SL
 
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
 
33 Slide In inglese
33 Slide In inglese33 Slide In inglese
33 Slide In inglese
 
33 Slide In Italiano
33 Slide In Italiano33 Slide In Italiano
33 Slide In Italiano
 
Sloodle Ud V.1paper
Sloodle Ud V.1paperSloodle Ud V.1paper
Sloodle Ud V.1paper
 
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and LearningSloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
 
Corso Slide Sloodle Italia
Corso Slide Sloodle ItaliaCorso Slide Sloodle Italia
Corso Slide Sloodle Italia
 
Uso di WMM
Uso di  WMMUso di  WMM
Uso di WMM
 
Uso di Fraps
Uso di FrapsUso di Fraps
Uso di Fraps
 
Corso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMMCorso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMM
 
Corso di video registrazione
Corso di video registrazioneCorso di video registrazione
Corso di video registrazione
 

Recently uploaded

Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 

Recently uploaded (7)

Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 

Arduino primo v1

  • 2. Che cos’è Arduino? Arduino è uno strumento per rendere i computer in grado di rilevare e controllare il mondo fisico esterno. Si tratta di una piattaforma open-source basata su una semplice scheda di sviluppo, e un ambiente di sviluppo per la scrittura di software per la scheda. Arduino può essere usato per sviluppare oggetti interattivi, che ricevono input da diversi interruttori o sensori, e controllano luci, motori, e altre uscite fisiche. l'IDE open-source può essere scaricato gratuitamente. Il linguaggio di programmazione Arduino è un'implementazione di WIRING, una piattaforma che si basa sull'ambiente di programmazione Processing multimediale
  • 3. Schema a blocchi Porta seriale COMX Cavo USB INPUT (interruttori, sensori) Ambiente di sviluppo (IDE sul PC) SCHEDA ARDUINO (microcontrollore Atmega e C.I.) OUTPUT (LED, motori, uscite fisiche) Arduino Uno An ATmega328 running at 16 MHz with auto-reset, using the optiboot bootloader (115200 baud, 0.5 KB). BREADBOARD
  • 4. Vantaggi Economico –le schede Arduino sono relativamente poco costoso rispetto ad altre piattaforme a microcontrollore. Cross -platform - Il software Arduino gira su Windows , Macintosh OSX e sistemi operativi Linux . La maggior parte dei sistemi a microcontrollore sono limitati a Windows . Semplice , ambiente di programmazione chiaro - L'ambiente di programmazione Arduino è facile da usare per i principianti , ma abbastanza flessibile per essere sfruttato anche da utenti esperti. Open source; disponibile per estensione software. Arduino viene pubblicato come strumento open source , disponibile per estensioni di programmatori esperti. Il linguaggio di programmazione può essere esteso tramite librerie C + + , e le persone che vogliono capire i dettagli tecnici possono fare il salto da Arduino al linguaggio di programmazione AVR C su cui è basato . Open source; disponibile per estensione hardware - Arduino è basato su microcontrollori ATMEGA8 and ATMEGA168.
  • 5. CREATIVE COMMONS Licenza Creative Commons Deed Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Tu sei libero di: Share - di copiare e ridistribuire il materiale in qualsiasi mezzo o formato Adapt - Remix, trasformare e rielaborare il materiale per qualsiasi scopo, anche commerciale. Chi dà la licenza non può revocare queste libertà finché si seguono i termini di licenza. Alle seguenti condizioni: Attribution/Attribuzione - Devi fornire crediti opportuni, fornire un link alla licenza, ed indicare se sono state apportate modifiche. ShareAlike/Condividi allo stesso modo - Se misceli, trasformi o sviluppi del materiale, è necessario distribuire i tuoi contributi sotto la stessa licenza dell'originale.
  • 8. Ambiente di sviluppo ARDUINO L'ambiente di sviluppo Arduino contiene un editor di testo per la scrittura del codice con: una serie di menu una barra degli strumenti con pulsanti per funzioni comuni, una console di testo, un'area messaggio. Si collega all’ hardware Arduino per caricare programmi e comunicare con loro.
  • 9. Fasi • • • • Scrivere il testo del programma Compilare il programma Caricarlo sulla scheda Salvarlo I programmi scritti usando Arduino sono chiamati “sketches”. Vengono scritti nell’ editor di testo e salvati nella cartella degli sketches con estensione .ino L'area messaggio fornisce l’esito della compilazione e visualizza anche gli errori. L'angolo destro inferiore della finestra visualizza la scheda corrente e la porta seriale . I pulsanti della barra degli strumenti consentono di verificare e caricare i programmi , creare, aprire e salvare schizzi , e apre il monitor seriale .
  • 11. Collegare la scheda e verificare il tipo di Arduino e la porta seriale COM
  • 12. Caricare il programma di esempio
  • 13. Prima prova: BLINK Blink è un programma di esempio che troveremo in File/Esempi/01.Basic/Blink File > Examples > 1.Basics > Blink Il programma accende un LED integrato sulla scheda (output pin 13) e lo fa lampeggiare ad una frequenza che può essere modificata dal programmatore.
  • 14. Compilare lo sketch Blink • Verifica (compilazione con eventuali errori) • Carica sulla scheda attraverso la seriale • Salva nella cartella degli skatches col nome ProvaBlink1
  • 15. La cartella degli skatches
  • 16. Lo sketch ha funzionato? Durante la carica verificare il lampeggiamento dei LED TX e RX Una volta caricato il programma, verificare che il LED si accenda ad intermittenza di 1 secondo (periodo 2 secondi, frequenza o,5 Hz)  Modifcare il programma per ottenete un LED che si accenda con frequenza di 0,1 HZ e verificarne l’accensione. Chiamarlo ProvaBlink2. Modifcare il programma per ottenete un LED che si accenda per 2 secondi e rimanga spento per 8. Chiamarlo ProvaBlink3. Ogni quanto tempo si deve accendere il LED collegato al pin 13? Ovvero quanto tempo deve restare spento e quanto acceso? Quanto deve essere la durata del bit a 1 e quella del bit a 0? T = 1/ f Quale istruzione devo modificare? In che modo? tb = T /2 tb T
  • 17. Analisi del programma Blink /* Blink - Accende e spegne un LED ad intermittenza per un secondo */ int led = 13; void setup() { pinMode(led, OUTPUT); } //Pin 13 has an LED connected on most Arduino boards. // dà un nome all’oggetto collegato al pin 13 e lo dichiara varabile intera. // premendo il reset si fa girare il programma. // inizializza il pin digitale come OUTPUT. // the loop routine runs over and over again forever. void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } // acende il LED (HIGH è il livello alto di tensione) // aspetta per un secondo // spegne il LED impostando il livello di tensione a LOW // wait for a second
  • 18. Blink COMMENTI Nelle prime righe troviamo alcune frasi che indicano la funzione del programma. Sono comprese tra /* e */. L’ asterisco potrebbe anche non esserci ma serve a far capire a chi legge che quel commento indica cosa fa il programma e se è stato modificato. Tutto ciò che è compreso tra / e / è ignorato da Arduino Un altro modo per scrivere commenti è il seguente (doppio slash) int ledPin = 13; RIGA DI CODICE // LED connected to digital pin 13 // commento
  • 19. Tecnica di programmazione -Strutture -Valori (variabili e costanti) -Funzioni -Librerie
  • 20. Struttura Ecco le istruzioni standard supportate dal linguaggio di programmazione di Arduino. STRUTTURA Il codice di qualsiasi programma per Arduino è composto essenzialmente di due parti: void setup() - Questo è il posto dove mettiamo il codice di inizializzazione. Inizializza tutte le impostazioni e le istruzioni della scheda (gli INPUT e OUTPUT) prima che il ciclo principale del programma si avvii. void loop() - E' il contenitore del codice principale del programma. Contiene una serie di istruzioni che possono essere ripetute una dopo l'altra fino a quando non spegnamo la scheda Arduino.
  • 21. COSTANTI Nella scheda Arduino è inserita una serie predefinita di parole chiave con valori speciali. High e Low sono usati per esempio quando si vuole accendere o spegnere un Pin di Arduino. INPUT e OUTPUT sono usate per definire se uno specifico Pin deve essere un dato di entrata o un dato di uscita. True e False indicano il rispettivo significato italiano: se abbiamo un'istruzione, la condizione può essere vera o falsa.
  • 22. VARIABILI Sono aree della memoria di Arduino dove si possono registrare dati e intervenire all’interno del programma. Quando si dichiara una variabile bisogna dichiararne anche il tipo. Questo significa dire al processore le dimensioni del valore che si vuole memorizzare. Ne esistono di diversi tipi: boolean - Può assumere solamente due valori: vero o falso. char - Contiene un singolo carattere. L'Arduino lo registra come un numero (ma noi vediamo il testo). Quando i caratteri sono usati per registrare un numero, possono contenere un valore compreso tra -128 e 127. byte - Può contenere un numero tra 0 e 255. Come un carattere usa solamente un byte di memoria. int - Contiene un numero compreso tra -32'768 e 32'767. E' il tipo di variabile più usata e usa 2 byte di memoria. • • N.B. ogni istruzione deve sempre terminare con ";" in tale linguaggio. Inoltre "//" è usato per inserire commenti che aiutano a comprenderlo.
  • 23. FUNZIONI pinMode() Description Configures the specified pin to behave either as an input or an output. See the description of digital pins for details on the functionality of the pins. Syntax pinMode(pin, mode) Parameters pin: the number of the pin whose mode you wish to set mode: INPUT, OUTPUT, or INPUT_PULLUP. (see the digital pins page for a more complete description of the functionality.) Returns None
  • 24. FUNZIONI digitalWrite() Description Write a HIGH or a LOW value to a digital pin. Syntax digitalWrite(pin, value) Parameters pin: the pin number value: HIGH or LOW Returns none delay() Description Pauses the program for the amount of time (in miliseconds) specified as parameter. (There are 1000 milliseconds in a second.) Syntax delay(ms) Parameters ms: the number of milliseconds to pause (unsigned long) Returns nothing