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

رادار الأشعة تحت الحمراء مع اردوينو: 6 خطوات
رادار الأشعة تحت الحمراء مع اردوينو: 6 خطوات

فيديو: رادار الأشعة تحت الحمراء مع اردوينو: 6 خطوات

فيديو: رادار الأشعة تحت الحمراء مع اردوينو: 6 خطوات
فيديو: ☑️ أردوينو للمبتدئين - حساس الاشعة ما تحت الحمراء لتجنب العقبات 2024, شهر نوفمبر
Anonim
Image
Image

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

هدفي هو إنشاء نظام LIDAR بسيط للغاية ورخيص معه وتنفيذ جهاز رسم الخرائط.

اللوازم

  • Arduino (كنت أستخدم Maple Mini)
  • مستشعر مسافة حادة (استخدمت Sharp GP2Y0A02YK0F)
  • مايكرو سيرفو (9 جرام)
  • اللوح ، الأسلاك
  • اختياري: 4.7 كيلو المقاوم ، 100nF مكثف

الخطوة 1: مستشعر الأشعة فوق الصوتية مقابل الأشعة تحت الحمراء

تخطيطي
تخطيطي

الفرق الرئيسي بين مستشعرات المسافة بالموجات فوق الصوتية والأشعة تحت الحمراء هو أن مستشعر الموجات فوق الصوتية يقيس المسافة في نطاق أوسع. لذلك فهو غير قادر على تحديد موقع العائق بدقة. هذا يعني أنه يقيس مسافة أقرب جسم يقع داخل نطاق زاوية ~ + -30 درجة.

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

الخطوة 2: التخطيطي

تخطيطي
تخطيطي
تخطيطي
تخطيطي

من السهل جدًا إجراء الاتصال بين الأجزاء. حدد إخراج PWM وإدخال تناظري على لوحة Arduino الخاصة بك وقم بتوصيل مستشعرات المسافة المؤازرة والشارب بتلك المسامير. لقد استخدمت الدبابيس التالية لهذا الغرض:

  • PA0: إدخال تناظري لمستشعر المسافة الحادة
  • PA9: إخراج PWM لأجهزة المؤازرة

في بعض الأحيان ، يمكن أن يكون لمستشعر Sharp IR مخرجات صاخبة ، لذلك عليك وضع مرشح تمرير منخفض بسيط عليه. لقد استخدمت مقاومًا 4.7 كيلو ومكثف 100nF لتقليل الضوضاء على الدبوس التناظري. إلى جانب ذلك ، قمت أيضًا بتصفية القيمة المقاسة في الكود من خلال قراءتها عدة مرات وحساب المتوسط.

الخطوة 3: خصائص المستشعر

خاصية الاستشعار
خاصية الاستشعار
خاصية الاستشعار
خاصية الاستشعار

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

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

لقد استخدمت هذه الأزواج في الكود للحصول على المسافة الصحيحة مع الاستيفاء الخطي.

ستجد رمز Arduino بسيطًا في نهاية المستند ، لقياس قيمة ADC أثناء قياس الخصائص.

الخطوة 4: الاتصال التسلسلي

الاتصال التسلسلي
الاتصال التسلسلي

لقد استخدمت الاتصال التسلسلي لإرسال قيم مسافة الزاوية المقاسة إلى جهاز الكمبيوتر. نظرًا لأنني يجب أن أرسل وحدات بايت متعددة وأنواع مختلفة من الرسائل ، فقد صممت بروتوكول اتصال بسيطًا.

يجعل هذا procotol قادرًا على تحديد أنواع الرسائل المختلفة بطريقة عامة. في هذا المشروع ، استخدمت نوعين من الرسائل:

  • المعلمات: تُستخدم لإرسال المعلمات إلى تطبيق الكمبيوتر الشخصي ، المحددة في Arduino مثل أقصى مسافة وعدد من العوائق في الجولة.
  • العقبة: تستخدم لإرسال عائق تم اكتشافه. يتم تحديده بزاوية المؤازرة والمسافة المقاسة. سيتم حساب موضع x-y عن طريق تطبيق الكمبيوتر الشخصي.

الخطوة 5: تطبيق كيو تي

تطبيق كيو تي
تطبيق كيو تي

للتواصل مع Arduino ورسم النقاط المقاسة مثل الرادار ، قمت بإنشاء تطبيق للكمبيوتر الشخصي في Qt (C ++). يتلقى بعض المعلمات (المحددة في Arduino) ونقاط المسافة المقاسة.

يمكنك تنزيل التطبيق وكود المصدر الخاص به أيضًا.

الخطوة 6: كود مصدر اردوينو

يمكنك تخصيص بعض المعلمات في الجزء العلوي من التعليمات البرمجية باستخدام وحدات الماكرو.

لاحظ أنه إذا قمت بتغيير خاصية مستشعر المسافة الحاد ، فيجب عليك تعديل قيم صفيف distAdcMap !

  • InfraRadar.c: كود الرادار. انسخه والصقه في مشروع Arduino الخاص بك.
  • InfraRadarMeasurement.c: كود لقياس الخصائص. انسخه والصقه في مشروع Arduino الخاص بك. استخدم Serial Console للتحقق من قيم ADC.

موصى به: