Paso 8: Registro de limitaciones
Las dos limitaciones más grande con esta configuración actual es la resolución de datos y sincronización de datos. Yo no voy más allá en esto, porque solo tenía ganas de hacerlo para una prueba de concepto durante el tiempo.
Resolución de datos
La resolución de datos máximo actual es una muestra para cada 0.1 segundos. Esto puede mejorarse aún más fácilmente porque lo que el código está configurado, está limitado por el período de medición del GPS. Una mejor manera de escribir el código sería registrar datos sin importar si hemos recibido una nueva coordenada GPS. Una vez que se vierten los datos, las filas de datos sin GPS pueden ser post procesado e interpolado. Ahora la frecuencia de muestreo será limitada a las velocidades de escritura de Arduino y tarjeta SD que deben ser más de lo suficientemente rápidas como para competir con aplicaciones.
Sincronización de datos
Una interesante que noté es la demora para el GPS. Mina fue de 1,5 segundos basada en mi posición del acelerador. Me di cuenta de esto porque en los datos el acelerador y mi MPH del GPS siguieron incrementándose. No tiene sentido! Simplemente cambió mi datos por consiguiente y emparejó para arriba, pero puede que desee tomar un buen vistazo a la biblioteca TinyGPS y buscar en el parámetro fix_age para la evaluación de datos adicional.
Otro a considerar es el retardo entre cada procedimiento. Recuerde que el Arduino no es capaz de hardware roscado por lo que el tiempo que tarda para leer una entrada y luego la siguiente, y entonces realmente escribir en la tarjeta SD no ocurren todos al mismo tiempo. Debe tomar esto en cuenta si va a añadir más entradas del sensor y si usted planea en tener contadores de interrupción. Si usted planea en multi-threading puede tener múltiples conjunto de Arduinos para hacer una tarea sencilla y utilizan un bus de vehículo (I2C, SPI, CAN) que se comunican entre sí. Un buen lee en esto que me pareció aquí. También tendría una mirada en FPGAs que sobresalen en este.