Étape 7: Conception de logiciels et d’étalonnage
Le joint software(MTSAnemometer.zip) Arduino doit chercher des transitions de haute/basse sur Digital 4, dénombrer et puis de le connecter au port série de l’ordinateur. Le logiciel permettra de déterminer la fréquence d’enregistrer des données sur la carte SD. Ce logiciel est configuré pour 2 échantillons deuxième. Ceci peut être changé en modifiant la valeur de SampInterval.
Voici les parties importantes de la boucle de logiciel.
Calculateur de vent Look pour la grande
Si (digitalRead(WindPin)==HIGH)
{
Copie = true ;
digitalWrite (greenLEDpin, basse) ;
}
Recherchez faible donc un sommet de transition basse
ElseIf (copie == true)
{
Compteur d’incrémentation
CntRPM ++ ;
Copie = false ; Recommencer
digitalWrite(greenLEDpin,HIGH) ;
}
Après deux secondes se sont écoulées
RPM=CntRPM*(60.0/SampInterval) ;
Explication de code : Tout d’abord, je cherche un sommet sur l’anémomètre numérique 4 (Windpin). Quand il va haut, j’ai mis en copie true. Pour des fins de dépannage, j’ai désactiver une LED verte. Puis quand Digital 4 passe bas et a été mis en copie alors je sais que l’anémomètre avait passés de haut au plus bas et une rotation (tr/min) s’est produite. J’ai donc incrémenter le CntRPM et aussi allumer la LED verte pour que je peux dire que ça fonctionne.
Après que deux secondes se sont écoulées, j’ai multiplier CntRPM par 30 pour obtenir tr/min (tours par minute).
Procédure d’étalonnage :
Problème : Alors, comment déterminez-vous comment anémomètre tr/min se rapporte à mi/h ? Il existe plusieurs solutions selon le type d’équipement dont vous disposez. Je vais énumérer trois. Tout cela requiert que vous ayez une façon d’afficher les RPMs provenant de l’Arduino. Mon code Arduino doit afficher des données à un ordinateur/ordinateur portable connecté à l’Arduino avec USB. Si vous n’avez pas un ordinateur portable, une alternative serait de réécrire le code pour afficher des données sur un écran LCD.
Configuration matérielle requise : Votre ordinateur portable devra un port USB ou les deux. Mon vieux portable n’a qu’un seul port USB 1.0 mais fonctionne très bien avec un hub USB.
Exigences de l’Arduino : Installer mon code Arduino dans l’Arduino. Connecter l’Arduino à l’ordinateur portable port USB.
Anémomètre Setup : J’ai collé l’Assemblée anémomètre dans la fenêtre ouverte de la porte du siège arrière de ma voiture. La partie inférieure du PVC a été pincée entre le siège et la porte. Ou vous pourriez être en mesure de le mettre dans la fente de la porte que vous fermez la porte avec. Mes sièges ont des poignées généraux pour tous les sièges aider à entrer et sortir. J’ai pris une chaîne, il enroulé autour de la poignée et le PVC pour garder l’anémomètre en position debout. Si le PVC est en contact avec une partie vulnérable de la voiture, mettre quelque chose entre comme un chiffon doux. Refermer soigneusement la fenêtre partiellement. (Voir photo) Brancher les capteurs dans l’Arduino.
Solution1 : Si vous avez un ordinateur portable et une voiture, lancez le logiciel avec un terminal série à 9600 bauds. (Voir exemple sortie d’écran)
Sécurité première : Idéalement, ceci devrait être fait avec une autre personne pour aider. Un jour sans vent, prendre une route droite, plate et déserte et définissez régulateur de vitesse pour un connu mi/h. Un problème typique, c’est que la plupart des indicateurs sont désactivés. Vous pouvez vérifier cela en trouvant une autoroute marqueurs mile et savoir combien de temps il prend effectivement à faire un mille, à une vitesse supposée.
Voir ce qui est tr/min sur la borne serial Arduino. (Le terminal série affiche également mi/h et Twc mais ces valeurs sont basées sur mon calibrage de l’anémomètre). Prendre connu mi/h la voiture et divisez-le par le nombre de tours et branchez-le sur le code de l’Arduino. Voici le code de l’Arduino. Remplacez. 054 avec votre calcul.
M/H = RPM*.054 ; Valeur d’étalonnage
Solution2 : Si vous avez un ordinateur portable et une voiture et une autonome GPS, lancez le logiciel avec un terminal série.
Sécurité première : Idéalement, ceci devrait être fait avec une autre personne pour aider. Un jour sans vent, prendre une route droite, plate et déserte et régler le régulateur de vitesse. Prenons le MPH de votre GPS et diviser par le nombre de tours et branchez-le sur le code de l’Arduino comme ci-dessus. Par ailleurs, vous pouvez également déterminer comment loin votre indicateur de vitesse de voiture est. Si votre GPS se lit dans les noeuds à l’heure, multipliez-le par 1,151 pour obtenir mi/h.
Solution3 : J’ai un ordinateur portable et une voiture et un GPS NMEA qui se connecte à mon ordinateur portable USB. J’ai connecté l’Arduino et le GPS à mon ordinateur portable et a couru mon logiciel VB Express. Voir pièce jointe. Ce programme devrait fonctionner avec n’importe quel Arduino et un GPS compatible NMEA USB. Le mien est un USGlobalSat BU-353.
Pour installer mon logiciel de calibration, copiez cpublish.zip dans un répertoire sur l’ordinateur portable, décompressez-le, assurez-vous que vous disposez d’une connexion Internet et lancez l’installation.
Vous devrez également installer le pilote USB pour le GPS.
Ma configuration de programme exige que les numéros de port USB/com pour le GPS et l’Arduino. Ceux-ci sont répertoriés dans le gestionnaire de périphériques, sous Ports. Mon GPS est appelée Prolific. Mon Arduino apparaît comme Port série USB.
Si vous avez des problèmes, mon GPS Instructable a quelques conseils de plus.
Démarrer mon programme (voir photo), brancher les numéros de port com correct. Cliquez sur le bouton de mise à jour. Vous devriez voir les données GPS affichage et les données de l’Arduino en bas.
Sécurité première : Idéalement, ceci devrait être fait avec une autre personne pour aider. Un jour sans vent, prendre une route droite, plate et déserte et régler le régulateur de vitesse. Maintenant, mon programme est automatisé ainsi il obtient le MPH (conversion du NMEA noeuds à l’heure) le GPS et la vitesse de rotation de l’Arduino. J’ai essayé en fait, plusieurs vitesses différentes. Notez les temps quand vous étiez au volant avec régulateur de vitesse de jeu.
Revenir à mon programme, cliquez sur Enregistrer (ignorer tous les messages). Tapez un nom de fichier et notez l’emplacement du fichier. Mon programme enregistrera les données à un. CSV fichier donc j’ai tracé les données d’un graphique Excel (voir photo). Cela montre une relation assez linéaire. Prenons un échantillon MPH de votre GPS et diviser par le nombre de tours et branchez-le sur le code de l’Arduino comme ci-dessus. J’ai utilisé cela pour déterminer le multiplicateur.054 indiqué dans le programme.
Si vous n’avez pas Excel, vous pouvez également utiliser gratuitement Google Docs ou Open Office. Le tracé graphique de certains MSP différentes semble assez irrégulières, mais il est assez linéaire. (voir graphique)
Pour vérifier votre étalonnage, charger l’Arduino avec votre étalonnage et réexécutez les tests ci-dessus. L’Arduino mi/h devrait être proche de 'réel' mi/h, mais va probablement sauter au-dessus et en dessous.