Arduino GPS Modul
Til det modul vi har hjemme på Holstebro HTX findes der et bibliotek[1], som gør det rimeligt enkelt at arbejde med GPS-modulet.
Modulet er købt ved dx.com[2]. Afdelingen har også et andet GPS-modul (rødt), der fungerer på præcist samme måde.
Det man kan med et GPS-modul er at man kan få en længdegrad og en breddegrad udlæst, når modulet har fundet tilstrækkeligt med satellitter til at det kan bestemme sin globale position. Højden over havoverfladen kan også bestemmes.
Ud over dette kan man få modulet til at beregne afstanden og et antal grader hen til en anden GPS-koordinat. Dette kan man anvende til at orientere sig ud fra et givet udgangspunkt og bevæge sig i en bestemt retning ved at måle hvor man er, og så bevæge sig i en bestemt retning, og så registrere hvordan længden og vinklen ændres.
Datablad
Databladene der kan fås går på selve chippen der foretager GPS-modtagelsen, og den kan fås i forskellige versioner både med hensyn til tilslutning og forsyningsspænding.
Databladet der henvises til fra dx.com hjemmesiden er dette[3]
På U-blox egen hjemmeside kan man også finde et datablad, der dog meget ligner det andet [4].
Installation af bibliotek
Man kan hente ZIP-filen ved github's hjemmeside[1], så man sikrer sig at få sidste opdaterede version.
Alternativt kan man hente den ZIP-fil jeg har testet med.
For at få ZIP-filen rigtigt ind, da kan det være en fordel at læse om det under Arduinos Biblioteker.
Test-software
I ZIP-filen ligger der forskelligt test-software, hvor test_with_GPS_device kan komme med følgende udskrift:
Testing TinyGPS library v. 13 by Mikal Hart Sats HDOP Latitude Longitude Fix Date Time Date Alt Course Speed Card Distance Course Card Chars Sentences Checksum (deg) (deg) Age Age (m) --- from GPS ---- ---- to London ---- RX RX Fail ------------------------------------------------------------------------------------------------------------------------------------- **** **** ********* ********** **** ********** ******** **** ****** ****** ***** *** ******* ****** *** 62 0 0 5 175 56.364521 8.626234 62 11/29/2015 16:58:12 158 25.20 0.00 0.04 N 2 93.85 E 815 4 0 5 175 56.364524 8.626233 254 11/29/2015 16:58:13 325 25.20 0.00 0.43 N 2 97.52 E 1407 6 0 4 230 56.364528 8.626233 359 11/29/2015 16:58:14 378 25.20 0.00 0.69 N 3 111.59 ESE 1870 8 0 5 175 56.364532 8.626233 445 11/29/2015 16:58:15 462 25.20 0.00 1.22 N 3 117.82 ESE 2333 10 0 5 175 56.364532 8.626232 526 11/29/2015 16:58:16 545 25.20 0.00 0.59 N 3 117.35 ESE 2796 12 0 5 175 56.364536 8.626232 608 11/29/2015 16:58:17 626 25.20 0.00 0.83 N 3 120.19 ESE 3259 14 0 5 175 56.364536 8.626231 688 11/29/2015 16:58:18 707 25.30 0.00 0.70 N 3 119.70 ESE 3722 16 0 5 175 56.364536 8.626230 770 11/29/2015 16:58:19 788 25.30 0.00 0.65 N 3 119.23 ESE 4185 18 0 5 175 56.364536 8.626229 850 11/29/2015 16:58:20 926 25.30 0.00 0.11 N 3 118.76 ESE 4899 22 0 5 175 56.364536 8.626228 156 11/29/2015 16:58:22 229 25.40 0.00 0.02 N 3 118.31 ESE 5568 24 0 5 175 56.364536 8.626229 346 11/29/2015 16:58:23 364 25.40 0.00 0.20 N 3 118.76 ESE 6029 26 0 5 175 56.364536 8.626229 427 11/29/2015 16:58:24 445 25.30 0.00 0.28 N 3 118.76 ESE 6490 28 0
Testen har jeg lige rettet til hvilke ben den serielle port ligger på, og så for sjov har jeg lige rettet koordinaterne for London til de koordinater jeg har hjemme, og ændret afstanden til meter, og som man kan se på dumpet, så ligger den ret tæt på.
En lidt mere overskuelig testsoftware kan findes på projekt-siden her[5], den står et stykke nede af siden og kan kopieres ind i et tomt sketch. På siden kan man også finde meget god teknisk forklaring på modulet.
Hardware
Selvom modulet i databladet er specificeret til op til 3,3V, så skal printet forsynes med 5V på VCC, fordi der sidder en regulator på printet.
Ud over det skal den have et RX-ben og et TX-ben, som skal på to digitale porte, men ikke 0 og 1, da de i test-softwaren bliver brugt til Serial Monitor. Hvis man slet ikke kan få fat i GPS-modulet, så kan det være en fordel at bytte RX og TX.
GPS Modul koblet på en Arduino
I dette eksempel anvendes ben 7 og 8 til RX og TX, hvilket så skal tilpasses i test-softwaren, men man kan i princippet anvende alle de forskellige ben på Arduinoen, men lige netop ben 0 og 1 er upraktiske at anvende.
En forudsætning for at man kan få noget fornuftigt ud af modulet er selvfølgelig at det ved hvor det er henne, og det gør det ikke før det har fat i satelitterne, hvilket kan være lidt problematisk inden døre, men det kan dog også lade sig gøre - det kan faktisk ses på printet - der er forbindelse til satelitterne, når den grønne diode blinker med korte blink.