Paso 5: Código de salida y velocidad
Una vez que construyo mi controlador donde el código está diseñado para ser implementado voy a publicar más fotos, pero aquí está el código. Está bastante bien documentado y comentado así que discutió los comentarios en esta página.
El código funcionó en una toma atmeag328P 52ms para completar cada ciclo que analiza frecuencias 196hz a hz 3136 (rango de frecuencia de un violín). Aviso que ajuste la gama de retrasos para probar afectará grandemente su velocidad!
Actualización 21 de julio de 2015: según mis necesidades, realmente no importa si las altas frecuencias por encima de 3000 hz tiene alias ya que mis necesidades fueron basados sobre los fundamentos de violín varió de 196 hz a hz 3136. Disminuyendo la frecuencia de muestreo ADC a 19,2 khz que permite que el procesador más tiempo al proceso de los datos disponibles. El uso de un escalar 64 resultó en un plazo de ejecución de 17ms, pero había reducido el hz 3136 a sólo 12 muestras de amdf. Va más lento probablemente mejoraría la velocidad aún más, pero una resolución más alta frecuencia se pierde. El código no refleja este cambio.
Se puede adaptar para utilizar números enteros para una mayor precisión.
Usted tendrá que probablemente sustituya el código de la pantalla para un comando serial o algo como eso.