جدول المحتويات:

واجهة Arduino Mega مع وحدة GPS (Neo-6M): 8 خطوات
واجهة Arduino Mega مع وحدة GPS (Neo-6M): 8 خطوات

فيديو: واجهة Arduino Mega مع وحدة GPS (Neo-6M): 8 خطوات

فيديو: واجهة Arduino Mega مع وحدة GPS (Neo-6M): 8 خطوات
فيديو: How to use NEO-6M GPS module with Arduino and get GPS location. 2024, يونيو
Anonim
واجهة اردوينو ميجا مع وحدة GPS (Neo-6M)
واجهة اردوينو ميجا مع وحدة GPS (Neo-6M)

في هذا المشروع ، أوضحت كيفية ربط وحدة GPS (Neo-6M) مع Arduino Mega. تُستخدم مكتبة TinyGPS لعرض بيانات خط الطول وخط العرض وتستخدم TinyGPS ++ لعرض خطوط الطول والعرض والارتفاع والسرعة وعدد الأقمار الصناعية على الشاشة التسلسلية.

الخطوة 1: المكونات المطلوبة

المعدات

  • Arduino Mega ==> 30 دولارًا
  • وحدة GPS Neo-6M ==> 30 دولارًا

برمجة

اردوينو IDE

التكلفة الإجمالية للمشروع 60 دولارا

الخطوة 2: معلومات حول GPS

ما هو نظام تحديد المواقع

نظام تحديد المواقع العالمي (GPS) هو نظام ملاحة قائم على الأقمار الصناعية يتكون من 24 قمراً صناعياً على الأقل. يعمل نظام تحديد المواقع العالمي (GPS) في أي ظروف جوية ، وفي أي مكان في العالم ، على مدار 24 ساعة في اليوم ، بدون رسوم اشتراك أو رسوم إعداد.

كيف يعمل GPS

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

لحساب موقعك ثنائي الأبعاد (خطوط الطول والعرض) وتتبع الحركة ، يجب أن يكون مستقبل GPS مقفلًا على إشارة 3 أقمار صناعية على الأقل. مع وجود 4 أقمار صناعية أو أكثر في العرض ، يمكن لجهاز الاستقبال تحديد موقعك ثلاثي الأبعاد (خطوط الطول والعرض والارتفاع). بشكل عام ، سيتتبع مستقبل GPS 8 أقمار صناعية أو أكثر ، لكن هذا يعتمد على الوقت من اليوم والمكان الذي أنت فيه على الأرض. بمجرد تحديد موقعك ، يمكن لوحدة GPS حساب معلومات أخرى ، مثل

  • سرعة
  • تحمل
  • مسار
  • رحلة حي
  • المسافة إلى الوجهة

ما هي الإشارة

تنقل الأقمار الصناعية لنظام تحديد المواقع العالمي (GPS) ما لا يقل عن 2 من إشارات الراديو منخفضة الطاقة. تنتقل الإشارات عبر خط الرؤية ، مما يعني أنها ستمر عبر السحب والزجاج والبلاستيك ولكنها لن تمر عبر معظم الأجسام الصلبة ، مثل المباني والجبال. ومع ذلك ، فإن أجهزة الاستقبال الحديثة أكثر حساسية ويمكنها عادةً تتبع المنازل. تحتوي إشارة GPS على 3 أنواع مختلفة من المعلومات

كود شبه عشوائي

إنه بطاقة هوية. رمز يحدد القمر الصناعي الذي ينقل المعلومات. يمكنك معرفة الأقمار الصناعية التي تتلقى إشارات منها على صفحة القمر الصناعي بجهازك.

بيانات التقويم الفلكي

هناك حاجة إلى بيانات التقويم الفلكي لتحديد موقع القمر الصناعي وإعطاء معلومات مهمة حول صحة القمر الصناعي والتاريخ والوقت الحاليين.

بيانات التقويم

تخبر بيانات Almanac جهاز استقبال GPS حيث يجب أن يكون كل قمر صناعي GPS في أي وقت على مدار اليوم ويظهر المعلومات المدارية لهذا القمر الصناعي وكل قمر صناعي آخر في النظام.

الخطوة 3: وحدة GPS Neo-6M

تظهر وحدة GPS NEO-6M في الشكل أدناه. يأتي بهوائي خارجي ولا يأتي مع دبابيس رأسية. لذلك سوف تحتاج إلى لحامها.

نظرة عامة على وحدة GPS NEO-6M

رقاقة GPS NEO-6M

قلب الوحدة عبارة عن شريحة GPS NEO-6M من u-blox. يمكنه تتبع ما يصل إلى 22 قمرًا صناعيًا على 50 قناة ويحقق أعلى مستوى من الحساسية في الصناعة ، أي تتبع -161 ديسيبل ، بينما يستهلك تيار إمداد 45 مللي أمبير فقط. يتميز محرك تحديد المواقع u-blox 6 أيضًا بـ Time-To-First-Fix (TTFF) الذي يقل عن ثانية واحدة. واحدة من أفضل الميزات التي توفرها الشريحة هي وضع توفير الطاقة (PSM). يسمح بتقليل استهلاك طاقة النظام عن طريق التبديل الانتقائي لأجزاء جهاز الاستقبال إلى وضع التشغيل والإيقاف. هذا يقلل بشكل كبير من استهلاك الطاقة للوحدة إلى 11 مللي أمبير فقط مما يجعلها مناسبة للتطبيقات الحساسة للطاقة مثل ساعة اليد GPS. يتم تقسيم دبابيس البيانات الضرورية لشريحة GPS NEO-6M إلى رؤوس 0.1 درجة. يتضمن ذلك المسامير المطلوبة للتواصل مع متحكم عبر UART.

ملاحظة: - تدعم الوحدة معدل الباود من 4800 بت في الثانية إلى 230400 بت في الثانية مع الباود الافتراضي 9600.

مؤشر LED لضبط الموضع

يوجد مؤشر LED على وحدة GPS NEO-6M يشير إلى حالة Position Fix. سيومض بمعدلات مختلفة اعتمادًا على حالته

  1. لا يومض ==> يعني أنه يبحث عن أقمار صناعية
  2. وميض كل ثانية - يعني أنه تم العثور على إصلاح الموضع

3.3V LDO Regulator

يتراوح جهد التشغيل لشريحة NEO-6M من 2.7 إلى 3.6 فولت. ولكن ، تأتي الوحدة مع منظم التسرب المنخفض للغاية MIC5205 3V3 من MICREL. كما أن دبابيس المنطق تتحمل 5 فولت ، لذلك يمكننا توصيلها بسهولة بـ Arduino أو أي متحكم منطقي 5V دون استخدام أي محول مستوى منطقي.

البطارية و EEPROM

الوحدة مجهزة بـ HK24C32 سلكين تسلسلي EEPROM. يبلغ حجمه 4 كيلوبايت ومتصل بشريحة NEO-6M عبر I2C. تحتوي الوحدة أيضًا على بطارية زر قابلة لإعادة الشحن تعمل كمكثف فائق.

يساعد EEPROM مع البطارية في الاحتفاظ بذاكرة الوصول العشوائي (RAM) المدعومة بالبطارية (BBR). يحتوي BBR على بيانات الساعة وأحدث بيانات الموقع (بيانات مدار GNSS) وتكوين الوحدة. لكنها ليست مخصصة لتخزين البيانات بشكل دائم.

نظرًا لأن البطارية تحتفظ بالساعة والموضع الأخير ، فإن وقت الإصلاح الأول (TTFF) يقلل بشكل كبير إلى 1 ثانية. هذا يسمح بوضع أقفال أسرع بكثير.

بدون البطارية ، يبدأ GPS دائمًا على البارد ، لذا يستغرق قفل GPS الأولي مزيدًا من الوقت. يتم شحن البطارية تلقائيًا عند توصيل الطاقة وتحافظ على البيانات لمدة تصل إلى أسبوعين بدون طاقة.

Pinout

GND هو الدبوس الأرضي ويجب توصيله بدبوس GND على Arduino

يتم استخدام دبوس TxD (جهاز الإرسال) للاتصال التسلسلي

يتم استخدام دبوس RxD (جهاز الاستقبال) للاتصال التسلسلي

يوفر VCC الطاقة للوحدة. يمكنك توصيله مباشرة بالدبوس 5V على Arduino

الخطوة 4: اردوينو ميجا

Arduino عبارة عن منصة إلكترونية مفتوحة المصدر تعتمد على أجهزة وبرامج سهلة الاستخدام. لوحات Arduino قادرة على قراءة المدخلات - ضوء على جهاز استشعار ، أو إصبع على زر ، أو رسالة Twitter - وتحويلها إلى إخراج - تنشيط المحرك ، وتشغيل مؤشر LED ، ونشر شيء ما عبر الإنترنت. يمكنك إخبار اللوح الخاص بك بما يجب القيام به عن طريق إرسال مجموعة من التعليمات إلى وحدة التحكم الدقيقة الموجودة على اللوحة. للقيام بذلك ، تستخدم لغة برمجة Arduino (بناءً على Wiring) ، وبرنامج Arduino (IDE) ، بناءً على المعالجة.

اردوينو ميجا

Arduino Mega 2560 عبارة عن لوحة متحكم تعتمد على Atmega2560.

  • يوجد 54 منفذ إدخال / إخراج رقمي و 16 دبوس تناظري مدمج على اللوحة مما يجعل هذا الجهاز فريدًا ومميزًا عن الآخرين. من بين 54 إدخالًا / إخراجًا رقميًا ، يتم استخدام 15 منها لـ PWM (تعديل عرض النبض).
  • تمت إضافة مذبذب بلوري بتردد 16 ميجاهرتز على اللوحة.
  • تأتي اللوحة مع منفذ كبل USB يستخدم لتوصيل وتحويل الكود من الكمبيوتر إلى اللوحة.
  • يقترن مقبس طاقة التيار المستمر باللوحة المستخدمة لتشغيل اللوحة.
  • تأتي اللوحة مع منظمين للجهد أي 5 فولت و 3.3 فولت مما يوفر المرونة لتنظيم الجهد حسب المتطلبات.
  • يوجد زر إعادة تعيين و 4 منافذ تسلسلية للأجهزة تسمى USART والتي تنتج أقصى سرعة لإعداد الاتصال.
  • هناك ثلاث طرق لتشغيل اللوحة. يمكنك إما استخدام كبل USB لتشغيل اللوحة ونقل الكود إلى اللوحة أو يمكنك تشغيلها باستخدام Vin من اللوحة أو من خلال مقبس الطاقة أو الخليط.

تحديد

Pinout

دبوس الوصف

  • 5V & 3.3V ==> يتم استخدام هذا الدبوس لتوفير جهد منظم الإخراج حول 5V. يعمل مصدر الطاقة المنظم هذا على تشغيل وحدة التحكم والمكونات الأخرى الموجودة على اللوحة. يمكن الحصول عليها من Vin للوحة أو كابل USB أو مصدر جهد 5V منظم آخر. بينما يتم توفير تنظيم آخر للجهد بواسطة دبوس 3.3 فولت. أقصى قوة يمكن استخلاصها هي 50 مللي أمبير.
  • GND ==> هناك 5 دبابيس أرضية متوفرة على اللوحة مما يجعلها مفيدة عند الحاجة إلى أكثر من دبابيس أرضية للمشروع.
  • إعادة تعيين ==> يتم استخدام هذا الدبوس لإعادة ضبط اللوحة. سيؤدي ضبط هذا الدبوس على LOW إلى إعادة ضبط اللوحة.
  • Vin ==> هو جهد الدخل المزود للوحة والذي يتراوح من 7V إلى 20V. يمكن الوصول إلى الجهد الذي يوفره مقبس الطاقة من خلال هذا الدبوس. ومع ذلك ، فإن جهد الخرج من خلال هذا الدبوس إلى اللوحة سيتم ضبطه تلقائيًا على 5V.
  • Serial Communication ==> RXD و TXD هي الدبابيس التسلسلية المستخدمة لنقل واستقبال البيانات التسلسلية ، أي أن Rx يمثل نقل البيانات بينما يستخدم Tx لتلقي البيانات. هناك أربع مجموعات من هذه المسامير التسلسلية تستخدم حيث يحتوي Serail 0 على RX (0) و TX (1) ، ويحتوي Serial 1 على TX (18) و RX (19) ، ويحتوي Serial 2 على TX (16) و RX (17) ، والمسلسل 3 يحتوي على TX (14) و RX (15).
  • المقاطعات الخارجية ==> تُستخدم ستة دبابيس لإنشاء المقاطعات الخارجية ، أي المقاطعة 0 (0) ، المقاطعة 1 (3) ، المقاطعة 2 (21) ، المقاطعة 3 (20) ، المقاطعة 4 (19) ، المقاطعة 5 (18). تنتج هذه المسامير مقاطعات بعدد من الطرق ، مثل توفير قيمة منخفضة ، أو ارتفاع أو هبوط الحافة أو تغيير القيمة إلى دبابيس المقاطعة.
  • LED ==> تأتي هذه اللوحة مع LED مدمج متصل بالدبوس الرقمي 13. ستؤدي القيمة العالية في هذا الدبوس إلى تشغيل مؤشر LED وستعمل القيمة المنخفضة على إيقاف تشغيله.
  • AREF ==> يرمز AREF إلى الجهد المرجعي التناظري وهو جهد مرجعي للمدخلات التناظرية.
  • الدبابيس التناظرية ==> يوجد 16 دبوسًا تناظريًا مدمجًا على اللوحة المسمى A0 إلى A15. من المهم ملاحظة أنه يمكن استخدام كل هذه المسامير التناظرية كدبابيس إدخال / إخراج رقمية. يأتي كل دبوس تناظري بدقة 10 بت. يمكن قياس هذه المسامير من الأرض إلى 5V. ومع ذلك ، يمكن تغيير القيمة العليا باستخدام دالة AREF و analogReference ().
  • I2C ==> يدعم دبابيس 20 و 21 اتصال I2C حيث يمثل 20 SDA (خط البيانات التسلسلي المستخدم بشكل أساسي للاحتفاظ بالبيانات) ويمثل 21 SCL (خط الساعة التسلسلي المستخدم بشكل أساسي لتوفير مزامنة البيانات بين الأجهزة)
  • SPI Communication ==> يشير SPI إلى الواجهة الطرفية التسلسلية المستخدمة لنقل البيانات بين وحدة التحكم ومكونات الأجهزة الطرفية الأخرى. يتم استخدام أربعة دبابيس ، أي 50 (MISO) ، 51 (MOSI) ، 52 (SCK) ، 53 (SS) للاتصال SPI.

الخطوة 5: Arduino IDE

هنا أفترض أنك قمت بالفعل بتثبيت Arduino IDE.

1. قم بتنزيل المكتبة المطلوبة أدناه

TinyGPS lib

2. بعد تنزيله. استخرجه وانقله إلى المجلد C: / Users \… / Documents / Arduino / libraries تأكد من عدم وجود (-).

3. افتح Arduino IDE وانسخ الكود من قسم البرنامج.

4. ثم حدد لوحة لذلك انتقل إلى Tools ==> Boards ==> حدد لوحة هنا نستخدم Arduino Mega 2560

5. بعد اختيار اللوحة ، حدد المنفذ لذلك ، انتقل إلى Tools ==> Ports

6. بعد اختيار اللوحة والميناء ، انقر فوق تحميل.

7. بمجرد تحميل الكود ، افتح المحطة التسلسلية لرؤية الإخراج.

الخطوة 6: التوصيلات

Arduino MEGA ==> NEO-6M GPS

  • 3.3 فولت ==> VCC
  • GND ==> GND
  • Tx1 (18) ==> آر إكس
  • Rx (19) ==> Tx

يمكنك أيضًا استخدام Serial2 أو Serial3 بدلاً من Serial1

موصى به: