Ripeto quanto detto nel post #4, quel codice funziona ma contiene un piccolo e sanguinoso piccolo errore nascosto che dopo vani tentativi di ricreare un nuovo codice finalmente è venuto alla luce.
Quell'errore è senza dubbio quello che ti ha dato problemi con il for e sicuramente di dichiarare la variabile "i" due volte, sia all'inizio come globale che all'interno del for come locale e con questo rispondo al tuo post #5.
Nella tua dichiarazione for:
for(int i=0;i<=7;i++)**;**{
Cosa diavolo fa quel ";" dipinge?.
Toglilo!
In questo modo funzionerà correttamente, anche se non capisco perché salvi i valori in una matrice se non li leggi in seguito.
Togliendo questo e seguendo i consigli di @fratt e @nello791 come dicevo prima l'idea originale potrebbe essere così:
#include <LiquidCrystal.h>
#define rs 12
#define en 11
#define d4 5
#define d5 4
#define d6 3
#define d7 2
#define LED 13
int sensorPin = 0;
float temp = 0;
int misure;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode (LED, OUTPUT);
}
void loop() {
temp = 0;
for (int i = 0; i <= 7; i++) {
sensorPin = analogRead(0);
misure = (0.488 * sensorPin - 50);
temp = temp + misure;
delay (50);
}
temp = temp / 8.0;
Serial.println(temp);
delay(1000);
}
Saluti.