intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e...

14
Daniel Vinueza elettronica Sommario Introduzione...............................................................................................1 Lo sketch più semplice al mondo che non fa nulla...........................................................2 Vocabolario:...............................................................................................3 Arduino....................................................................................................4 Sensori....................................................................................................4 Attuatori..................................................................................................4 Arduino 1..................................................................................................5 La struttura del software..................................................................................5 Introduzione Arduino ha un basso costo, è facile da utilizzare, e ha una filosofia OPEN HARDWARE. Arduino ha reso accessibile a tutti il Physical compunting Lo sketch più semplice al mondo che non fa nulla Più semplice di cosi non si può: 1

Transcript of intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e...

Page 1: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

SommarioIntroduzione................................................................................................................................................................................................................................... 1

Lo sketch più semplice al mondo che non fa nulla..............................................................................................................................................................................2

Vocabolario:................................................................................................................................................................................................................................... 3

Arduino............................................................................................................................................................................................................................................. 4

Sensori............................................................................................................................................................................................................................................. 4

Attuatori........................................................................................................................................................................................................................................... 4

Arduino 1......................................................................................................................................................................................................................................... 5

La struttura del software..................................................................................................................................................................................................................... 5

IntroduzioneArduino ha un basso costo, è facile da utilizzare, e ha una filosofia OPEN HARDWARE.

Arduino ha reso accessibile a tutti il Physical compunting

Lo sketch più semplice al mondo che non fa nullaPiù semplice di cosi non si può:

le righe che cominciano con//sono dei commenti

Void setup(){

1

Page 2: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

//Qui va il codice di inizializzazione

//viene eseguito una volta sola

}

Void loop(){

//Qui va il codice principale

//viene eseguito in continuazione

}

Attenzione: alla fine di ogni comando si mette “;”

Possiamo notare due cose:

1. Tutto quello che segue il carattere “//” è un commento utile per noi, ma viene ignorato dai programmi.2. Le sezioni Setup & Loop sono delimitate da parenesi e graffe, questo è un modo per raggruppare blocchi di istruzioni.

Come faccio le Parentesi e Graffe, se le cancello per sbaglio?{ (

Premi tasto AltGr+Shift+E

}

Premi tasto AltGr+Shift+Tasto “+”

Il mio primo; e vero SketchProviamo a dare un’occhiata come accendere un LED (Esempi -> 01.Basics -> Blink)

2

Page 3: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Con questo programma posso lampeggiare un led presente sulla scheda Arduino

void setup() {

// initialize digital pin 13 as an output.

3

Page 4: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

pinMode(13, OUTPUT);

// settiamo il Pin13 come Output(Uscita)

}

void loop() {

digitalWrite(13, HIGH); // Assegno al Pin13un valore digitale. High = Alto Valore1; con questo comando il Led si accenderà.

delay(1000); // Aspetta o ritarda un second. (1000 = 1 secondo)

digitalWrite(13, LOW); // Assegno al Pin13un valore digitale. Low = Basso Valore0; con questo comando il Led si spegnerà.

delay(1000); // Aspetta o ritarda un second. (1000 = 1 secondo)

}

Possiamo notare due cose:1. Ogni istruzione che non sia un commento termina con un “;”. Se manca il protgram,ma non legge le istruzioni succesive.2. Il pragramma distingue le maiuscole da quelle minuscole; per esempio se scrivessi “DigitalWrite invece che “digitalerite”

il comando non verrebbe risconoscito4

Page 5: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Come caricare uno sketch su arduinoPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo scritto per renderlo comprensibile al Hardware, per farlo clicchiamo sul tasto “Verificare”

Questa operazione si chiama “COMPILAZIONE”

Una volta terminata possiamo collegare Arduino al Pc cn un cavo Usb e fare clik su “CARICA”

Se tutto vabene vedremo il Led lampeggiare per un breve periodo, a indicare che il Pc sta trasferendo le nostre istruzioni, debitamente tradotte ad Arduino , dopo pochi istanti vedremo il Led lampeggiare.

5

Page 6: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Definire il comportamento di un PinUn Pin è come un bocchettone: posso decidere di usarlo come un rubinetto dal quale esce acqua, oppure come uno scarico in cui fare

entrare acqua.

Su una scheda Arduino ci sono diversi Pin

Quelli numerati da 0 a 13 sono tutti digitali, non conoscono mezze misure: proseguendo con l’analogia se fossero rubinetti potrebbero essere solo completamente aperti oppure completamente chiusi.

6

Page 7: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronicaI vantaggi di Arduino sono la possibilità di modificare il comportamento di Pin digitali e decidere se usarli come ingressi o uscite.

Un paso avanti= one step beyondCi piacerebbe che illed si accendesse in determinate condizioni …

Per esmpio quando premiamoun un plunsante

Comemateriali Hardware ci serve:

Arduino Cavo Usb Bread board Led Una resistenza per non far bruciare il nostro led Pulsante Copri pulsante Cavi per collegare il tutto

Impostermo per esmpio il pin 7 come input {es. pinMode (7,INPUT);}

Collegiamo il led in serie ad una resistenza perlimitare la corrente fornita adArduino ed evitare di dannegiare il led o la scheda.

Per sapere se il pin sta entrando corrente (come se volessimo vedere se nel tubo sta passando acqua) si usa il comando digitalRed che accetta 2 parametri:

Il primo e il pin che voglioamo comandare Il secondo ci restituisce anche un valore, nello specifico HIGH (se alpin arriva corrente) Low in caso contrario

Es.

Esempio Comando Descrizione Voglio vedere se il pin 7 e acesso digitalRead(7)==HIGH; HIGH= 1 = passa correnteVoglio vedere se ilpin 7 e spento digitalRead(7)==LOW; LOW= 0 = non passa corrente

7

Page 8: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Cosa facciamo col dato che ci restituisce digitalRead? Lo possiamo usare per impostare una “variabile”.

La variabile èuna specie di cassettino con un’etichetta (un nome) in cui possiamo mettere un valore che poi possiamo andare a vedere,o modificare, tutte le volte che vogliamo.

Per assegnare un valore ad una variabile si scrive cosi:

int LED = digitalRead (7);

int e un termine speciale che serve a indicare che tipo di dati metteremo come variabile.

In questo caso dice che la variabile “LED” assumerà un valore intero.

= siusa per assegnare un valore ad una variabile.

Non avevamo detto che digitalRead restituiva ai HIHG o LOW?

Questi 2 valori sono delle costanti usate per ricordarci il significato dei valori che ci vengono restituiti (esempi predefiniti: HIHG O LOW, INPUT o OUTPUT)

Se volessimo potremmo definire anche noi delle costanti semplicemente scrivendo prima della dichiarazione della variabile il termine “CONST” che permette di definire una variabile.

La differenza tra una variabile e una costante è che se la variabile può cambiare valore tutte le volte che serve, il valore della costante rimare nel tempo costante e invariato.

Nel setup dobbiamo dire che il pin 7 èun ingesso il 13 in un uscita

Ma in questo modo dovremmo ricordarci per tutto lo sketch che il led e sul Pin13, e il pulsante sul Pin7

8

Page 9: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Vocabolario:

Hardware libero OPEN HARDWARE: Ovvero componenti elettronici progettati con la stessa politica del OPEN

SOURCEQuesto pensiero è per la libera

divulgazione di informazioni riguardanti il progetto stesso del Hardware,

comprendente gli schemi, la lista dei materiali il layout(descrizione di tutti i

materiali e componenti utilizzati)dei dati del circuito stampato.

(stampante, computer,e la ricetta di cucina)

Sorgente aperta OPEN SOURE: Indica un Software in cui gli attori rendono pubblico il codice sorgente, favorendole e permettendo ad altri programmatori di poter eseguire

modifiche ed estensioni.(adobe, android, chorme, linux, ubuntu,

utorrent)9

Page 10: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Interazione fisica del computer Physical compunting Possibilità realizzare sistemi (attraverso l’uso di SW e HW), che possano interagire con il mondo esterno.

(Physical compuntin

g=sensori+arduino+attuatori “alarme, sensori dei movimenti”), quindi dipositivo elabora questi sistemi

Sensori Sensors Dispositivi che ci danno delle informazioni(sono legate ai 5 sensi), le lampade che si accendono(abat jour),

dal mondo esternoAttuatori Actuators Dispositivi che compiono delle azioni,

l’allarme,

Sketch SchizzoSeria di istruzioni in linguaggio che

somiglia vagamente all’English.(permettono di far funzionare l’Arduino)

ArduinoE una sorta di piccolo computer, che possiamo interagire con il mondo che lo circonda. Possiamo collegarlo dei sensori che lo mettono di reagire all’ambiente operando su altri dispositivi attuatori, seguendo una serie di regole, e istruzioni che possiamo

decidere noi.

SensoriI sensori sono legati ai 5 sensi:

Sensori SensorsOlfatto Sense of smell Sensori di gas, sensori di fumoGusto Taste Palato

10

Page 11: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Udito Hearing Sensori di rumore(lampada che si accende applaudendo), microfono.

Vista View Telecameratatto Touch Sensore di impronte digitale

AttuatoriDispositivi che compiono delle azioni date da noi tramite Arduino

Arduino 1Dispositivo basato su un micro-controllore che permette di realizziare diversi circuiti elettronici.

Possiede 14 pin digitali programmabili come ingressi e uscite e 6 ingressi per acquisire ed elaborare segnali analogici.

Ha una memoria flash di 32kb viene alimentato da usb o tramite l’appositi caricabatterie: se collegati entrambi la scheda è capace di scegliere automaticamente la fonte di alimentazione.

La struttura del softwarePer definire il comportamento del nostro prototipo dobbiamo scrivere del software, in Arduino non ci sono programmi, ma

Sketch, che sono divisi in due sezioni :

Sezione Funzionalità Esempio Setup Vengono date le istruzioni da eseguire una sola

voltaIl connettore entra nella porta nove,il quale al

sensoreLoop Vengono date le istruzioni da eseguire finché

Arduino è alimentatoControlla il valore rilevato dal sensore; se e

superiore ad una certa soglia accende la luce aspetta 10 secs e ricomincia.

11

Page 12: intriagoalejandro.files.wordpress.com€¦  · Web viewPrima di caricare un programma su arduino e necessario verificarlo. L’ambiente di sviluppo deve codificare quel che abbiamo

Daniel Vinueza elettronica

Tolta l’alimentazione Arduino non dimentica nulla, quando lo riaccendiamo ricomincerà a eseguire lo Sketch caricato. Possiamo far ripartire il tutto anche premendo il tasto “RESET” presente sulla scheda.

12