Étape 4: Téléchargez le logiciel
Le logiciel a trois fonctions principales :A. présenter l’utilisateur avec une interface utilisateur de base de choisir s’il faut :
- Visualisez le X, Y, lectures de Z
- Enregistrement le X, Y, lectures de Z
- Effacer la puce de mémoire flash
- Afficher 256 octets combien de pages ont été écrites dans la puce de mémoire flash
B. lire l’accéléromètre aussi vite que possible
C. écrire les données dans Flash
La majeure partie du code est dédiée à l’interface utilisateur. C’était un amusant processus apprendre à utiliser la bibliothèque de LCD qui vient avec le bouclier en haut de la page. Les six boutons sur l’écran envoient une tension analogique sur la broche 0 analogiques de l’ONU. Il s’agit d’une alternative assez lisse à debouncing les boutons (si vous ne savez pas pourquoi, c’est difficile, vous aurez un jour!). Le code de contrôle n’est pas si difficile d’obtenir votre tête. Haut/bas défiler les options du menu, droite sélectionne et restaurer quelques redémarrages de l’Arduino. Vraiment simple.
Mode d’affichage
En mode d’affichage, une chaîne est envoyée à l’écran LCD avec les valeurs X, Y et Z en milli-gs. La fonction convert() dimensionne les lectures de 0-5V à gs. Puisque 0g est définie comme 1.65V par la fabrication, et la totale fidélité analogique Arduino de 0-5V est mesurée en incréments de 1024, l’équation est de 5V/1024 * X - 1.65V = g.
Mode d’enregistrement
En mode d’enregistrement, l’affichage n’est pas à jour. Au contraire, les données brutes analogiques sont écrit à la mémoire flash à l’aide d’une classe de pagebuffer. Chaque fois que 256 octets sont envoyés à la classe, il déclenche une page d’écriture sur le périphérique flash et swaps en une nouvelle mémoire tampon. Cette classe est une amélioration de mon ancien code dans mon anémomètre instructable.
Effacer le Mode
Mode d’effacement efface simplement la puce de mémoire flash.
Pages d’affichage utilisé Mode
Pages utilisées montre combien de pages ont été remplis dans le périphérique flash. Étant donné que le premier octet de chaque page est toujours défini sur 0, le code peut avancer rapidement vers une nouvelle page de frais après réinitialisation. Cela permet de mettre l’appareil sous et hors tension et toujours continuer à écrire où elle s’était arrêtée.
* Note : en plus de la bibliothèque de base Arduino (pour des choses comme le SPI et digitalWrite()), vous devrez la bibliothèque de clavier LCD. Il est disponible sur le site Web DFRobot.
** Note #2: je le n'ai pas expliqué comment faire pour télécharger les données de la puce de mémoire flash. Qui est à venir dans un autre instructable. J’ai un Conseil dédié avec une connexion USB qui lit les données hors cette puces. Un jour, je vais passer aux cartes SD et me rendre la vie plus facile.