Avarage

In questo tutorial costruiamo un circuito in cui collegare un qualsiasi sensore al pin analogico 0, leggiamo 10 valori e ne calcoliamo la media.

Il codice da scrivere è il seguente:

#define NUMREADINGS 10  //10 valori da leggere
#define inputPin 0 //Sensore collegato al pin analogico 0
int readings[NUMREADINGS];  //Letture dal input analogico
int index = 0;  //Indice della lettura corrente
int total = 0;  //Totale letture
int average = 0;  //Media

void setup()
{
     Serial.begin(9600);
     for (int i = 0; i < NUMREADINGS; i++)
         readings[i] = 0;  //Mette tutti 0 nell'array
}

void loop()
{
     total -= readings[index];  //Sottrae l'ultima lettura
     readings[index] = analogRead(inputPin);  //Legge i valori provenienti dal sensore e li salva nell'array
     total += readings[index];  //Aggiunge la lettura al totale
     index = (index + 1);  //Incrementa l'indice
 
     if (index >= NUMREADINGS)
        index = 0;  //Alla fine dell'array resetta l'indice a 0
 
     average = total / NUMREADINGS;  //Calcola la media
     Serial.println(average); //Stampa la media
}

Analisi codice:

1- i++; equivale a dire i:   i = i + 1;

2- i–; equivale a dire i: i = i -1;

3- x += y; equivale a dire x = x + y;

4- x -= y; equivale a dire x = x – y;

5- x *= y; equivale a dire x = x * y;

6- x /= y; equivale a dire x = x / y;



Be Sociable, Share!

2 Comments

  1. Alberto scrive:

    Vogliamo altre guidee!!

  2. ArduinoTutorial scrive:

    Guarda le guide sono finite, tantè che quelle che ho messo servono per capire come funziona arduino e la sua programmazione in modo che gli utenti sono in grado da sè di fare i loro progetti. Quello che avevo intenzione ora di fare era di aprire la sezione progetti, il problema e che sono 2 settimane circa che penso a cosa poter fare e non mi viene in mente nulla…Questo per colpa dell’elevato costo dei componenti elettronici…vorrei realizzare un progetto (anche da 200 euro) ma che sia utile e non una cosa che dopo che è finita la metti nel dimenticatoio, non sò se mi sono spiegato. Insomma un progetto che sia utile anche se costa tanto, sinceramente non ha senso sviluppare un qualcosa dal prezzo elevato se poi tanto sai già che è solo un bel soprammobile.