جدول المحتويات:
- الخطوة 1: توصيل TFmini بـ Teensy 3.5 (مشابه لـ Arduino Mega)
- الخطوة 2: كود لتشغيله
- الخطوة 3: استخدام Arduino IDE عرض النتائج في Serial Plotter
فيديو: Benewake TFmini - LiDAR غير مكلف مع Teensy 3.5: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
وحدة Benewake TFmini LiDAR عبارة عن مستشعر LiDAR صغير وخفيف الوزن للغاية مقابل 50 دولارًا كنديًا. كان التوثيق جيدًا ، لكنه غير مكتمل. قدمت تفاصيل حول تلقي البيانات من المستشعر ، لكنها نسيت أن تذكر الإشارة اللازمة لوضع المستشعر في الوضع الافتراضي بحيث يرسل البيانات بالفعل. لحسن الحظ كان ذلك في مستند التصحيح.
لذلك هذا ما نجح معي ، وهو حقًا جهاز سهل التعامل معه.
اخترت استخدام Teensy 3.5 نظرًا لأنه يحتوي على العديد من منافذ HW التسلسلية ، فهو أكثر من سريع بما يكفي لتلقي البيانات ومعالجتها دون السماح بتراكم البيانات. فقط من أجل المتعة ، استخدمت مكتبة Teensy Threading لفصل الحصول على البيانات عن باقي الكود.
الخطوة 1: توصيل TFmini بـ Teensy 3.5 (مشابه لـ Arduino Mega)
يتطلب هذا المثال اتصالين تسلسليين: أحدهما إلى TFmini والآخر لعرض النتائج على جهاز الكمبيوتر الخاص بك. لهذا السبب ، وبقدر ما أستطيع أن أقول ، هذا السبب فقط ، لن يعمل هذا المثال المحدد على أي شيء أقل من Arduino Mega أو Teensy 3.x.
ومع ذلك ، بالنسبة للتطبيقات التي لا تتطلب إخراجًا تسلسليًا للطباعة على شاشة الكمبيوتر ، يجب أن يكون نفس المشروع قابلاً للتكيف.
باستخدام تسخير الأسلاك المضمنة:
1) قم بتوصيل السلك الأسود بـ Teensy GND (في حالة استخدام مصدر اختلاف VDC ، تأكد من انتقال الأرض أيضًا إلى GND على Teensy)
2) قم بتوصيل السلك الأحمر بمصدر Teensy Vin (أو مصدر 5VDC)
3) قم بتوصيل السلك الأبيض (TFmini RX) بالدبوس 1 على Teensy (Serial1 TX)
4) قم بتوصيل السلك الأخضر (TFmini TX) بالدبوس 0 على Teensy (Serial RX)
كان تسخير الأسلاك المضمن صغيرًا جدًا بالنسبة لي للعمل على لوح الخبز ، لذلك قطعت الطرف المقابل لـ TFmini ، ولحمت الأسلاك بلوح التجارب ، وأضفت موصل JST إلى لوح التكسير ، وصنعت JST للعبور الذكر تسخير الأسلاك.
الخطوة 2: كود لتشغيله
استخدم الكود التالي (لـ Teensy 3.5) أو قم بتنزيل الملف المرفق:
بالنسبة إلى Arduino Mega ، من المحتمل ألا تعمل خيوط المعالجة. انقل الكود من وظيفة readLiDAR إلى الحلقة الرئيسية ، وأزل أي شيء متعلق بالخيوط.
# تضمين # تضمين "TeensyThreads.h"
// استخدام الكبل المصاحب:
// - أسود = GND (متصل بـ GND) // - أحمر = 5 فولت (4.5 - 6.0 فولت) (متصل بـ Vin على Teensy 3.5 ، أو 5V على Arduino) // - أبيض = TFmini RX (المعروف أيضًا باسم. ، pin1 on Teensy 3.5) // - Green = TFmini TX (المعروف أيضًا باسم. الاتصال بالمتحكم الدقيق RX ، pin0 على Teensy 3.5) // ملاحظة: لهذا الرسم تحتاج إلى متحكم مع منافذ تسلسلية إضافية تتجاوز المنفذ المتصل بكابل USB / / يتضمن هذا Arduino MEGA (استخدم Serial1) ، Teensy (3.x) (استخدم أحد اتصالات HW التسلسلية المتوفرة)
متقلبة int liDARval = 0 ؛
قراءة باطلة
// تنسيق البيانات لـ Benewake TFmini // ================================ // إجمالي 9 بايت لكل رسالة: // 1) 0x59 // 2) 0x59 // 3) Dist_L (منخفض 8 بت) // 4) Dist_H (مرتفع 8 بت) // 5) Strength_L (منخفضة 8 بت) // 6) Strength_H (عالية 8 بت) // 7) بايت محجوز // 8) درجة جودة الإشارة الأصلية // 9) بت تماثل المجموع الاختباري (منخفضة 8 بت) ، المجموع الاختباري = بايت 1 + بايت 2 + … + بايت 8. هذه ليست سوى 8 بت منخفضة بالرغم من ذلك (1) {// استمر إلى الأبد بينما (Serial1.available ()> = 9) // عندما يتوفر 9 بايت على الأقل من البيانات (العدد المتوقع للبايت لإشارة واحدة) ، إذن اقرأ {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // بايت 1 والبايت 2 {unsigned int t1 = Serial1.read ()؛ // بايت 3 = Dist_L unsigned int t2 = Serial1.read () ؛ // بايت 4 = Dist_H t2 << = 8 ؛ t2 + = t1 ؛ liDARval = t2 ؛ t1 = Serial1.read () ، // بايت 5 = Strength_L t2 = Serial1.read () ؛ // بايت 6 = Strength_H t2 << = 8 ؛ t2 + = t1 ؛ لـ (int i = 0 ؛ i <3 ؛ i ++) Serial1.read () ؛ // بايت 7 ، 8 ، 9 يتم تجاهلها}}}}
الإعداد باطل()
{Serial1.begin (115200) ؛ // HW المسلسل لـ TFmini Serial.begin (115200) ؛ // إخراج المسلسل من خلال USB إلى تأخير الكمبيوتر (100) ؛ // امنح بعض الوقت لبدء الأشياء // تعيين إلى وضع الإخراج القياسي Serial1.write (0x42) ؛ Serial1.write (0x57) ؛ Serial1.write (0x02) ؛ Serial1.write (0x00) ؛ Serial1.write (0x00) ؛ Serial1.write (0x00) ؛ Serial1.write (0x01) ؛ Serial1.write (0x06) ؛ // إعداد الموضوع لقراءة الإدخال التسلسلي من سلاسل TFmini.addThread (readLiDAR) ؛ }
حلقة فارغة()
{تأخير (10) ؛ // لا ترغب في القراءة كثيرًا كعينات TFmini بتردد 100 هرتز Serial.println (liDARval) ؛ }
الخطوة 3: استخدام Arduino IDE عرض النتائج في Serial Plotter
يمكنك استخدام أي طريقة تريدها ، ولكن IDE الخاص بـ Arduino سوف يرسم النتائج بشكل جيد.
اتصل بـ Teensy ، وافتح Serial Monitor. تأكد من ضبط Baudrate على 115200.
موصى به:
شد أو روبوت متوازي 5R مزدوج ، 5 محاور (DOF) غير مكلف ، قوي ، التحكم في الحركة: 3 خطوات (بالصور)
الشد أو الروبوت المتوازي 5R مزدوج ، 5 محاور (DOF) غير مكلف ، قوي ، التحكم في الحركة: آمل أن تعتقد أن هذه هي الفكرة الكبرى ليومك! هذه مشاركة في مسابقة Instructables Robotics التي تنتهي في 2 ديسمبر 2019 ، وقد وصل المشروع إلى الجولة النهائية من التحكيم ، ولم يكن لدي الوقت الكافي لإجراء التحديثات التي أردتها! لقد قمت
قلم سهل وغير مكلف ويمكن الوصول إليه: 4 خطوات (بالصور)
قلم إلكتروني سهل وغير مكلف ويمكن الوصول إليه: تظهر مستشعرات اللمس السعوية بأشكال مختلفة. تتضمن العديد من الأشكال الشائعة شاشات على الهواتف الذكية والأجهزة اللوحية والمفاتيح. من أجل تنشيط هذه الشاشات أو المفاتيح ، يجب أن تقترب المادة الموصلة من بعضها. يستخدم الكثير من
ميكروسكوب Microsoft Lifecam Studio Electronics غير مكلف: 4 خطوات (بالصور)
مجهر Microsoft Lifecam Studio Electronics غير المكلف: إذن ، أنا فتاة مهووسة تكذب على العبث بالإلكترونيات ، لكنني أيضًا رخيصة الثمن ، ورؤيتي ليست الأفضل. أضف حقيقة أن لحام SMT صعب حقًا بدون تكبير ، وقررت شراء واحدة من مجاهر USB السيئة 14 دولارًا
حامل كمبيوتر محمول / كمبيوتر محمول غير مكلف إلى محول سطح مكتب: 3 خطوات
حامل كمبيوتر محمول / كمبيوتر محمول غير مكلف إلى محول سطح مكتب: أجد نفسي أستخدم الكمبيوتر المحمول الخاص بي لفترات طويلة من الوقت. لا تشعر بالراحة بعد فترة. يجب أن تكون لوحة المفاتيح والشاشة منفصلة بشكل مثالي لتقليل إجهاد الرقبة أثناء الاستخدام المطول. إذا كنت من مستخدمي الكمبيوتر المحمول بدوام كامل ، أقترح عليك إنشاء
بناء كمبيوتر Ikea NAS / كمبيوتر غير مكلف: 6 خطوات (بالصور)
بناء Ikea NAS / كمبيوتر غير مكلف: NAS: التخزين المتصل بالشبكة إيكيا: مزودي الأشياء الأنيقة وغير المكلفة. Ikea NAS: Way-Cool أو منخفض الطاقة أو عالي السعة أو شبكة تخزين أو كمبيوتر للاستخدام العام. التحديث: يمكن العثور على المزيد في منشور موقع الويب الخاص بي: http://aaroneiche.com/2009/03/31/m