Étape 4: Podomètre théorie et conception de logiciels
Principe de fonctionnement :
La tension du podomètre à l’Arduino Analog 3 est environ 1.2VDC. Lorsque les étapes de l’utilisateur, la tension chute à près de zéro. Le logiciel Arduino détectera ceci et cela compte comme une étape.
Conception de logiciels :
Le logiciel doit lire les données de la température et sonde d’humidité et le podomètre, puis il se connecter sur la carte SD. Le logiciel permettra de déterminer la fréquence d’enregistrer des données sur la carte SD. Ce logiciel est configuré pour 10 échantillons de deuxième. Ceci peut être changé en modifiant la valeur de LOG_INTERVAL (signifie 10 000 10 000 millisecondes qui est de 10 secondes).
Lecture de température et humidité peut être faite une fois pour chaque entrée du journal.
Problème : Le podomètre doit être surveillée assez continuellement comme une étape peut survenir à tout moment. (Cela s’appelle un événement asynchrone).
Solution : J’ai dû réécrire l’exemple de programme pour que le podomètre est échantillonné constamment et les données sont collectées jusqu'à la LOG_INTERVAL (10 secondes) est atteinte, puis les capteurs de température et d’humidité sont échantillonnées et toutes les données et le temps sont écrites sur la carte SD.
Voici les parties importantes de la boucle de logiciel.
StartTime=millis() ;
}
Sub loop(void)
{
Podomètre de MTS se lit sur 1.2V ouvert = 245 points
Si (analogRead(PedoPin) < 50) / / a propos de .245V
{
StepCnt += 1 ;
TotalCnt += 1 ;
Delay(300) ; Retarder s.3
}
Si ((millis()-StartTime)>long(LOG_INTERVAL))
{
Code qui écrit dans le fichier journal
StepCnt = 0 ;
StartTime = millis() ;
}
Théorie : Avant que la boucle est démarrée, StartTime lit millis() qui est le nombre de millisecondes depuis l’Arduino a été mis sous tension ou réinitialisation.
Le podomètre est lu, si elle est proche de zéro, puis StepCnt et TotalCnt sont incrémentés.
Cela est répété jusqu'à ce que millis() est de 10 secondes ou supérieure à StartTime.
Lorsque les dix secondes s’est écoulé, le temps réel, la température, l’humidité, StepCnt et TotalCnt sont écrits dans le fichier journal.
La StepCnt est définie sur zéro (de sorte que seule compte entre les échantillons est enregistrés)
StartTime a la valeur millis() pour les 10 prochains seconde d’intervalle peut être mesurée.
L’ensemble du processus est répété.
Le fichier créé sur la carte SD est étiqueté loggerxx.csv où xx est un nombre commençant par 00, par exemple, le premier sera logger00.csv.
.csv signifie que le fichier est écrit comme virgule valeurs séparées et peut être lus directement dans le logiciel Excel. Il peut également être lu par Google docs (gratuits) et Open Office (gratuit).