+ All Categories
Home > Documents > Arduino mod-gps

Arduino mod-gps

Date post: 13-Jul-2015
Category:
Upload: iulius-bors
View: 72 times
Download: 3 times
Share this document with a friend
5
Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari.
Transcript
Page 1: Arduino mod-gps

Textul si imaginile din acest document sunt licentiate

Attribution-NonCommercial-NoDerivsCC BY-NC-ND

Codul sursa din acest document este licentiat

Public-Domain

Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara

nici un fel de limitari.

Page 2: Arduino mod-gps

Arduino si MOD-GPS

MOD-GPS este un modul de GPS echipat cu o antena interna si conector UEXT. Iti permite sa afli pozitia (latitudine si longitudine), viteza de deplasare, altitudinea, rata de ascensiune, ceasul si nr. de sateliti. Conexiunea cu placa Arduino se realizeaza prin portul serial (RX,TX) si modulul GPS transmite coduri NMEA (format text) care pot fi citite foarte usor prin Serial Monitor.

Pentru acest tutorial, vei avea nevoie de urmatoarele componente:

• O placa Arduino UNO.

• Un modul MOD-GPS.

• 4 fire pentru conexiuni.

Cum conectez modulul GPS ?

Modulul GPS se conecteaza foarte simplu la placa Arduino. Foloseste cabluri tata-tata ca sa conectezi pinii GND, 3.3V, TX si respectiv RX. Foloseste tabelul si imaginea conectorului UEXT de mai jos.

http://www.robofun.ro/forum

Page 3: Arduino mod-gps

Arduino 3.3V MOD-GPS 3.3V

Arduino GND MOD-GPS GND

Arduino pin digital 3 MOD-GPS TX

Arduino pin digital 4 MOD-GPS RX

Dupa ce ai conectat modulul GPS la placa Arduino, vei obtine urmatoarea imagine.

http://www.robofun.ro/forum

Page 4: Arduino mod-gps

Libraria TinyGPS.

Exista o librarie special conceputa care gestioneaza protocolul NMEA al GPS-ului. Libraria se numeste TinyGPS si se poate descarca de la adresa:

http://arduiniana.org/libraries/tinygps/

Descarca libraria si copiaz-o in fisierul libraries din directorul Arduino. Restarteaza mediul Arduino si continua cu programul de mai jos.

Sketch-ul Arduino.

Mai jos este listat sketch-ul. Il copiezi (copy/paste) direct in mediul de programare Arduino si il incarci in placa Arduino UNO. Dupa ce ai pornit placa, este necesar sa astepti o perioada de timp pana cand datele vor aparea treptat in Serial Monitor, deoarece modulul GPS genereaza datele doar atunci cand sunt calculate de la cel putin 3 sateliti. Sketch-ul afiseaza informatii despre latitudine, longitudine, nr. de sateliti receptionati si o valoare estimativa a calitatii preciziei.

http://www.robofun.ro/forum

Page 5: Arduino mod-gps

Codul sursa.

#include <SoftwareSerial.h>#include <TinyGPS.h>

TinyGPS gps;SoftwareSerial ss(3, 4);

void setup(){ Serial.begin(9600); ss.begin(19200);}

void loop(){ bool newData = false;

for (unsigned long start = millis(); millis() - start < 1000;) { while (ss.available()) { char c = ss.read(); if (gps.encode(c)); newData = true; } } if (newData) { float flat, flon; unsigned long age; gps.f_get_position(&flat, &flon, &age); Serial.print("LAT="); Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6); Serial.print(" LON="); Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6); Serial.print(" SAT="); Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites()); Serial.print(" PREC="); Serial.println(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop()); }}

http://www.robofun.ro/forum


Recommended