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

CircuitPython و TinyLiDAR: مثال بسيط: 3 خطوات
CircuitPython و TinyLiDAR: مثال بسيط: 3 خطوات

فيديو: CircuitPython و TinyLiDAR: مثال بسيط: 3 خطوات

فيديو: CircuitPython و TinyLiDAR: مثال بسيط: 3 خطوات
فيديو: CircuitPython vs MicroPython: Key Differences 2024, يوليو
Anonim
CircuitPython و TinyLiDAR: مثال بسيط
CircuitPython و TinyLiDAR: مثال بسيط

إن MicroElectronicDesign tinyLiDAR عبارة عن وحدة قياس زمن الرحلة (ToF) تعتمد على ST VL53L0X مع اتصال ناقل i2c. ترتبط لوحات Adafruit ميكروكنترولر بسهولة بهذا المستشعر حيث يمكنها التحدث ببروتوكول i2c على دبابيس البيانات الخاصة بها.

تتمتع سلسلة M0 / M4 بميزة على اللوحات الأخرى لأنها تدعم مجموعة فرعية من Python مما يجعل البرمجة في متناول جمهور أوسع من C على Arduino. هذا مثال بسيط باستخدام CircuitPython على لوحة Gemma M0 لقراءة قيم المسافة من tinyLiDAR والإشارة إلى المسافة عن طريق تغيير سطوع RGB LED الموجود على اللوحة. يجب أن تكون اللوحة هي الإصدار M0 لدعم Python.

ملاحظة: تقوم Adafruit أيضًا بعمل العديد من لوحات استشعار المسافة بما في ذلك واحدة تعتمد على VL53L0X.

الخطوة 1: كود CircuitPython

  1. قم بتنزيل lib / adafruit_dotstar.mpy و lib / adafruit_bus_device / i2c_device.mpy إذا لم يكن لديك بالفعل. هذه جزء من حزمة المكتبة الاختيارية ، راجع القسم الأول من CircuitPython I2C للحصول على ملاحظات حول كيفية تثبيتها. يجب أن تدخل هذه الملفات في الدلائل lib و lib / adafruit_bus_device على Gemma M0.
  2. قم بتنزيل gemma-m0-tinylidar-simple.py ، وأعد تسميته إلى main.py وانسخه إلى الدليل الجذر لـ Gemma M0.

يكتب البرنامج الإخراج إلى وحدة التحكم التسلسلية بالإضافة إلى تغيير سطوع Gemma MO RGB LED بما يتناسب مع مسافة القراءة. يتناوب مؤشر Gemma M0 بين التشغيل والإيقاف للقراءة ، لذا سيومض عند 5 هرتز تقريبًا والسلوك الافتراضي للوحة tinyLiDAR هو وميض مؤشرها الأزرق لكل أمر عند 10 هرتز.

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

الخطوة 2: توصيل TinyLiDAR بجيما M0

توصيل TinyLiDAR بجيما M0
توصيل TinyLiDAR بجيما M0

تُظهر الصورة إعدادًا مؤقتًا فعالًا ولكنه غير أنيق لتوصيل tinyLiDAR بلوحة Gemma M0. يتم استخدام الموصل العالمي "Grove" 4pin الخاص بـ tinyLiDAR عبر كابل تحويل Seeed Grove ورأس احتياطي ومقاطع تمساح للاتصال بـ Gemma M0. تزيل بعض الفواصل بين المسامير الموجودة في الرأس خطر حدوث قصور غير مقصود. الوصلات هي:

  • أسود: gnd to gnd
  • الأحمر: + V إلى 3Vo
  • أبيض: SDA إلى D0 (بيانات)
  • الأصفر: SCL إلى D2 (ساعة)

تحتوي لوحات Adafruit على بعض المسامير التي تدعم بروتوكول i2c بكفاءة في الأجهزة. في حالة Gemma M0 ، يجب استخدام هذه ، D0 للبيانات و D2 للساعة.

يتطلب ناقل i2c وجود مقاومة سحب على خطوط البيانات والساعة. في هذه الحالة ، يوفر tinyLiDAR بعض المقاومات الموجودة على اللوحة 4.7K. إذا تمت إزالتها من الدائرة عن طريق قطع الخطوط ، فيجب إضافة مكافئات إلى الدائرة.

الخطوة 3: إخراج المسلسل

إخراج المسلسل
إخراج المسلسل

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

موصى به: