Paso 4: problemas
Problema: Bueno mi primer intento fue un desastre. Las temperaturas estaban por todo el lugar y no muy estable.
Solution1: Uno de los problemas era que estaba alimentando el Arduino con 5V del puerto USB de mi ordenador a través de un hub de 4 puertos. Bueno, este voltaje medido cerca 4.65V y varió mucho. Así que añadido a 5 voltios regulador y condensadores y 6 voltios fuente de alimentación. Ver esquema.
Algunos de ustedes lectores agudos dará cuenta de que la fuente de alimentación (ver foto) tiene una potencia de salida de 6 Vcc y que el regulador 7805 se especifica para un mínimo de 7 VDC. Bueno, la mayoría de estas fuentes de alimentación realmente pone más tensión de las tasas. Con éste conectado, la salida 7.5VDC y la salida del regulador una consistente 5.1VDC salida.
Solution2: El software que primero escribí muestrea la temperatura 10 veces, un promedio de lo luego emitirlo. Repetir este cada minuto. Bueno, he decidido implementar una media acumulada. La manera que esto funciona es que muestras la tensión constantemente y un promedio de las últimos 25 muestras y lo salidas.
Programadores: He creado una matriz de 25 elementos para cada sensor y un puntero a la matriz.
flotador TempArray [NUM_SAMPLES] [MAX_TEMPS];
byte ArrPtr = 0;
Luego leí en las cuentas para cada sensor y almacenados en la papelera de array apuntada por el ArrPtr.
Entonces incrementa la ArrPtr ++ y repite el proceso. Si el ArrPtr = 25, entonces se establece en 0.
Cada matriz es suma y promedio dividiendo por 25, luego este valor promedio de la cuenta se convierte en una temperatura.
Esto es como un filtro paso-bajos. El sensor es un promedio de sobre unos 50 segundos. La temperatura no debería variar significativamente en ese periodo de tiempo.