Costruire una funzione permette di scrivere il codice fuori delle due funzioni principali, setup e loop, e richiamarlo ogni volta che serve. Per esempio potrei scrivere la funzione blink che esegue un lampeggio e richiamarla quando serve.

Costruire una funzione significa scrivere dopo la funzione di loop un codice del tipo:

tipof nome(tipo parametro, tipo parametro.... tipo parametro){
     codice da eseguire;
     return variabile_restituita;
}

dove per “tipof” si intende il tipo di dato che la funzione restituisce, mentre per “tipo” si intende il tipo di parametro che deve essere dato alla funzione per lavorare. Return deve essere seguito dalla variabile che conterrà il valore da restituire.

Esempio: la funzione somma deve restituire la somma di due variabili ma le servono i 2 parametri per calcolare il risultato a+b. La funzione dovrebbe essere questa:

int somm(int a, int b){
     int s=a+b;
     return s;
     }


Facciamo qualche esercizio per capire.

Esercizio: definire 4 funzioni per visualizzare un esempio delle  4 operazioni aritmetiche tra due numeri scelti  a risultato ottenuto fare lampeggiare un led.

Si tratta di visualizzare solo un output di esempio sul serial monitor (vedi figura sotto) in cui viene eseguita la somma tra due numeri scelti prima. Bisogna tuttavia definire 4 funzioni ognuna delle quali effettua l’operazione aritmetica di due numeri. Per semplicità potete definire funzioni che accettano parametri float e restituiscono parametri float, anche se somma e differenza potrebbero operare e restituire numeri interi. L’output è del tipo quello in figura.

          

Come variante potete chiedere la generazione random dei numeri in input.