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

لهذا المشروع سنستخدم مستشعر VL53L0X، الذي يتميز بحجمه الصغير وسهولة دمجه في تطبيقات مختلفة. يتواصل المستشعر عبر I2C، مما يجعل توصيله بلوحة Arduino بسيطًا. في الفيديو ستجد شروحات وعروضًا إضافية لعملية الإعداد (في الفيديو عند 04:00).
شرح الأجهزة
VL53L0X هو مستشعر مسافة بتقنية وقت الطيران يصدر شعاع ليزر ويقيس الزمن الذي يستغرقه الضوء للعودة بعد أن يصطدم بجسم. هذا يسمح له بحساب المسافة إلى الجسم بدقة. يعمل المستشعر عند جهد يتراوح بين 2.6 V و3.5 V، لكنه يمكن تزويده بالطاقة بجهد 5 V بفضل منظم جهد داخلي.
تحتوي الوحدة على ستة دبابيس: VCC، GND، SDA (خط البيانات)، SCL (خط الساعة)، GPIO1 (مدخل/مخرج لأغراض عامة)، وXSHUT (دبوس الإيقاف). دبوس GPIO1 غير مستخدم في هذا التكوين ولكن يمكن تركه غير موصول. يتيح دبوس XSHUT إيقاف تشغيل المستشعر لتوفير الطاقة عندما لا يكون قيد الاستخدام.
تفاصيل ورقة البيانات
| الشركة المصنعة | إس تي مايكروإلكترونيكس |
|---|---|
| رقم القطعة | VL53L0X |
| جهد المنطق/المداخل والمخارج | 2.6 فولت إلى 3.5 فولت (5 فولت مع منظم) |
| درجة حرارة التشغيل | -20 °C إلى 70 °C |
| نطاق القياس | 30 mm إلى 2000 mm |
| تردد الاتصال عبر I2C | 400 كيلوهرتز |
| الحجم | 4.4 مم × 2.4 مم × 1 مم |
- تأكد من وجود مصدر طاقة مناسب (يوصى بجهد 5 فولت).
- قم بتوصيل SDA وSCL بدبابيس I2C المناسبة على لوحة أردوينو.
- استخدم مقاومات سحب على خطوط I2C إذا لزم الأمر.
- لا تترك GPIO1 غير متصل؛ يمكن تركه عائمًا.
- حافظ على دبوس XSHUT في مستوى عالٍ أثناء التشغيل.
- قِس المسافات في بيئة مُضاءة جيدًا للحصول على دقة أفضل.
- قم بمعايرة المستشعر للحصول على قياسات دقيقة.
- اختبر نطاق المستشعر بوضع أشياء على مسافات مختلفة.
- راقب الإخراج التسلسلي لقراءات المسافة ورسائل انتهاء المهلة.
تعليمات الأسلاك

لتوصيل حساس VL53L0X بالأردوينو، ابدأ بتوصيل دبوس VCC للحساس بدبوس 5V على الأردوينو. بعد ذلك، قم بتوصيل دبوس GND إلى GND على الأردوينو. يجب توصيل دبوس SDA للحساس بدبوس A4 على الأردوينو (أو دبوس SDA إذا كانت لوحتك تحتوي على دبابيس I2C مخصصة). وبالمثل، قم بتوصيل دبوس SCL للحساس بدبوس A5 (أو دبوس SCL). اترك دبوس GPIO1 دون توصيل لأنه غير مطلوب لهذا المشروع.
أخيرًا، قم بتوصيل دبوس XSHUT بالدبوس الرقمي رقم 12 على لوحة Arduino. سيتم استخدام هذا الدبوس للتحكم في حالة إيقاف تشغيل المستشعر. تأكد من أن جميع التوصيلات آمنة لتجنب أي مشاكل في الاتصال.
أمثلة على الشيفرة ودليل خطوة بخطوة
في الكود، نبدأ بتضمين المكتبات اللازمة وتهيئة حساس VL53L0X. تقوم دالة الإعداد بتكوين الحساس وتبدأ قياسات المسافة المستمرة. فيما يلي مقتطف من دالة الإعداد:
void setup() {
pinMode(12, INPUT_PULLUP);
digitalWrite(12, HIGH);
Serial.begin(9600);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
sensor.startContinuous();
}في هذا المقتطف، نضبط الدبوس 12 كمدخل مع مقاوم سحب للأعلى ونهيئ الاتصال التسلسلي بسرعة 9600 بود. كما نهيئ المستشعر ونحدد مهلة للقراءات، مما يضمن عمله بشكل مستمر.
بعد ذلك نقرأ المسافة في دالة loop، حيث يتم طباعة القيمة المقاسة على المراقب التسلسلي:
void loop() {
int distance = sensor.readRangeContinuousMillimeters();
Serial.print("Distance: ");
Serial.print(distance);
Serial.print("mm");
if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
Serial.println();
delay(100);
}يقرأ هذا الكود المسافة بالملليمترات ويطبعها على المراقب التسلسلي. إذا انقضت المهلة، فهذا يشير إلى أن المستشعر لم يتلق قراءة صالحة.
عرض توضيحي / ما المتوقع
عند تشغيل البرنامج، يجب أن تبدأ برؤية قياسات المسافة على نافذة المراقبة التسلسلية. ستتذبذب المخرجات بينما تحرك الأجسام أقرب أو أبعد عن المستشعر. قد تلاحظ رسائل انتهاء المهلة أحيانًا إذا فشل المستشعر في الحصول على قراءة (في الفيديو عند 10:30). لتحسين الدقة، ضع في اعتبارك أخذ متوسط لعدة قراءات.
الأشياء التي قد تحتاجها
-
إي باياشترِ VL53l0x من eBayebay.us
-
علي إكسبريسشراء من 1 إلى 10 قطع من VL53L0X من علي إكسبرسs.click.aliexpress.com
-
بانجوداشترِ من 1 إلى 10 قطع من VL53L0X من بانجودbanggood.com
الموارد والمراجع
-
خارجياشترِ VL53l0x من eBayebay.us
-
خارجياشترِ VL53L0X من أمازونamzn.to
-
خارجياشترِ من 1 إلى 10 قطع من VL53L0X من بانجودbanggood.com
-
خارجيشراء من 1 إلى 10 قطع من VL53L0X من علي إكسبرسs.click.aliexpress.com
ملفات📁
Fritzing File
-
VL53L0X_Distance_sensor_Squares
application/zip0.02 MB
ملفات أخرى
-
VL53L0X_Distance_sensor_purple
application/zip0.01 MB