آموزش راه‌اندازی ماژول فاصله سنج لیزری VL53LXX با آردوینو

فهرست مطالب

ویژگی‌های ماژول فاصله‌سنج لیزری VL53LXX

ماژول سنسور VL53L1X یک سنسور فاصله ­سنج لیزری بر اساس روش Time-of-Flight (ToF) است. ToF با سنجش مدت زمان رفت و برگشت یک موج، فاصله تا جسم را محاسبه می‌کند. سنسور VL53L1X می تواندفاصله ای تا رنج 4 متر را با فرکانس حداکثر 50Hz محاسبه کند.

کنترل این ماژول کم مصرف از طریق رابط I2C صورت می‌گیرد.

در این ماژول برخلاف نسل‌های قبلی ماژول‌های فاصله­ سنج، فیلتر‌های IR و optic به صورت فیزیکی گنجانده شده، و از آخرین تکنولوژی ToF شرکت ST بهره برده شده است که امکان محاسبه دقیق فاصله تا جسم را فراهم می‌آورد، مستقل از‌ آنکه رنگ و یا جنس جسم هدف چه باشد.

ماژول دارای رگولاتوری بر روی برد است که به خوبی در هر دو  مود 3.3 و 5 ولت قابل راه‌اندازی است.

VL53L1X Module

مشخصات فنی ماژول فاصله‌سنج لیزری VL53L1X

  • ولتاژ کاری: 3v/5v
  • رنج اندازه گیری فاصله: 40 تا 4000 میلی‌متر
  • خطای اندازه‌گیری: ±5%
  • فرکانس نمونه برداری: تا 50 هرتز
  • دمای مجاز عملیاتی: -20 تا 80 درجه سانتی‌گراد
  • زاویه دید: 27°
  • طول موج لیزر: 940nm
  • ابعاد: 80*16.35 میلی‌متر

برای اطلاعات دقیق‌تر به دیتاشیت ماژول مراجعه فرمایید. لینک دیتاشیت ماژول و سنسور فاصله‌سنج لیزری VL53L1X در زیر آورده شده است.

معرفی پایه‌های (Pinout) ماژول فاصله سنج VL53LXX

ماژول VL53L1X دارای شش پایه به شرح زیر است:

  • VCC : تغذیه ماژول (3 یا 5 ولت)
  • GND : زمین
  • SHUT : پین غیر فعال کردن ماژول (Active Low)
  • INT : پایه اینتراپت خروجی قابل تنظیم برای ارتباط با میکرو 
  • SCL: کلاک برای ارتباط I2C
  • SDA : خط دیتای ارتباط I2C
VL53L1X Pinout

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

Arduino UNO R3 × 1
ماژول فاصله سنج لیزری VL53L1X × 1
سیم جامپر نری مادگی × 1

نرم افزارهای مورد نیاز

Arduino IDE

راه‌اندازی ماژول فاصله سنج لیزری VL53L1X با آردوینو

گام اول: سیم بندی

مدار را مطابق شکل زیر ببندید.

VL53L1X Interface Circuit

گام دوم: نصب کتابخانه

کتابخانه ماژول فاصله ­سنج لیزری VL53L1X را از اینجا دانلود کرده و نصب کنید.

اگر برای نصب کتابخانه به راهنمایی بیشتری نیاز دارید روی این لینک کلیک کنید.

گام سوم: کد

کد زیر را در آردوینو کپی و اجرا کنید.


#include <Wire.h>
#include <VL53L1X.h>
VL53L1X sensor;
void setup()
{
 Serial.begin(115200);
 Wire.begin();
 Wire.setClock(400000); // use 400 kHz I2C
 sensor.setTimeout(500);
 if (!sensor.init())
 {
 Serial.println("Failed to detect and initialize sensor!");
 while (1);
 }
 sensor.setDistanceMode(VL53L1X::Short);
 sensor.setMeasurementTimingBudget(15000);
 sensor.startContinuous(15);
 Serial.println("new program");
}

void loop()
{
 Serial.println(String(millis())+","+String(sensor.read()));
 delay(50);
}

پنجره سریال مانیتور را باز کنید. اعداد نمایش داده شده باید با تغییر فاصله دست تا سنسور، تغییر کنند. عدد اول بعد از فلش، زمان و عدد بعدی، فاصله به میلی­متر است.

results in serial monitor

آموزش های مشابه

Comments (7)

  • راستین Reply

    سلام،.وقت بخیر
    میشه مقدار فاصله رو بصورت خروجی آنالوگ بده تا به ورودی آنالوگ PLC وصل کرد؟

    می 3, 2023 at 11:31 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      خیر خروجی این سنسور I2C می باشد.

      می 6, 2023 at 11:00 ق.ظ
  • ابوالفضل Reply

    سلام
    قابلیت مشاهده بر روی ال سی دی کاراکتری هست؟
    اگه هست میشه کمک کنید

    ژوئن 8, 2023 at 12:41 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      امکانش وجود دارد.
      از آموزش lcd کارکتری مورد نظر ، نحوه نمایش داده ها را کپی کنید و در پروژه خود بیاوید.
      در جایی که متن نمایشی را که در سریال مانیتور پیرنت می شود را به نمایشگر نیز بدهید تا آن نیز نمایش بدهد.

      ژوئن 10, 2023 at 11:32 ق.ظ
  • مرتضی Reply

    کدی ک نوشته شده اعدادمثل یک تایمر افزایشی فقط شمرده میشوند و توی عکس هم به همین صورته(مقدار توی عکس و مقداری ک من گرفتم فاصله لیدار نیستند فقط مقدار تایمر هستند)
    در ضمن رنج اندازه گیری این سنسور تا چهار متر هست یعنی ۵۲۰۰۰ که روی عکس شما هست خارج از رنج اندازه گیری سنسور هست

    مارس 5, 2024 at 1:37 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      اکر دقت بفرمایید در کد مقدار millis() و مقدار sensor.read در کنار هم چاپ می شود که مقدار اول زمان روشن شدن میکروکنترلر می باشد (ربطی به سنسور ندارد و برای مشخص شدن زمان استفاده می شود)
      همچنین تیک show Timestamp نیز زده شده است که ساعت دریافت دیتا توسط سریال مانیتور نمایش داده میشود.
      دیتا دریافتی از سنسور در مقدار آخر بعد از , می باشد که می توانید از آن استفاده کنید.

      مارس 9, 2024 at 10:43 ق.ظ
  • مرتضی Reply

    کد قرار داده شده در سایت اشتباه است و فقط یک شمرنده سعودی روی سریال پرینت نمایش میده دوستانی که این مشکلو دارند از خود اگزمپل های کتابخانه مربوطه استفاده کنند که هم در این سایت هم در سایت خود اردوینو موجود است.

    مارس 5, 2024 at 1:42 ب.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.