Paso 4: Cargar el Software
El software tiene tres funciones principales:A. presentar al usuario una interfaz de usuario básica para seleccionar si desea:
- Pantalla X, Y, lecturas de Z
- Expediente X, Y, lecturas de Z
- Borrar el chip flash
- Mostrar cómo muchas páginas de 256 bytes se han escrito para el chip flash
B. Lee el acelerómetro tan rápido como sea posible
C. escribir los datos en Flash
La mayor parte del código está dedicada a la interfaz de usuario. Fue un divertido proceso de aprender a usar la biblioteca LCD que viene con el escudo superior. Los seis botones en la pantalla envían una tensión analógica en el pin analógico 0 de la ONU. Esta es una alternativa bastante resbaladiza a contra rebotes pulsadores (si no sabes por que es un reto, será algún día!). El código de control no es tan difícil conseguir su cabeza. Arriba/abajo ciclo a través de opciones de menú, selecciona a la derecha y Reset se reinicia solo el Arduino. Realmente simple.
Modo de visualización
En modo de visualización, una cadena se envía a la pantalla de LCD con la lectura del X, Y y Z en milli-gs. La función convert() escalas las lecturas de 0-5V a gs. 0g se define como 1. 65V la fabricación, y la total fidelidad analógica Arduino de 0-5 v se mide en incrementos de 1024, la ecuación es 5V/1024 * X - 1. 65V = g.
Modo de grabación
En modo de grabación, la pantalla no se actualiza. En cambio, los datos analógicos se escriben en la memoria flash mediante una clase de pagebuffer. Cada vez 256 bytes se envían a la clase, se dispara un página de escritura en el dispositivo flash y swaps en un tampón nuevo. Esta clase es una mejora sobre mi código anterior en mi anemómetro instructable.
Borrar modo
Modo de borrado simplemente borra el chip flash.
Mostrar páginas utilizan el modo
Páginas utilizadas muestra cuántas páginas se han llenado en el dispositivo flash. Desde el primer byte de cada página siempre se establece en 0, el código puede avanzar a una nueva página nueva después de reset. Esto le permite encender y apagar el dispositivo y seguir la escritura donde se quedó.
* Nota: además de la biblioteca del núcleo de Arduino (cosas como SPI y digitalWrite()), se necesita la biblioteca de teclado LCD. Se encuentra disponible el sitio web de DFRobot.
** Nota #2: no he explicado cómo descargar los datos en el chip flash. Viene en otro instructivo. Tengo un tablero dedicado con una conexión USB que lee datos de este chips. Algún día te mueva a tarjetas SD y hacer mi vida más fácil.