مع مجلس التنمية يمكن لـ Arduino تنفيذ العديد من المشاريع ، وغالبًا ما يكون الحد هو الخيال. مع ال المكونات والوحدات الإلكترونية، يمكن إضافة الوظائف حتى تتمكن من القيام بالمزيد من الأشياء. قد تكون إحدى هذه الوظائف هي القدرة على تحديد موقع الأشياء أو الأشخاص ، أو تحديد موقع عن طريق تحديد المواقع باستخدام Arduino GPS.
هذا النوع من تحديد المواقع والتعقب يمكن القيام بذلك باستخدام RFID أو أجهزة الاستقبال مثل تلك التي سنناقشها في هذه المقالة. باستخدام هذا ، ستتمكن من إنشاء العديد من المشاريع ، بدءًا من الألعاب التي يتم من خلالها إنشاء كاشف وتحديد موقع الأشياء ، وتحديد موقع الأشياء المسروقة ، لتتمكن من تحديد موقعك باستخدام نظام تحديد المواقع العالمي (GPS) ، وما إلى ذلك.
وحدة اردوينو NEO-7 GPS
للحصول على Arduino GPS ، يمكنك استخدام ملف أجهزة NEO-6، عائلة تم تصنيعها بواسطة U-Blox ويمكن توصيلها بلوحة Arduino بطريقة بسيطة. بالإضافة إلى ذلك ، لديهم واجهة اتصال كاملة ، مع UART ، SPI ، I2C، و USB ، بالإضافة إلى دعم بروتوكولات NMEA و UBX الثنائية و RTCM.
بالإضافة إلى ذلك ، يتيح لك Arduino GPS المزود بـ NEO-6 أيضًا تقليل حجم مشروعك ، نظرًا لأنه يحتوي على حجم صغير، فضلاً عن التكلفة المنخفضة. من حيث الاستهلاك ، فهي صغيرة أيضًا. عندما تكون في الوضع النشط ، ستحتاج فقط إلى 37 مللي أمبير. يتم تشغيله من 2.7 إلى 3.6 فولت للطرازين NEO-6Q و NEO-6M ، بينما هناك أجهزة أخرى ذات جهد منخفض تسمى NEO-6G تحتاج فقط إلى ما بين 1.75 و 2 فولت.
المعلمات الأخرى المثيرة للاهتمام لهذه الوحدة هي:
- 30 ثانية من وقت الاشتعال بارد ، وثانية واحدة فقط لبدء التشغيل الساخن.
- La تردد القياس الأقصى يعملون في 5 هرتز فقط.
- دقة الموقف 2.5 متر من التباين.
- دقة السرعة 0.1 م / ث.
- اختلاف الاتجاه 0.5 فقط.
من أين تشتري NEO-6 لـ Arduino GPS
يمكنك العثور على هذه الأجهزة والوحدات في العديد من متاجر الإلكترونيات المتخصصة ، أو أيضًا على Amazon. على سبيل المثال ، يمكنك هنا شرائه بسعر رخيص جدا:
مثال مع اردوينو
أول شيء يجب عليك القيام به لتوصيله بلوحة التطوير الخاصة بك والحصول على Arduino GPS الخاص بك هو توصيل وحدة NEO-6 باللوحة. ال روابط مصنوعة ببساطة شديدة (اتصالات وحدة NEO-6 - اتصالات Arduino):
- GND - GND
- TX - RX (D4)
- RX - TX (D3)
- Vcc - 5 فولت
بمجرد توصيله ، سيتعين عليك أيضًا تنزيل ملف مكتبة SoftSerial في Arduino IDE الخاص بك ، حيث ستكون هناك حاجة إليه للاتصال التسلسلي. من المحتمل أن يكون لديك بالفعل من مشاريع أخرى ، ولكن إذا لم يكن كذلك ، فسيتعين عليك ذلك تنزيل وتثبيت في IDE الخاص بك.
بمجرد الانتهاء من ذلك ، يمكنك البدء بالكود البسيط الخاص بك للقيام بالقراءات. على سبيل المثال ، نظرًا لأنه يمكن استخدام عدة بروتوكولات ، فإليك الرسم التخطيطي لـ NMEA:
#include <SoftwareSerial.h> const int RX = 4; const int TX = 3; SoftwareSerial gps(RX, TX); void setup() { Serial.begin(115200); gps.begin(9600); } void loop() { if (gps.available()) { char data; data = gps.read(); Serial.print(data); } }
بالطبع ، يمكنك إجراء تعديلاتك أو استخدام بروتوكولات أخرى إذا كنت ترغب في ذلك ... يمكنك أيضًا الاستفادة من الأمثلة المتوفرة في IDE الخاص بك لهذه المكتبة. لكن قبل إنهاء المقال ، يجب أن تعرف ذلك تنسيق NMEA (الرابطة الوطنية للإلكترونيات البحرية) خاصة جدًا ، لفهمها ، عليك أن تعرف تركيبها:
$ GPRMC، hhmmss.ss، A، llll.ll، a، yyyy.yy، a، vv، xx، ddmmyy، mm، a * hh
وهذا يعني أن $ GPRMC يتبعه سلسلة من المعلمات التي تشير إلى الموقع:
- hhmmss.ss: هو وقت UTC بالساعات والدقائق والثواني.
- A: حالة المتلقي ، حيث A = موافق و V = تنبيه.
- llll.ll ، إلى: هو خط العرض ، حيث يمكن أن يكون a N أو S ، في اتجاه الشمال أو الجنوب.
- yyyy.yy ، أ: الطول. مرة أخرى ، يمكن أن تكون a E أو W ، أي شرقًا أو غربًا.
- إلخ: السرعة بالعقد.
- XX: هي الدورة بالدرجات.
- com.ddmmyy: هو تاريخ التوقيت العالمي المنسق (UTC) بالأيام والشهور والسنة.
- مم ، أ: هو الاختلاف المغناطيسي بالدرجات ، ويمكن أن يكون a هو E أو W للشرق أو الغرب.
- *ح ح: المجموع الاختباري أو المجموع الاختباري.
على سبيل المثال ، يمكنك الحصول على شيء مثل هذا:
$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68