CarTracker (2 / 3 étapes)

Étape 2: Arduino croquis

Croquis de traqueur de voiture : ArduinoCarTracker.zip

N’oubliez pas : Dans l’environnement Arduino, ce un Mini Pro 8 MHz 3, 3V Conseil et processeur. Mais j’utilise le brochage de USB-BUB « standard » donc vous avez besoin d’un USB-BUB ou equivlaent (PL2303).

GPS: Bibliothèque TinyGPS ++

http://arduiniana.org/Libraries/tinygpsplus/

LSM303DLHC : Malheureusement, je ne sais plus où j’ai obtenu cette bibliothèque Arduino. Je pense que c’était de Pololu. En tout cas, j’ai joint la bibliothèque.

Ainsi la bibliothèque Pololu a une esquisse de calibrer à « calibrer le LSM303DLHC. Voici la description :

Calibrer : Ce programme est similaire à l’exemple de série calibrer, mais au lieu d’imprimer les dernières lectures, il imprime un fonctionnement minimal et maximal des lectures de chaque axe de magnétomètre à l’affichage de LCD5110. Ces valeurs peuvent être utilisées pour étalonner les fonctions heading() et l’exemple de la rubrique après avoir déplacé le LSM303 à travers chaque orientation possible.

J’ai modifié afin que les minutes et la Maxs affichera sur le LCD5110. Exécutez ce croquis sur le module CarTracker. Exécution de croquis, lentement, tordre et tourner le module dans toutes les orientations. Enregistrez les minutes et la Maxs sur l’écran, puis branchez-les sur Esquisse CarTracker, remplaçant les valeurs dans les lignes suivantes :

Compass.m_min = (LSM303::vector) {-433, -600,-546} ;

Compass.m_max = (LSM303::vector) {+570, +488, +579} ;

Cela devrait améliorer la précision du compas.

Avertissement : Quand j’ai upgradé 1.6.1 pour Arduino, j’ai dû mettre à jour les bibliothèques Adafruit_GFX et Adafruit_PCD8544. Voici la dernière :

https://Learn.Adafruit.com/Adafruit-gfx-Graphics-Library

https://github.com/Adafruit/Adafruit-PCD8544-Nokia-5110-LCD-Library


Sketch CarTracker Résumé :

Sans compter que setup() et loop(), j’ai écrit six fonctions :

void setSetPoint() ; la valeur de consigne, magasins latitude et la longitude d’EEPROM

void getGPS() ; obtenir des données GPS actuelles

Sub calculent () ; calculer la distance et position

int getHeading() ; obtenir la position à l’aide de la boussole

getPostion(int) octet ; obtenir la position à l’aide de la rubrique

void displayDirection() ; afficher les infos

Setup() lectures EEPROM consigne coordonnées, mises en chantier GPS, boussole, met en place LCD5110

Loop() obtient des GPS actuels, calcule la distance et la position pour définir le point. Affiche direction au point de consigne et de la distance.

Si le bouton est enfoncé, coordonnées GPS sont stockées les EEPROM comme point de consigne.

Autres logiciels par Arduino :

Boussole : Boussole simple qui pointe nord et spectacles rubrique sur écran LCD. (Compass.zip)

GPStoLCD : Coordonnées GPS de LCD5110 (GPStoLCD.zip)

Articles Liés