استفاده از حساس(حس کننده) فاصله لیزری VL53L1X برای اندازه‌گیری فاصله‌ها تا ۴ متر

استفاده از حساس(حس کننده) فاصله لیزری VL53L1X برای اندازه‌گیری فاصله‌ها تا ۴ متر

حساس(حس کننده) فاصله‌سنج لیزری VL53L1X یک حساس(حس کننده) زمان پرواز است که قادر به اندازه‌گیری فواصل تا ۴ متر با دقت بالا می‌باشد. این حساس(حس کننده) از طریق I2C ارتباط برقرار می‌کند و برای کاربردهای مختلف، مانند رباتیک و اتوماسیون، بسیار کاربردی است. در این آموزش، نحوه راه‌اندازی حساس(حس کننده) VL53L1X با آردوینو و خواندن مؤثر مقادیر فاصله را بررسی خواهیم کرد.

ماجیول VL53L1X

حساس(حس کننده) با ولتاژ ۳.۳ ولت یا ۵ ولت تغذیه می‌شود و دارای چندین پایه برای ارتباط I2C است، از جمله SDA و SCL. حساس(حس کننده) قادر است فاصله‌ها را با فرکانس ۵۰ هرتز اندازه‌گیری کند که این امکان را برای خواندن سریع فاصله‌ها فراهم می‌کند. این آموزش شما را در فرآیند سیم‌کشی و شِفر (کود) لازم برای عملکرد روان حساس(حس کننده) راهنمایی می‌کند. برای توضیحات بیشتر، می‌توانید ویدیو را مشاهده کنید (در ویدیو در ۰۰:۰۰).

تجهیزات توضیح داده شده

مولفه اصلی این پروژه حساس(حس کننده) لیزری فاصله VL53L1X است که از فناوری‌ای به نام زمان پرواز (ToF) برای اندازه‌گیری فاصله‌ها استفاده می‌کند. این بدان معناست که این حساس(حس کننده) فاصله تا یک شیء را با زمان‌سنجی اینکه برای بازگشت پالس لیزر پس از برخورد با یک شیء چقدر طول می‌کشد، محاسبه می‌کند. این حساس(حس کننده) دارای ارتباط I2C است که امکان ادغام آسان با میکروکنترلرهایی مانند آردوینو را فراهم می‌کند. به علاوه حساس(حس کننده)، شما به یک بورد آردوینو برای پردازش نیاز خواهید داشت. آردوینو ارتباط با VL53L1X را مدیریت کرده و فاصله‌های اندازه‌گیری شده را نمایش می‌دهد. راه‌اندازی این سیستم ساده است، زیرا حساس(حس کننده) می‌تواند مستقیماً از پایه‌های خروجی آردوینو تغذیه شود.

جزئیات برگه مشخصات

تولیدکننده اس تی میکروالکترونیکส์
شماره قطعه VL53L1X
ولتاژ منطقی/ورودی و خروجی ۳.۳ - ۵ ولت
ولتاژ تأمین ۲.۶ - ۵.۵ ولت
جریان خروجی (به ازای هر کانال) غیرقابل اعمال
جریان اوج (به ازای هر کانال) غیر قابل کاربرد
راهنمایی فرکانس PWM نامشخص
آستانه‌های منطق ورودی 0.3 × VCC (پایین)، 0.7 × VCC (بالا)
افت ولتاژ / RDS(on)/ اشباع غیر قابل کاربرد
محدودیت‌های حرارتی ۰ تا ۸۵ درجه سانتی‌گراد
بسته ۴.۹ × ۲.۵ × ۱.۶ میلی‌متر
یادداشت‌ها / انواع حساس(حس کننده) زمان پرواز از راه دور

  • حساس(حس کننده) را با ۳.۳ ولت یا ۵ ولت طبق نیاز تغذیه کنید.
  • از پایه‌های I2C، SDA و SCL برای ارتباط استفاده کنید.
  • مدل فاصله را بر اساس نیازهای خود تنظیم کنید (کوتاه، متوسط، بلند).
  • اطمینان حاصل کنید که حساس(حس کننده) برای اندازه‌گیری دقیق فاصله کالیبره شده است.
  • شرایط نور محیطی را با احتیاط بررسی کنید زیرا می‌تواند بر اندازه‌گیری‌ها تأثیر بگذارد.

دستورالعمل‌های سیم‌کشی

VL53L1X_wiring

برای متصل کردن حساس(حس کننده) VL53L1X به یک Arduino، پایه VCC حساس(حس کننده) را با استفاده از یک سیم قرمز به پایه 5V روی Arduino متصل کنید. پایه زمین (GND) حساس(حس کننده) را با استفاده از یک سیم قهوه‌ای به GND Arduino متصل کنید. برای ارتباط I2C، پایه SDA حساس(حس کننده) را با استفاده از یک سیم زرد به پایه A4 Arduino و پایه SCL را با استفاده از یک سیم سبز به پایه A5 متصل کنید. اگر می‌خواهید از پایه‌های اختیاری وقفه و خاموشی استفاده کنید، پایه خاموشی را به پایه دیجیتال 2 و پایه وقفه را به پایه دیجیتال 3 متصل کنید، اما اینها برای عملیات پایه ضروری نیستند.

نمونه‌های شِفر (کود) و راهنمایی

در شِفر (کود)، ابتدا کتابخانه‌های لازم را وارد کرده و پایه‌های حساس(حس کننده) را تعریف می‌کنیم. با خط زیر یک نمونه از حساس(حس کننده) ایجاد می‌کنیم:

SFEVL53L1X distanceSensor;

این خط حساس(حس کننده) را راه‌اندازی می‌کند و به ما اجازه می‌دهد که بعداً در برنامه از متدهای آن استفاده کنیم. سپس ارتباط I2C را تنظیم کرده و حساس(حس کننده) را راه‌اندازی می‌کنیم:

void setup(void)
{
  Wire.begin();
  Serial.begin(9600);
  Serial.println("VL53L1X Qwiic Test");

  if (distanceSensor.begin() == 0) //Begin returns 0 on a good init
  {
    Serial.println("Sensor online!");
  }
}

در این بخش، ارتباط I2C را با شروع می‌کنیمWire.begin()و بررسی کنید که آیا حساس(حس کننده) با موفقیت راه‌اندازی شده است. در نهایت، برای خواندن فاصله، از شِفر (کود) زیر در حلقه استفاده می‌کنیم:

void loop(void)
{
  int distance = distanceSensor.getDistance(); // Get distance
  Serial.print("Distance: ");
  Serial.println(distance);
}

این شِفر (کود) اندازه‌گیری فاصله را بازیابی کرده و آن را به نمایشگر مسلسل چاپ می‌کند. حلقه به طور مداوم فاصله را می‌خواند و به‌روزرسانی‌های آنی را امکان‌پذیر می‌سازد. برای یک مثال کامل از شِفر (کود)، لطفاً به شِفر (کود) کامل بارگذاری شده در زیر مقاله مراجعه کنید.

معرفی / چه انتظاری داشته باشیم

وقتی حساس(حس کننده) به درستی تنظیم شده باشد، می‌توانید انتظار داشته باشید که اندازه‌گیری‌های فاصله تا ۴ متر را با دقت ارائه دهد. ممکن است نوسانات جزئی در قرائت‌ها مشاهده کنید، به ویژه در شرایط نوری متغیر (در ویدئو در ۱۰:۳۰). مهم است که اطمینان حاصل کنید که حساس(حس کننده) تمیز و بدون مانع است تا نتایج دقیقی بدست آورید. اگر با قرائت‌های غیرعادی برخورد کردید، بررسی کنید که آیا حساس(حس کننده) به درستی روشن است و اتصالات I2C امن هستند. عملکرد حساس(حس کننده) ممکن است تحت تأثیر محیط قرار گیرد، به‌ویژه در نور شدید یا سطوح بازتابنده.

زمان‌بندی ویدئوها

  • ۰۰:۰۰ شروع
  • 00:40 مقدمه
  • 03:42 برگه مشخصات مشاهده شد
  • :48 سربازان که پایه‌های هدر را می‌زنند
  • 08:22 توضیحاتی درباره سیم‌کشی
  • شِفر (کود) توضیح داده شد: ۰۹:۰۶
  • ۱۱:۵۳ نمایش
  • ۱۶:۰۳ نمایش در تاریکی کامل

تصاویر

VL53L1X Distance Sensor
VL53L1X Distance Sensor
VL53L1X_module
VL53L1X_module
VL53L1X_wiring
VL53L1X_wiring
259-code example using the VL53L1X Laser Range Sensor
زبان: C++
کپی شد!

منابع و مراجع

فایل‌ها📁

هیچ فایلی موجود نیست.