قياس المسافة باستخدام وحدة ليزر VL53L0X ذات 6 دبابيس وشاشة LCD1602-I2C لأردوينو
في هذا الدرس سنتعلم كيفية قياس المسافة باستخدام حساس الليزر VL53L0X وعرض النتائج على شاشة LCD1602 بواجهة I2C. يتيح لك هذا المشروع الحصول على قياسات دقيقة للمسافة إما بالمليمترات أو بالسنتيمترات، مما يجعله إضافة متعددة الاستخدامات لأي مشروع مبني على أردوينو. بنهاية هذا الدرس سيكون لديك نظام قياس مسافات يعمل بشكل كامل وسهل الإعداد والاستخدام.

لتحقيق ذلك، سنستخدم حساس المسافة الليزري VL53L0X، الذي يتواصل مع الأردوينو عبر I2C. ستوفر شاشة LCD1602 تمثيلاً بصريًا واضحًا للمسافة المقاسة. لمزيد من الوضوح بشأن عملية البرمجة، يرجى الرجوع إلى الفيديو عند 00:00.
شرح الأجهزة
المكونات الرئيسية في هذا المشروع هي حساس المسافة بالليزر VL53L0X وشاشة LCD1602. يستخدم VL53L0X الليزر لقياس المسافة بدقة، مما يجعله مناسبًا لتطبيقات متنوعة، بما في ذلك الروبوتات والأتمتة. يعمل عبر واجهة الاتصال I2C، ما يسمح باندماجه بسهولة مع لوحة أردوينو.
شاشة LCD1602 هي شاشة أحرف تدعم واجهة I2C ويمكنها عرض ما يصل إلى 16 حرفًا على سطرين. تُبسط عملية عرض البيانات، لأنها تتطلب أطرافًا أقل من شاشات LCD التقليدية. معًا، تُكوّن هذه المكونات نظام قياس مسافة قوي وسهل الاستخدام.
تفاصيل ورقة البيانات
| الشركة المصنعة | إس تي مايكروإلكترونيكس |
|---|---|
| رقم القطعة | VL53L0X |
| جهد المنطق/الإدخال والإخراج | 1.8 فولت إلى 2.8 فولت |
| جهد التغذية | 2.6 V إلى 3.5 V |
| تيار الخرج (لكل قناة) | ... |
| التيار الأقصى (لكل قناة) | ... |
| إرشادات تردد PWM | ... |
| عتبات الإدخال المنطقية | ... |
| هبوط الجهد / Rالمصرف-المصدر (عند التشغيل)/ التشبع | ... |
| الحدود الحرارية | ... |
| حزمة | ... |
| ملاحظات / متغيرات | ... |
- تأكد من أن جهد مصدر الطاقة ضمن النطاق الصحيح (2.6 فولت إلى 3.5 فولت).
- استخدم مقاومات سحب على خطوط SDA وSCL عند الحاجة.
- أبقِ المستشعر بعيدًا عن الأسطح العاكسة لتجنب قراءات خاطئة
- تحقق من عنوان I2C (الافتراضي هو 0x29 لـ VL53L0X).
- ضع في اعتبارك تبديد الحرارة عند الاستخدام في بيئات ذات درجات حرارة عالية.
تعليمات التوصيل الكهربائي

لتوصيل مستشعر VL53L0X وشاشة LCD1602، ابدأ بتوصيل مصدر الطاقة والأرضي. قم بتوصيلVCCدبوس الـ VL53L0X إلى الـ5Vدبوس على الأردوينو والـGNDوصل الدبوس بأرضية الأردوينو. بالنسبة لشاشة LCD1602، قم بتوصيل دبوسهاVCCإلى نفس الشيء5VوGNDإلى الأرض أيضًا.
بعد ذلك، قم بتوصيل خطوط الاتصال I2C. الـSDAيجب توصيل دبوس الـ VL53L0X بـA4الدبوس على الأردوينو، وSCLيجب أن يذهب الدبوس إلىA5. الXSHUTيمكن توصيل الدبوس بـD12على الأردوينو، ولكن يمكن تركه غير متصل أيضًا. بالنسبة لشاشة LCD1602، تأكدSDAوSCLمرتبطة أيضًا بنفس دبابيس مستشعر VL53L0X.
أمثلة على الكود ودليل خطوة بخطوة
VL53L0X sensor;
#include
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
sensor.startContinuous();
lcd.begin();
lcd.backlight();
}
في دالة الإعداد، نقوم بتهيئة الاتصال التسلسلي وحافلة I2C. الـsensor.init()يهيئ مستشعر VL53L0X، بينماlcd.begin()يهيئ شاشة LCD. يتم تشغيل الإضاءة الخلفية للشاشة، مما يسهل رؤيتها.
void loop() {
int distance = sensor.readRangeContinuousMillimeters();
Serial.print("Distance: ");
lcd.clear();
lcd.print("Robojax VL53L0X");
lcd.setCursor(0,1);
lcd.print("Dist.: ");
lcd.setCursor(7,1);
lcd.print(distance);
Serial.println();
delay(100);
}
داخل الحلقة، نقرأ المسافة باستمرار باستخدامsensor.readRangeContinuousMillimeters()وطباعة النتيجة على المراقب التسلسلي. يتم تحديث شاشة LCD بقياس المسافة، مما يوفر تغذية راجعة في الوقت الحقيقي. تأخير قدره 100 مللي ثانية يضمن أن القراءات لا تُحدَّث بشكل متكرر جدًا، مما يتيح قراءتها بسهولة.
عرض توضيحي / ما الذي تتوقعه
عند تشغيل النظام، سيقوم بقياس المسافة باستمرار وعرض النتائج على شاشة LCD. من المتوقع أن ترى قيم المسافة تتغير بينما تُقرب أو تُبعد الأشياء عن المستشعر. إذا حدثت أية مشاكل في المستشعر، مثل أخطاء نفاد الوقت، فسيتم طباعة رسائل مناسبة على المراقب التسلسلي (في الفيديو عند 03:15).
الأشياء التي قد تحتاجها
-
أمازوناشترِ VL53L0X من أمازونamzn.to
-
إي باياشترِ VL53l0x من eBayebay.us
-
علي إكسبريسقم بشراء من 1 إلى 10 قطع من VL53L0X من علي إكسبريسs.click.aliexpress.com
-
بانجوداشترِ من 1 إلى 10 قطع من VL53L0X من بانجودbanggood.com
الموارد والمراجع
-
خارجياشترِ VL53l0x من eBayebay.us
-
خارجياشترِ من 1 إلى 10 قطع من VL53L0X من بانجودbanggood.com
-
خارجيصفحة تحميل Adafruitlearn.adafruit.com
-
خارجيقم بشراء من 1 إلى 10 قطع من VL53L0X من علي إكسبريسs.click.aliexpress.com
-
خارجيورقة بيانات VL53L0X (PDF)st.com
ملفات📁
Fritzing File
-
حساس المسافة VL53L0X
VL53L0X_Distance_sensor_Squares.fzpz0.02 MB
ملفات أخرى
-
مكتبة Adafruit VL53L0X من Robojax
robojax-VL52L0X_Adafruit_VL53L0X-master.zip -
مستشعر المسافة VL53L0X بنفسجي
VL53L0X_Distance_sensor_purple.fzpz0.01 MB