Arduino Quick Reference - .Arduino Quick Reference Arduino Quick Reference Di Luca Panebianco per

download Arduino Quick Reference - .Arduino Quick Reference Arduino Quick Reference Di Luca Panebianco per

If you can't read please download the document

  • date post

    15-Feb-2019
  • Category

    Documents

  • view

    276
  • download

    6

Embed Size (px)

Transcript of Arduino Quick Reference - .Arduino Quick Reference Arduino Quick Reference Di Luca Panebianco per

Arduino Quick Reference

Arduino Quick ReferenceDi Luca Panebianco per Automazione Open Source

Versione 1.0www.xploreautomation.com

Pag 1

http://www.xploreautomation.com/

Arduino Quick Reference

Indice dei contenuti1 Strutture ............................................................................................................................................3

1.1 Strutture fondamentali del programma.....................................................................................31.2 Strutture di controllo di base.....................................................................................................31.3 Strutture di sintassi....................................................................................................................51.4 Operatori aritmetici...................................................................................................................51.5 Operatori di comparazione........................................................................................................61.6 Operatori booleani....................................................................................................................61.7 Operatori per l'accesso a puntatore...........................................................................................71.8 Operatori bit a bit(bitwise)........................................................................................................71.9 Operatori composti...................................................................................................................8

2 Variabili ............................................................................................................................................92.1 Costanti.....................................................................................................................................92.2 Tipi di dato..............................................................................................................................102.3 Conversione............................................................................................................................122.4 Funzioni di utilit....................................................................................................................12

3 Funzioni ..........................................................................................................................................123.1 I/O Digitali..............................................................................................................................123.2 I/O Analogici...........................................................................................................................133.3 I/O Avanzati(audio,shift,pulse)...............................................................................................133.4 Temporali................................................................................................................................143.5 Matematiche............................................................................................................................153.6 Trigonometriche......................................................................................................................153.7 Generatrici di numeri casuali..................................................................................................163.8 Riguardanti Bit e Bytes...........................................................................................................163.9 Interrupt esterni.......................................................................................................................163.10 Interrupt................................................................................................................................173.11 Comunicazione.....................................................................................................................17

4 Alcune classi standard.....................................................................................................................174.1 Funzioni della classe String....................................................................................................174.2 Funzioni della classe Serial.....................................................................................................20

La lista di strutture,dati e funzioni stata direttamente tratta dal sito ufficiale di Arduino alla pagina http://arduino.cc/it/Reference/HomePage

Pag 2

http://arduino.cc/it/Reference/HomePage

Arduino Quick Reference

1 Strutture

1.1 Strutture fondamentali del programma

setup(){...} Inizializzazione del programma. All'interno vengono settati gli ingressi/uscite, le variabili e fatti partire alcuni servizi(come la seriale).

Loop(){...} Questo in mail loop del programma. Il codice all'interno verr ripetuto all'infinito.

1.2 Strutture di controllo di base

If(cond){...} Se viene verificata la condizione(cond) dell'if viene eseguito il codice all'interno del blocco.Es:if(i

Arduino Quick Reference

essere modificata nel ciclo}

switch(var){ Lo switch funziona come un interruttore. Passata una variabile case val1: a questa struttura(var) vengono applicate diverse azioni a break; differenza del suo valore attraverso i case. Alla fine delle } istruzioni per lo specifico caso si esce dalla struttura con un

break.Es:int var=1;switch(var){case 0: //codice che non verr eseguito poich var!=1break;case 1: //codice che verr eseguito fino al breakbreak;...}

while(cond){...} Se viene verificata la condizione(cond) si entra nel blocco. Un ciclo del tipo while(true) almeno ch non ci sia un'istruzione di break all'interno genera un ciclo infinito.Es:while(i!=0){ //loop che verr eseguito finch vale la

condizione}

do{...}while(cond) Simile al while() con l'unica differenza che il blocco viene eseguito almeno una volta.

break; Istruzione che permette di uscire dal ciclo attuale(for, while o do...while) o uscire da uno switch.

continue; Il continue serve a saltare le istruzioni successive in un loop riportandoci all'inizio dello stesso.

return var; Le funzioni spesso hanno una variabile di ritorno. Con questa istruzione facciamo proprio questo: impostiamo come ritorno il valore di una variabile.

Pag 4

Arduino Quick Reference

goto(label); Trasferisce il flusso del programma nel punto in cui definito label. Solitamente non consigliato nella programmazione C ma utilizzabile solo quando si hanno cicli for o if pesantemente nidificati.Es:for(byte r = 0; r < 255; r++){ for(byte g = 255; g > -1; g--){ for(byte b = 0; b < 255; b++){ if (analogRead(0) > 250){ goto erroreConGoto;} } }}erroreConGoto:

Se si verifica la condizione di errore si va direttamente fuori dal ciclo for.

1.3 Strutture di sintassi

; Carattere di fine istruzione.

{...} Le parentesi graffe circondano un blocco di istruzioni.

//... Questi due caratteri identificano un commento su un'unica riga.

/* ... */ Questi caratteri identificano un commento che si pu scrivere su pi righe.

#define Serve per definire costanti utilizzate all'interno del programma. Devono essere definite all'inizio del programma stesso.

#include Serve ad includere altri file nel nostro programma come librerie e altri file che magari hanno solo costanti.

1.4 Operatori aritmetici

Pag 5

Arduino Quick Reference

= Operatore di assegnamento: alla variabile sulla sinistra viene dato uno specifico valore. Es. int a=5;

+ Operatore di somma.

- Operatore di sottrazione.

* Operatore di moltiplicazione.

/ Operatore di divisione.

% Operatore di resto di una divisione.

1.5 Operatori di comparazione

== Operatore di uguaglianza: riporta vero solo se gli elementi a destra e sinistra hanno lo stesso valore.

!= Operatore di disuguaglianza: riporta vero solo se l'operatore di uguaglianza riporta falso.

< Operatore di minoranza stretta: riporta vero se e solo se l'elemento a sinistra minore dell'elemento a destra.

> Operatore di maggioranza stretta: riporta vero se e solo se l'elemento a sinistra maggiore dell'elemento a destra.

= Operatore di maggioranza non stretta: riporta vero se e solo se l'elemento a sinistra maggiore o al massimo uguale dell'elemento a destra.

Pag 6

Arduino Quick Reference

1.6 Operatori booleani

&& Operatore AND Es. a && b riporter vero solo se entrambe le condizioni sono vere.

|| Operatore OR Es a || b riporter vero se almeno una delle due condizioni vera

! Operatore NOT Es. ! a riporter vero sono se la condizione a falsa

1.7 Operatori per l'accesso a puntatore

* (puntatore) Puntatori e riferimenti sono alcune tra le features pi & (riferimento) complicate per chi inizia a programmare in C e non

semplice spiegarlo qui in poche parole . Comunque per scrivere la maggior parte degli sketch non ci sar bisogno di queste conoscenze

1.8 Operatori bit a bit(bitwise)

bin1 & bin2 Operatore che fa l'AND bit a bitEs:1 0 0 1 1 &1 0 0 0 1-----------1 0 0 0 1

bin1 | bin2 Operatore che fa l'OR bit a bitEs:1 0 0 0 1 &1 1 0 0 0-----------1 1 0 0 1

^bin1 Operatore che fa lo XOR(eXclusive OR) bit a bitEs:1 0 0 1 1 &1 1 0 1 0-----------0 1 0 0 1

Pag 7

Arduino Quick Reference

~bin1 Operatore di NOT bit a bitEs:~ 1 0 0 1 1 ----------- 0 1 1 0 0

var > n_bit Operatore che consente lo