CarTracker (2 / 3 stap)

Stap 2: Arduino schetsen


Auto tracker schets: ArduinoCarTracker.zip

Herinner me: In de Arduino omgeving is dit een Pro Mini 8 MHz, 3,3 v bestuur en Processor. Maar ik ben met behulp van de 'standaard' USB-BUB pinout dus je een USB-BUB of equivlaent (PL2303 moet).

GPS: TinyGPS ++ bibliotheek

http://arduiniana.org/libraries/tinygpsplus/

LSM303DLHC: Helaas, ik kan me niet herinneren waar ik kreeg deze Arduino-bibliotheek. Ik denk dat het was van Pololu. Hoe dan ook, heb ik de bibliotheek toegevoegd.

Dus de Pololu bibliotheek een Calibrate schets naar heeft ' kalibreren van het LSM303DLHC. Hier is de beschrijving:

Kalibreren: Dit programma is vergelijkbaar met het voorbeeld van seriële kalibreren, maar in plaats van afdrukken van de meest recente lezingen, drukt het een voorlopig minimum- en maximumwaarden van de lezingen van elke as magnetometer aan de weergave van de LCD5110. Deze waarden kunnen worden gebruikt voor het kalibreren van het voorbeeld van de kop en de heading()-functies na het verplaatsen van de LSM303 door elke mogelijke richting.

Ik het gewijzigd zodat de minuten en de Maxs wordt weergegeven op de LCD5110. Voer deze sketch op de CarTracker module. Run schets, langzaam, draai en draai de module in alle richtingen. De minuten en de Maxs vastleggen op het scherm, dan sluit ze aan op CarTracker schets, ter vervanging van de waarden in de volgende regels:

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

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

Dit moet het verbeteren van de nauwkeurigheid van het kompas.

Waarschuwing: Toen ik naar Arduino aan 1.6.1 bijgewerkt, moest ik het bijwerken van Adafruit_GFX en Adafruit_PCD8544 bibliotheken. Hier is de nieuwste:

https://Learn.adafruit.com/adafruit-GFX-graphics-library

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


CarTracker Sketch Samenvatting:

Naast Setup en loop schreef ik zes functies:

nietig setSetPoint(); instellen van SetPoint, winkels lengte- en breedtegraad te EEPROM

nietig getGPS(); actuele GPS-gegevens

nietig calculate(); berekenen van de afstand en koers

int getHeading(); post krijgen met behulp van kompas

byte getPostion(int); positie met behulp van kop krijgen

nietig displayDirection(); weer info

Setup leest EEPROM instelpunt coördinaten, begint GPS, kompas, stelt LCD5110

loop krijgt van huidige GPS, berekent de afstand en de rubriek punt wilt instellen. Richting naar instelpunt en afstand weergegeven.

Als de knop wordt ingedrukt, worden GPS coördinaten opgeslagen aan EEPROM als instelpunt.

Andere Arduino software:

Kompas: Eenvoudige kompas dat wijst Noord en shows rubriek op LCD-scherm. (Compass.zip)

GPStoLCD: GPS coördinaten naar LCD5110 (GPStoLCD.zip)

Gerelateerde Artikelen