Buenas amigos de Arduino
Tengo generador de viento y estoy haciendo un medidor de corriente directa, tengo un sensor de corriente y lee cada segundo. y ahora lo que me gustaria hacer es un promedio cada minuto de cuanta corriente produce; estoy usando el codigo de abajo pero el resultado esta raropara la corriente y el promedio me da:
Current = 0.56
Average = 0
saludos...
int calVal = 511;
int mVpA = 66;
const int numReadings = 10;
int readings[numReadings]; // Lecturas de la entrada analogica
int index = 0; // El indice de la lectura actual
int total = 0; // Total
int average = 0; // Promedio
int inputPin = A5;
void setup () {
Serial.begin(9600);
// Iniciamos todas las lecturas a la entrada 0
for (int thisReading = 0; thisReading < numReadings; thisReading++)
readings[thisReading] = 0;
}
void loop(){
int val = analogRead(A5);
int valAdj = val - calVal;
float milliVolts = ((valAdj * 5.00) / 1024) * 1000;
float Amps = milliVolts / 61;
//Serial.println(val);
//Serial.println(milliVolts);
Serial.print("Current = ");
Serial.println(Amps);
//delay(1000);
// Restamos la ultima lectura:
total= total - readings[index];
// Leemos del sensor:
readings[index] = Amps;
// Añadimos la lectura al total:
total= total + readings[index];
// Avanzamos a la proxima posicion del array
index = index + 1;
// Si estamos en el final del array...
if (index >= numReadings)
// ...volvemos al inicio:
index = 0;
// Calculamos el promedio:
average = total / numReadings;
// Lo mandamos a la PC como un valor ASCII
Serial.print("Average = ");
Serial.println(average);
delay(10000);
}