ربط NEO-6M GPS موديول مع الاردوينو وتحديد الأحداثيات للموقع اكتب تعليقُا

 تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

ربط NEO-6M GPS موديول مع الاردوينو وتحديد الأحداثيات

مقدمــــــة المشروع

نتحدث اليوم عن أستخدام NEO-6M GPS في تحديد خطوط الطول والعرض لتحديد الموقع لذلك ، نحتاج أولاً إلى العثور على خطوط الطول ودوائر العرض لتحديد الموقع . بمجرد العثور على موقعنا ، يمكنك استخدام قيم خطوط الطول والعرض للعثور على المسافة إلى الموقع وعن طريق الاحتفاظ بنطاق يمكنك تشغيل المخطر . المنطق بسيط ، أليس كذلك ؟!

يمكنك عرض بيانات خطوط الطول ودوائر العرض لتحديد الموقع علي شاشة السيريل من داخل البيئة التطويرية للاردوينو .

اذا هيا بنا نبدأ…….

متطلبات المشروع وحدة NEO-6M GPS مع الاردوينو

بامكانك شراء كل منتج على حدى من المتجر بالضغط على المنتج المطلوب

او شراء منتجات المشروع بالكامل ادناه

طريقة عمل وتوصيل مشروع وحدة NEO-6M GPS

  • NEO-6M GPS Module

كلمة GPS ترمز لنظام تحديد المواقع العالمي ويمكن استخدامه لتحديد الموقع والوقت والسرعة إذا كنت مسافرا .

وتحتوي وحدة NEO-6M GPS علي التالي :

  • This module has an external antenna and built-in EEPROM.
  • Interface: RS232 TTL
  • Power supply: 3V to 5V
  • Default baudrate: 9600 bps
  • Works with standard NMEA sentences

تحتوي الوحدة على أربعة دبابيس: VCC و RX و TX و GND . تتواصل الوحدة مع Arduino عبر الاتصال التسلسلي باستخدام دبابيس TX و RX ، وبالتالي فإن الأسلاك لا يمكن أن تكون أكثر بساطة .

وطريقة التوصيل هي كالتالي مع الاردوينو :

NEO-6M GPS ModuleWiring to Arduino UNO

VCC VIN

RX TX pin defined in the software serial

TX RX pin defined in the software serial

GND GND

FN5M2QKJVWNWJA1.LARGE
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

الكـــــــــــود البرمجي لوحدة NEO-6M GPS

لتحميل الكود البرمجي اضغط هنا
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;

// The TinyGPS++ object
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

// For stats that happen every 5 seconds
unsigned long last = 0UL;


int ledPin = 13;


void setup()
{
  Serial.begin(115200);
  ss.begin(GPSBaud);

pinMode(ledPin, OUTPUT);
}

void loop()
{
  // Dispatch incoming characters
  while (ss.available() > 0)
    gps.encode(ss.read());

  if (gps.location.isUpdated())
  {
    
    Serial.print(F("  Lat="));
    Serial.print(gps.location.lat(), 6);
    Serial.print(F(" Long="));
    Serial.println(gps.location.lng(), 6);
  }



  else if (millis() - last > 5000)
  {
    Serial.println();
    if (gps.location.isValid())
    {

      // replace 'Dest_LAT' and 'Dest_LON' values basedon your location  
      // you can find Latitude and Longitude from Read_Lat_Lng.ino  
      static const double Dest_LAT = 18.786254, Dest_LON = 73.880798;
      double distanceToDest =
        TinyGPSPlus::distanceBetween(
          gps.location.lat(),
          gps.location.lng(),
          Dest_LAT, 
          Dest_LON);
      

      Serial.print(F("Distance to Destination ="));
      Serial.print(distanceToDest/1000, 6);       // *Prints distance to destination 
      
      if(distanceToDest/1000 < 0.050000)   //Here when distanceToDest/1000 is less than  0.050000  LED turns on . So change *distance to destination as per your requirement. 
      {
        digitalWrite(ledPin, HIGH);
      }
      else
      {
        digitalWrite(ledPin, LOW);






} } if (gps.charsProcessed() < 10) Serial.println(F("WARNING: No GPS data. Check wiring.")); last = millis(); Serial.println(); } }

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *