VL53L0X เป็นเซ็นเซอร์วัดระยะทางด้วยแสง (Time-of-Flight) ที่มีความแม่นยำสูง หลักการทำงานของเซ็นเซอร์นี้คือการส่งลำแสงเลเซอร์ในช่วงแสงอินฟราเรดไปยังวัตถุที่ต้องการวัดระยะ แล้วตรวจจับเวลาที่ลำแสงสะท้อนกลับมายังตัวรับของเซ็นเซอร์ จากนั้นจึงคำนวณระยะทางโดยอิงจากเวลาที่ใช้ในการเดินทางของแสง (Time-of-Flight)
1.ดาวน์โหลด และติดตั้ง Library VL53L0X
ติดตั้ง Library VL53L0X
ArduinoIDE > Sketch > Include Library > Add .ZIP Library > หาไฟล์ที่ดาวน์โหลด
2.ต่ออุปกรณ์

LCD 1602 > Arduino UNO
VIN>3.3VGND>GNDSCL>A5SDA>A4
3.ลงโปรแกรม
Copy โค้ดด้านล่าง
Arduino
1#include <Wire.h>
2#include <VL53L0X.h>
3int val = 0;
4VL53L0X sensor;
5
6void setup()
7{
8 Serial.begin(9600);
9 Wire.begin();
10 sensor.setTimeout(500);
11 if (!sensor.init())
12 {
13 Serial.println("Failed to detect and initialize sensor!");
14 while (1) {}
15 }
16 sensor.startContinuous();
17}
18void loop()
19{
20 val = sensor.readRangeContinuousMillimeters();
21 Serial.print(val);
22 if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
23 Serial.println();
24 delay(300);
25}1#include <Wire.h>
2#include <VL53L0X.h>
3int val = 0;
4VL53L0X sensor;
5
6void setup()
7{
8 Serial.begin(9600);
9 Wire.begin();
10 sensor.setTimeout(500);
11 if (!sensor.init())
12 {
13 Serial.println("Failed to detect and initialize sensor!");
14 while (1) {}
15 }
16 sensor.startContinuous();
17}
18void loop()
19{
20 val = sensor.readRangeContinuousMillimeters();
21 Serial.print(val);
22 if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
23 Serial.println();
24 delay(300);
25}
4.ผลลัพธ์
โค้ดนี้ใช้เซ็นเซอร์ VL53L0X เพื่อวัดระยะทางและแสดงผลลัพธ์ใน Serial Monitor ของ Arduino ผลลัพธ์ที่ได้จะแสดงระยะทางที่วัดได้ในหน่วยมิลลิเมตร โดยมีการอ่านค่าทุก 300 มิลลิวินาที

