Étape 7: Code d’Arduino : une moyenne des données de capteur de pression
Le prochain morceau de code, que je tiens à expliquer est comment nous capter les lectures de capteur de pression et convertissez-les en valeurs de 1 à 9. Ce code est modifié par le tutorial Arduino lissage que vous pouvez lire directement.
Place au début du code (qui j’espère que vous avez téléchargé dans la dernière étape et regardez dans l’IDE Arduino), il y a certaines lignes définissant les choses que nous devons suivre pour nos mathématiques simples. Ils comprennent :
- const int numReadings = 10 ; Il y aura 10 lectures du capteur pression
- int lectures [numReadings] ; les lectures de l’entrée analogique seront stockés ici
- int index = 0 ; l’index de la lecture courante
- total int = 0 ; le total cumulé des lectures capteur
- moyenne d’int = 0 ; la moyenne des lectures capteur
- inputPin int = A0 ; C’est le capteur de fsr sur broche analogique A0
Le code qui prend les lectures de capteurs de pression et les magasins et les moyennes eux a être être mélangée avec du code qui fera la numitron compter à rebours de 9 à 0 et faire le tour de LED éteint un à la fois. C’est le code dans l’image ci-dessus. J’ai essayé d’annoter, ligne par ligne. Fondamentalement, le microcontrôleur tient 10 lectures dans un tableau et il soustrait la lecture plus ancienne et puis ajoute un nouveau dans. Ensuite, il est en moyenne tous les 10 lectures et stocke ce nombre dans un endroit appelé "moyenne". Ceci est important car nous avons besoin de ce numéro pour assigner une valeur de 1 à 9. Il fait ceci une fois puis passe à la partie suivante du code.
La partie suivante du code envoie les registres à deux décalage séquences 1 et 2. La numitron compte à rebours et les LEDs s’allument et puis démarquent un à la fois (voir étape précédente sur les séquences). Après l’envoi d’une partie de la séquence, il attend un laps de temps (je l’ai mis à 600 millisecondes) puis faut-il recommencer - cela signifie il soustrait la valeur de pression plus ancienne, attrape un nouveau, calcule une moyenne de nouveau et affiche la partie suivante de la séquence. Il fait ceci 10 fois et puis il existe cette partie du programme parce qu’il a dit de faire 10 fois en utilisant cette ligne de code vers le haut au début de cette section :
pour (int n = 0; n < 10; n ++)
Si c’est confus pour vous, que c’était pour moi au début, seulement reconnaître que la pour déclaration ci-dessus a un {après lui qui commence la petite boucle et puis il y a un} à la fin de la boucle et la boucle contient les trucs de capteur de pression et les trucs de compte à rebours numitron.