الجمعة، 30 مايو 2014

SKYLAB SKM53 GPS MODULE

بسم الله الرحمن الرحيم

انهارده هنتكلم على موديول تعبت جدا انى اوصل لحد شارح  شرح كامل  لكيفيه تشغيله و دائما اغلب المواقع مش حاطين المكتبه بتاعته كامله يا أما فها اخطاء .

الموديول ده هو SKYLAB SKM53  GPS ال GPS ده منتشر فى السوق عندنا كتير بس تﻻقى محﻻت زى رام او فيوتشر حاطين على الموقع بتاعهم الداتا شيت و  شرح لو جربناه مش هيشغل الموديول هتﻻقى فيه بعض الاخطاء

الشغل على الموديول ده خد منى يومين علشان اعرف اطلع منه اﻻحداثيات مظبوطه

من غير كﻻم كتير نبدأ الشرح

دى صوره الموديول:



ال pins بتوعه مش standard يعنى مش هتيجى قد ال breadboard ف انا عن نفسى لحمت في كل pin سلكه بس اﻻختيار ده كان صعب ف انتا ممكن تجب سلك male - female او فى بورد صغيره مخصوصه ليه ممكن تجيبها و انتا بتشتريها.


انا استخدمت معاه بورده اردوينوا اونو
و Arduino IDE 1.0.5
المهم  هو هيتوصل كالاتى:

5v ==> 5v
GND ==> GND
RX in GPS ==> TX in arduino
TX in GPS ==> RX in arduino


ال TX , RX بتوع اﻻردوينوا بنحددهم فى الكود
انا عاملهم 2,3  و جربت كذا PIN تانيين و اشتغل تمام.


بعد ما وصلنا ال GPS فى library اسمها TinyGPS و دى واحد عاملها و بتعمل كل ال Functions الخاصه ب ال GPS
هنزلها من اللينك ده انا نزلتها من موقع مش فاكر اسمه بصراحه ف علشان كده حطيته على ميديا فير

https://www.mediafire.com/?7vxtbat79fuar2z

بعد ما ننزلها
نفك الضغط و ناخد الفولدر كوبى و نحطه فى ال file ده
c://Sketchbook//libraries
,و تقفل البرنامج لو كنت فاتحه و تفتحه من اول و جدد هتﻻقى ال library دى تم اضافتها فى
Sketchbook ==> import library

كده احنا موصلين الموديول و عملنا import  ل ال library اللى احنا محتاجنها يبقى فاضل الكود


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

unsigned long fix_age;

SoftwareSerial GPS(2,3);                     
TinyGPS gps;
void gpsdump(TinyGPS &gps);
bool feedgps();
void getGPS();
long lat, lon;
float LAT, LON;

void setup(){
  GPS.begin(9600);
  Serial.begin(9600);
}

void loop(){
  long lat, lon;
  unsigned long fix_age, time, date, speed, course;
  unsigned long chars;
  unsigned short sentences, failed_checksum;

  // retrieves +/- lat/long in 100000ths of a degree
  gps.get_position(&lat, &lon, &fix_age);

  getGPS();
  Serial.print("Latitude : ");
  Serial.print(LAT/1000000,7);
  Serial.print(" :: Longitude : ");
  Serial.println(LON/1000000,7);
}

void getGPS(){
  bool newdata = false;
  unsigned long start = millis();
  // Every 1 seconds we print an update
  while (millis() - start < 1000)
  {
    if (feedgps ()){
      newdata = true;
    }
  }
  if (newdata)
  {
    gpsdump(gps);
  }
}

bool feedgps(){
  while (GPS.available())
  {
    if (gps.encode(GPS.read()))
      return true;
  }
  return 0;
}

void gpsdump(TinyGPS &gps)
{
  //byte month, day, hour, minute, second, hundredths;
  gps.get_position(&lat, &lon);
  LAT = lat;
  LON = lon;
  {
    feedgps(); // If we don't feed the gps during this long routine, we may drop characters and get checksum errors
  }
}


_____________________________
الكود ده انا جربته و دى كانت النتيجه 



و خد الاحداثيات اللى طلعت و حطتها على الماب و طلعلى مكانى مظبوط

من المشاكل اللى قابلتنى ان  الموديول ده ﻻزم يكون فى مكان مفتوح او بمعنى اصح كون شايف الستاﻻيت
هو مرضيش يشتغل معايا جوا الشقه و اشتغل فى البلكونه

لو حد عنده اى معلومه زياده  يتفضل يقولها
و كل المعلومات عن الموديول هتﻻقوها موجوده فى الداتاشيت

ارجوا الدعاء
و شكرا

SKM53 GPS moule datasheet
http://www.nooelec.com/files/SKM53_Datasheet.pdf













ليست هناك تعليقات:

إرسال تعليق