Encontré este problema usando arduino pero IMO esto se relaciona más con el eng electrónico. Uso pin0 sin ningún pull-up / pull-down / connection.
Código simplificado:
if (samplesQty >= 5000){
Serial.println(buffer/samplesQty);
buffer = samplesQty = 0;
} else {
buffer += analogRead(0);
samplesQty++;
}
La pregunta es ¿por qué obtengo un valor ~ 450 (de un máximo de 1024) si tomo 2 muestras, ~ 390 si hay aproximadamente 800 muestras y 25 si hay 5700 muestras?
Definitivamente no estoy tomando todas estas muestras en consecuencia, es decir, si hay 800 muestras, hago un retraso de 1 ms después de samplesQty ++ , todas las muestras se toman en menos de 1 segundo.Gracias de antemano.
p.s .: Sé cómo obtener un cero constante mientras 'en el aire', la pregunta es algo teórica.