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;
Vogliamo altre guidee!!
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.