יום שני, 14 ביולי 2014

GPS with Arduino


פעם הכל היה מסובך על מנת להגיע למקום מסויים ההית צריך לשבת על המפה לחשב את המסלול ולשאול אנשים בדרך במקרה שטעית, היום הכל פשוט יותר בעזרת GPS כבר אי אפשר ללכת לאיבוד, התכנולגיה נכנסה לתודעה בעיקר במערכות הניווט לרכב ועם הזמן נכנסה לכל מכשיר נייד.

דרישות

  • (Arduino (any kind will do the job
  • GPS Module + Antenna
  • Breadboard
  • Wires





Global Positioning System

מערכת לוויינים שמקיפה את כדור הארץ ושולחת אותות לרחבי העולם, מקלט GPS מקבל מספר אותות מלוויינים שונים ומחשב את מיקומו ביחס אליהם, את המקלט שלי רכשתי ב DX במחיר של 21 דולר, הוא מבוסס על ממשק סיראלי שהופך את העסק להרבה יותר פשוט.


GY-GPS6MV1



קוד

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

TinyGPS tGps;
SoftwareSerial gpsSerial(5, 6);

void setup() {
 
  //arduino serial - 115200
  Serial.begin(115200);
  //gps serial - 9600
  gpsSerial.begin(9600);
 
}

void loop() {
 
  while (gpsSerial.available())
  {
    //add char to buffer inside TinyGps
    char c = gpsSerial.read();
    tGps.encode(c);
  }

  float latitude, longitude;
 
  //get results as float
  tGps.f_get_position(&latitude, &longitude, NULL);
 
  Serial.print("Latitude:  ");
  Serial.println(latitude,6);
  Serial.print("Longitude:  ");
  Serial.println(longitude,6);
 
  delay(100);
 
}



סה"כ מגדירים פינים עבור ה Rx וה Tx של המקלט, ויוצרים חיבור סיראלי בעזרת הספריה NewSoftSerial, על מנת לנתח את המידע של ה Gps נעזרים בספריה TinyGps שחוסכת לנו זמן בחיתוך המחרוזות ושליפת פרמטרים.

מבנה סופי



סיכום

מעבר לניווט הסטנדרטי ניתן להשתמש ב GPS בפרוייקטים למעקב בדומה לאיתורן במקרה של גניבת רכב או בטייסים אוטומטים לטיסנים ורחפנים, בעזרת לוח GSM ניתן לשדר את מידע לתחנה מרוחקת ו להעזר ב Google Maps על מנת להציג את הקואורדינטות על המפה.

איפה אני?!