Étape 4: problèmes
Problème : Eh bien, ma première tentative fut un désastre. Les températures étaient dans tous les sens et n’est pas très stable.
Solution1 : Un des problèmes était que je m’alimenter l’Arduino avec 5V du port USB de mon ordinateur via un hub 4 ports. Eh bien, cette tension mesurée environ 4.65V et varie beaucoup. Alors j’ai ajouté un 5 régulateur de Volt et condensateurs et un de 6 volts d’alimentation. Voir schéma.
Certains d'entre vous lecteurs vigilante auront remarqué que le bloc d’alimentation (voir photo) est évalué à 6 VDC sortie et que le régulateur 7805 est spécifié pour un minimum de 7 VDC. Eh bien, la plupart de ces alimentations éteindre réellement plus de tension que les tarifs. Avec celui-ci accroché, la sortie était 7.5VDC et la sortie du régulateur était un 5.1VDC compatible sortie.
Solution2 : Le logiciel que j’ai écrit tout d’abord échantillonné la température 10 fois, en moyenne elle puis sortie. Il a répété ce chaque minute. Eh bien, j’ai décidé de mettre en œuvre une moyenne mobile. La façon dont cela fonctionne est qu’il échantillonne la tension constante et les 25 derniers échantillons en moyenne et le sort.
Programmeurs : J’ai créé un tableau de 25 éléments pour chaque capteur et un pointeur vers le tableau.
flotteur TempArray [NUM_SAMPLES] [MAX_TEMPS] ;
octet ArrPtr = 0 ;
Puis j’ai lu dans les comptes pour chaque capteur et stocké dans le tableau bin pointé par le ArrPtr.
Puis j’ai incrémenté le ArrPtr ++ et répéter le processus. Si la ArrPtr = 25, puis il est mis à 0.
Chaque tableau est résumé et la moyenne en divisant par 25, puis la valeur de cette moyenne nombre est convertie en une température.
Il s’agit comme un filtre passe-bas. Le capteur est réparti sur environ 50 secondes. La température ne devrait pas changer considérablement dans ce laps de temps.