6.2 KiB
اكتشاف القرب - Wio Terminal
في هذا الجزء من الدرس، ستضيف مستشعر قرب إلى Wio Terminal الخاص بك، وتقرأ المسافة منه.
الأجهزة
يحتاج Wio Terminal إلى مستشعر قرب.
المستشعر الذي ستستخدمه هو مستشعر المسافة Grove Time of Flight. يستخدم هذا المستشعر وحدة قياس بالليزر لاكتشاف المسافة. يتراوح نطاق هذا المستشعر من 10 ملم إلى 2000 ملم (1 سم - 2 متر)، وسيقوم بالإبلاغ عن القيم في هذا النطاق بدقة كبيرة، مع الإبلاغ عن المسافات التي تزيد عن 1000 ملم كـ 8109 ملم.
يقع محدد المدى بالليزر في الجزء الخلفي من المستشعر، وهو الجانب المقابل لمقبس Grove.
هذا مستشعر I2C.
توصيل مستشعر Time of Flight
يمكن توصيل مستشعر Time of Flight بـ Wio Terminal.
المهمة - توصيل مستشعر Time of Flight
قم بتوصيل مستشعر Time of Flight.
-
أدخل أحد طرفي كابل Grove في المقبس الموجود على مستشعر Time of Flight. لن يدخل إلا بطريقة واحدة.
-
مع فصل Wio Terminal عن جهاز الكمبيوتر الخاص بك أو أي مصدر طاقة آخر، قم بتوصيل الطرف الآخر من كابل Grove بالمقبس الأيسر على Wio Terminal عند النظر إلى الشاشة. هذا هو المقبس الأقرب إلى زر الطاقة. هذا مقبس مشترك بين الرقمي وI2C.
- يمكنك الآن توصيل Wio Terminal بجهاز الكمبيوتر الخاص بك.
برمجة مستشعر Time of Flight
يمكن الآن برمجة Wio Terminal لاستخدام مستشعر Time of Flight المتصل.
المهمة - برمجة مستشعر Time of Flight
-
قم بإنشاء مشروع جديد تمامًا لـ Wio Terminal باستخدام PlatformIO. أطلق على هذا المشروع اسم
distance-sensor
. أضف كودًا في دالةsetup
لتكوين منفذ التسلسل. -
أضف تبعية مكتبة لمكتبة مستشعر المسافة Seeed Grove Time of Flight إلى ملف
platformio.ini
الخاص بالمشروع:lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
-
في
main.cpp
، أضف ما يلي أسفل توجيهات التضمين الحالية لإعلان مثيل من فئةSeeed_vl53l0x
للتفاعل مع مستشعر Time of Flight:#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X;
-
أضف ما يلي إلى أسفل دالة
setup
لتهيئة المستشعر:VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init();
-
في دالة
loop
، قم بقراءة قيمة من المستشعر:VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
يقوم هذا الكود بتهيئة بنية بيانات لقراءة البيانات فيها، ثم يمررها إلى طريقة
PerformSingleRangingMeasurement
حيث سيتم تعبئتها بقياس المسافة. -
أسفل ذلك، قم بكتابة قياس المسافة، ثم قم بتأخير لمدة ثانية واحدة:
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000);
-
قم ببناء هذا الكود وتحميله وتشغيله. ستتمكن من رؤية قياسات المسافة باستخدام المراقب التسلسلي. ضع أشياء بالقرب من المستشعر وسترى قياس المسافة:
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
يقع محدد المدى في الجزء الخلفي من المستشعر، لذا تأكد من استخدام الجانب الصحيح عند قياس المسافة.
💁 يمكنك العثور على هذا الكود في مجلد code-proximity/wio-terminal.
😀 لقد نجح برنامج مستشعر القرب الخاص بك!
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.