تعد وحدة GPS NEO-6M وحدة استقبال GPS شائعة للغاية وموثوقة توفر بيانات دقيقة وسرعة وبيانات زمنية. يتواصل باستخدام UART (المسلسل) ويستخدم عادة في المشاريع التنقل والتتبع وإنترنت الأشياء. سوف يسير هذا البرنامج التعليمي عبر كيفية توزيع وحدة GPS NEO-6M مع Arduino.
ماذا ستحتاج
- NEO-6M GPS وحدة
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- لوح
- الأسلاك الطائر
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم وحدة GPS NEO-6M
تحتوي وحدة GPS NEO-6M على دبابيس المفاتيح التالية:
دبوس | وظيفة |
---|---|
VCC | مزود الطاقة (3.3V أو 5V) |
GND | أرضي |
تكساس | نقل البيانات |
RX | تلقي البيانات |
ملحوظة: تتضمن الوحدة هوائيًا على متن الطائرة وقد تتميز بموصل لهوائي خارجي لتحسين الاستقبال.
الخطوة 2: توصيل GPS NEO-6M إلى Arduino
فيما يلي دليل الأسلاك لتوصيل وحدة Neo-6M بوحدة Arduino Uno:
NEO-6M PIN | دبوس أردوينو |
---|---|
VCC | 5V |
GND | GND |
تكساس | دبوس 4 |
RX | دبوس 3 |
مهم: تتصل TX لوحدة GPS بـ RX من Arduino ، ويتصل RX لوحدة GPS إلى TX من Arduino. هذا ضروري للتواصل المناسب.
الخطوة 3: تثبيت مكتبة TinyGPS ++
تقوم مكتبة TinyGPS ++ بتبسيط تحليل بيانات GPS ، مثل خط العرض ، وخط الطول ، والوقت.
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "TinyGPS ++" في مدير المكتبة.
- حدد المكتبة وانقر فوق ثَبَّتَ.
الخطوة 4: تحميل الرمز
فيما يلي رمز مثال لقراءة وعرض بيانات GPS:
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
// Define GPS pins
#define RXPin 3
#define TXPin 4
// Set GPS baud rate
#define GPSBaud 9600
// Create GPS and Serial objects
TinyGPSPlus gps;
SoftwareSerial gpsSerial(RXPin, TXPin);
void setup() {
Serial.begin(9600);
gpsSerial.begin(GPSBaud);
Serial.println("NEO-6M GPS Module Test");
}
void loop() {
// Read GPS data
while (gpsSerial.available() > 0) {
gps.encode(gpsSerial.read());
if (gps.location.isUpdated()) {
Serial.print("Latitude: ");
Serial.print(gps.location.lat(), 6);
Serial.print(", Longitude: ");
Serial.println(gps.location.lng(), 6);
Serial.print("Date: ");
Serial.print(gps.date.day());
Serial.print("/");
Serial.print(gps.date.month());
Serial.print("/");
Serial.println(gps.date.year());
Serial.print("Time: ");
Serial.print(gps.time.hour());
Serial.print(":");
Serial.print(gps.time.minute());
Serial.print(":");
Serial.println(gps.time.second());
Serial.println("---------------------");
}
}
}
الخطوة 5: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - ضع وحدة GPS بالقرب من نافذة أو خارج للحصول على استقبال إشارة أفضل. يجب أن تبدأ في رؤية بيانات خط العرض ، وخطوط الطول ، والتاريخ ، والوقت في الشاشة التسلسلية.
استكشاف الأخطاء وإصلاحها
- لا توجد بيانات أو إخراج فارغ: تأكد من أن وحدة GPS في منطقة مفتوحة مع رؤية واضحة للسماء. تحقق من الأسلاك الخاصة بك وتأكد من صحة اتصالات TX/RX.
- تحديثات البيانات ببطء: انتظر وحدة GPS للحصول على قفل ساتلي ، والذي يمكن أن يستغرق بضع دقائق في بعض الحالات.
- بيانات القمامة: تحقق من أن معدل Baud في الكود يطابق معدل Baud الافتراضي للوحدة (عادة 9600).
تطبيقات وحدة GPS NEO-6M
- أنظمة تتبع المركبات
- التنقل في الهواء الطلق
- تزامن الوقت لأجهزة إنترنت الأشياء
- التطبيقات الجيولوجية
خاتمة
لقد نجحت في ربط وحدة GPS Neo-6M مع Arduino واسترجاع بيانات الوقت والوقت التي تم استردادها. مع هذا الإعداد ، يمكنك إنشاء العديد من المشاريع المستندة إلى نظام تحديد المواقع العالمي (GPS) مثل أنظمة الملاحة أو أجهزة تتبع إنترنت الأشياء. ابدأ في استكشاف الاحتمالات!