Funzioni e Librerie
Teoria
Concetto di funzione
Una funzione è una parte di codice separata dal flusso principale. L'importanza, la praticità e i vantaggi di una funzione stanno nel fatto che può essere "richiamata" in diversi punti del programma di cui fa parte, ogni volta in cui si ha la necessità di farlo, come se fosse una singola istruzione senza la necessità di dover riscrivere ogni volta il relativo codice.
Per ora useremo alcune funzioni predefinite del linguaggio; nelle prossime lezioni vedremo come implementarne di personalizzate.
Teoria
delay(millisecondi)
Mette in pausa un programma per la quantità di tempo specificato in millisecondi. Il valore 1000 è pari a 1 secondo.
pinMode(pin,mode)
Utilizzato in void setup(), serve per configurare un determinato pin e stabilire se deve essere un ingresso o un'uscita.
digitalRead(pin)
L’istruzione permette di leggere lo stato di un pin (digitale) di input e restituisce un valore HIGH se al pin è applicato un tensione o un valore LOW se non è applicato nessun segnale.
digitalWrite(pin,valore)
Attiva o disattiva un pin digitale, quindi l’istruzione pone il pin di uscita a livello logico HIGH o LOW.
analogRead(pin)
Legge il valore di tensione applicato ad un pin di input analogico con una risoluzione pari a 10 bit. Questa funzione restituisce un numero intero compreso tra 0 e 1023.
analogWrite (pin, value)
Cambia la percentuale della modulazione di larghezza di impulso (Pulse Width Modulation) su uno dei pin contrassegnati dalla sigla PWM.
Teoria
Caratteristiche
Una funzione
- riceve dei parametri in ingresso (input). Potrebbe non avere nessun parametro in entrata.
- produce un risultato in uscita (output). Potrebbe non avere alcun risultato in uscita.
Teoria
Dichiarazione
Per costruire una funzione bisogna dichiararla prima della funzione setup().
tipoRis NomeFunzione (tipo1 par1, tipo1 par1,... ) {
// Corpo della funzione
}
Teoria
Esempio
Funzione che calcola il massimo tra 3 numeri interi. Riceve in ingresso tre parametri e restituisce un risultato.
int Max3Num (int v1, int v2, int v3) {
int max=0;
if (v1>v2) {
if (v1>v3) max=v1
else max=v3;
}
else {
if (v2>v3) max=v2
else max=v3;
}
return max;
}
Teoria
Libreria software
In Informatica, una libreria software è un insieme di funzioni di uso comune, predisposte per essere collegate ad un programma software.
Lo scopo delle librerie software è quello di fornire una vasta collezione di funzioni di base pronte per l'uso, evitando al programmatore di dover scrivere ogni volta le stesse funzioni di uso comune.
Ogni linguaggio di programmazione possiede la sua collezione di librerie, le quali vengono distinte in librerie standardizzate e librerie non standardizzate.
Il modo che ARDUINO usa per includere le librerie negli SKETCH è quello di usare la diretta #include.
Il seguente esempio include due librerie, la prima riga include quella per la gestione del Display a cristalli liquidi, la seconda include quella per la gestione del Ricevitore ad infrarossi.
#include <LiquidCrystal.h>
#include <IRremote.h>
Intervento del docente
Far notare che la libreria relativa al Display non ha bisogno di installazione mentre quella relativa al Ricevitore deve essere installata. Riferimento: Esercizio 012.