ویژگیهای ماژول فاصلهسنج لیزری VL53LXX
ماژول سنسور VL53L1X یک سنسور فاصله سنج لیزری بر اساس روش Time-of-Flight (ToF) است. ToF با سنجش مدت زمان رفت و برگشت یک موج، فاصله تا جسم را محاسبه میکند. سنسور VL53L1X می تواندفاصله ای تا رنج 4 متر را با فرکانس حداکثر 50Hz محاسبه کند.
کنترل این ماژول کم مصرف از طریق رابط I2C صورت میگیرد.
در این ماژول برخلاف نسلهای قبلی ماژولهای فاصله سنج، فیلترهای IR و optic به صورت فیزیکی گنجانده شده، و از آخرین تکنولوژی ToF شرکت ST بهره برده شده است که امکان محاسبه دقیق فاصله تا جسم را فراهم میآورد، مستقل از آنکه رنگ و یا جنس جسم هدف چه باشد.
ماژول دارای رگولاتوری بر روی برد است که به خوبی در هر دو مود 3.3 و 5 ولت قابل راهاندازی است.
مشخصات فنی ماژول فاصلهسنج لیزری VL53L1X
- ولتاژ کاری: 3v/5v
- رنج اندازه گیری فاصله: 40 تا 4000 میلیمتر
- خطای اندازهگیری: ±5%
- فرکانس نمونه برداری: تا 50 هرتز
- دمای مجاز عملیاتی: -20 تا 80 درجه سانتیگراد
- زاویه دید: 27°
- طول موج لیزر: 940nm
- ابعاد: 80*16.35 میلیمتر
برای اطلاعات دقیقتر به دیتاشیت ماژول مراجعه فرمایید. لینک دیتاشیت ماژول و سنسور فاصلهسنج لیزری VL53L1X در زیر آورده شده است.
VL53L1X DISTANCE SENSOR USER MANUAL
VL53L1X Datasheet
معرفی پایههای (Pinout) ماژول فاصله سنج VL53LXX
ماژول VL53L1X دارای شش پایه به شرح زیر است:
- VCC : تغذیه ماژول (3 یا 5 ولت)
- GND : زمین
- SHUT : پین غیر فعال کردن ماژول (Active Low)
- INT : پایه اینتراپت خروجی قابل تنظیم برای ارتباط با میکرو
- SCL: کلاک برای ارتباط I2C
- SDA : خط دیتای ارتباط I2C
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راهاندازی ماژول فاصله سنج لیزری VL53L1X با آردوینو
گام اول: سیم بندی
مدار را مطابق شکل زیر ببندید.
گام دوم: نصب کتابخانه
کتابخانه ماژول فاصله سنج لیزری 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);
}
پنجره سریال مانیتور را باز کنید. اعداد نمایش داده شده باید با تغییر فاصله دست تا سنسور، تغییر کنند. عدد اول بعد از فلش، زمان و عدد بعدی، فاصله به میلیمتر است.
Comments (7)
سلام،.وقت بخیر
میشه مقدار فاصله رو بصورت خروجی آنالوگ بده تا به ورودی آنالوگ PLC وصل کرد؟
با سلام
خیر خروجی این سنسور I2C می باشد.
سلام
قابلیت مشاهده بر روی ال سی دی کاراکتری هست؟
اگه هست میشه کمک کنید
با سلام
امکانش وجود دارد.
از آموزش lcd کارکتری مورد نظر ، نحوه نمایش داده ها را کپی کنید و در پروژه خود بیاوید.
در جایی که متن نمایشی را که در سریال مانیتور پیرنت می شود را به نمایشگر نیز بدهید تا آن نیز نمایش بدهد.
کدی ک نوشته شده اعدادمثل یک تایمر افزایشی فقط شمرده میشوند و توی عکس هم به همین صورته(مقدار توی عکس و مقداری ک من گرفتم فاصله لیدار نیستند فقط مقدار تایمر هستند)
در ضمن رنج اندازه گیری این سنسور تا چهار متر هست یعنی ۵۲۰۰۰ که روی عکس شما هست خارج از رنج اندازه گیری سنسور هست
با سلام
اکر دقت بفرمایید در کد مقدار millis() و مقدار sensor.read در کنار هم چاپ می شود که مقدار اول زمان روشن شدن میکروکنترلر می باشد (ربطی به سنسور ندارد و برای مشخص شدن زمان استفاده می شود)
همچنین تیک show Timestamp نیز زده شده است که ساعت دریافت دیتا توسط سریال مانیتور نمایش داده میشود.
دیتا دریافتی از سنسور در مقدار آخر بعد از , می باشد که می توانید از آن استفاده کنید.
کد قرار داده شده در سایت اشتباه است و فقط یک شمرنده سعودی روی سریال پرینت نمایش میده دوستانی که این مشکلو دارند از خود اگزمپل های کتابخانه مربوطه استفاده کنند که هم در این سایت هم در سایت خود اردوینو موجود است.