Otra vez, tenías razón =( =( =( =( =(
Hay que cambiar los tipos de las variables de char a byte. Es un cambio que había hecho al quitar los comandos serie con los que probaba el código.
Nunca había tenido problemas hasta ahora con el tipo char, pero...eso que he aprendido gracias a tí.
Cambiar:
const char num_medidas_media=128; // numero de medidas a tomar para hacer la media
long ultimamedicion; // contiene el valor de la última medición que disparó a lógico 1, la salida 2
char num_medidas; // número de medidas tomadas para la media
por:
const byte num_medidas_media=128; // numero de medidas a tomar para hacer la media
long ultimamedicion; // contiene el valor de la última medición que disparó a lógico 1, la salida 2
byte num_medidas; // número de medidas tomadas para la media
De todas formas, cuando tenga un poco más de tiempo, lo terminaré de comprobar con hardware real (ahora lo he hecho a base de comunicación por puerto serie porque no tengo sensores a mano).
Si lo pruebas, me comentas el resultado...Ya es por orgullo personal (no va a poder esa plaquita azul conmigo, vamos, hasta ahí podríamos llegar)