Arduino primo v1

25
Arduino

description

Arduino: prima lezione

Transcript of Arduino primo v1

Page 1: Arduino primo v1

Arduino

Page 2: Arduino primo v1

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

Page 3: Arduino primo v1

BREADBOARD

Schema a blocchi

SCHEDA ARDUINO (microcontrollore

Atmega e C.I.)

Ambiente di sviluppo(IDE sul PC)

OUTPUT (LED, motori, uscite fisiche)

INPUT (interruttori, sensori)

Porta seriale COMXCavo USB

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

Page 4: Arduino primo v1

VantaggiEconomico –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.

Page 5: Arduino primo v1

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.

Page 6: Arduino primo v1

Scheda e cavo

Page 7: Arduino primo v1

BREADBOARDPiano di compensato

SCHEDA ARDUINO

Page 8: Arduino primo v1

Ambiente di sviluppo ARDUINO

L'ambiente di sviluppo Arduino contiene un editor di testo per la scrittura del codice con:una serie di menuuna 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.

Page 9: Arduino primo v1

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 .

Page 10: Arduino primo v1

Compilare il programma

Page 11: Arduino primo v1

Collegare la scheda e verificare il tipo di Arduino e la porta seriale COM

Page 12: Arduino primo v1

Caricare il programma di esempio

Page 13: Arduino primo v1

Prima prova: BLINKBlink è 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.

Page 14: Arduino primo v1

Compilare lo sketch Blink

• Verifica (compilazione con eventuali errori)• Carica sulla scheda attraverso la seriale• Salva nella cartella degli skatches col nome

ProvaBlink1

Page 15: Arduino primo v1

La cartella degli skatches

Page 16: Arduino primo v1

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?Quale istruzione devo modificare? In che modo?

T

tb

T = 1/ f

tb = T /2

Page 17: Arduino primo v1

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

//Pin 13 has an LED connected on most Arduino boards. int led = 13; // dà un nome all’oggetto collegato al pin 13 e lo

dichiara varabile intera. // premendo il reset si fa girare il programma.void setup() { pinMode(led, OUTPUT); // inizializza il pin digitale come OUTPUT.} // the loop routine runs over and over again forever.void loop() { digitalWrite(led, HIGH); // acende il LED (HIGH è il livello alto di tensione) delay(1000); // aspetta per un secondo digitalWrite(led, LOW); // spegne il LED impostando il livello di tensione a LOW delay(1000); // wait for a second}

Page 18: Arduino primo v1

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 ArduinoUn altro modo per scrivere commenti è il seguente (doppio slash)

int ledPin = 13; // LED connected to digital pin 13

Blink

RIGA DI CODICE // commento

Page 19: Arduino primo v1

Tecnica di programmazione

-Strutture -Valori (variabili e costanti) -Funzioni

-Librerie

Page 20: Arduino primo v1

StrutturaEcco le istruzioni standard supportate dal linguaggio di programmazione di Arduino. STRUTTURAIl 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.

Page 21: Arduino primo v1

COSTANTINella 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.

Page 22: Arduino primo v1

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.

Page 23: Arduino primo v1

FUNZIONI

pinMode()DescriptionConfigures 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. SyntaxpinMode(pin, mode) Parameterspin: 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.) ReturnsNone

Page 24: Arduino primo v1

FUNZIONI

digitalWrite()

DescriptionWrite a HIGH or a LOW value to a

digital pin. SyntaxdigitalWrite(pin, value) Parameterspin: the pin number value: HIGH or LOW Returnsnone

delay()

DescriptionPauses the program for the amount of

time (in miliseconds) specified as parameter. (There are 1000 milliseconds in a second.)

Syntaxdelay(ms) Parametersms: the number of milliseconds to

pause (unsigned long) Returnsnothing

Page 25: Arduino primo v1

http://arduino.cc/