CarTracker (2 / 3 steg)

Steg 2: Arduino skisser



Bil tracker skiss: ArduinoCarTracker.zip

Kom ihåg: I Arduino miljön är detta en Pro Mini 8 MHz 3.3V styrelse och Processor. Men jag använder den "standard" USB-BUB pinout så behöver du en USB-BUB eller equivlaent (PL2303).

GPS: TinyGPS ++-bibliotek

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

LSM303DLHC: Tyvärr, jag minns inte var jag fick detta Arduino bibliotek. Jag tror det var från Pololu. Hur som helst, jag har bifogat biblioteket.

Så Pololu biblioteket har en kalibrera skiss till "kalibrera LSM303DLHC. Här är beskrivningen:

Kalibrera: Detta program liknar det seriella kalibrera exemplet, men istället för att skriva ut den senaste behandlingen, den skriver en löpande minsta och största av avläsningarna från varje magnetometer axel LCD5110 display. Dessa värden kan användas för att kalibrera heading() funktioner och i rubriken exempel efter att ha flyttat LSM303 genom varje möjligt orientering.

Jag ändrade det så att min och Maxs visas på LCD5110. Kör denna skiss på modulen CarTracker. Kör skiss, långsamt, vrida och vända modulen på alla ledder. Spela in minuter och Maxs på displayen, sedan koppla in dem i CarTracker skiss, ersätta värdena i följande rader:

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

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

Detta bör förbättra kompassens noggrannhet.

Varning: När jag uppdaterade till Arduino till 1.6.1, jag var tvungen att uppdatera Adafruit_GFX och Adafruit_PCD8544 bibliotek. Här är senast:

https://learn.adafruit.com/adafruit-gfx-Graphics-Library

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


CarTracker skiss Sammanfattning:

Förutom setup() och loop() skrev jag sex funktioner:

void setSetPoint(); ställa in börvärde, butiker latitud och longitud till EEPROM

void getGPS(); få aktuella GPS-data

void calculate(); beräkna avstånd och riktning

int getHeading(); få på väg med kompass

byte getPostion(int); få position med hjälp av rubriken

void displayDirection(); Visa info

Setup() läser EEPROM börvärde koordinater, startar GPS, kompass, sätter upp LCD5110

loop() får nuvarande GPS, beräknar avstånd och riktning till önskat värde. Visar riktning till börvärdet och avstånd.

Om knappen trycks, lagras GPS-koordinater till EEPROM som börvärde.

Andra Arduino programvara:

Kompass: Enkel kompass som pekar North och visar rubrik på LCD. (Compass.zip)

GPStoLCD: GPS-koordinater till LCD5110 (GPStoLCD.zip)

Se Steg
Relaterade Ämnen