VL53L0X是 ST 公司推出的新一代 ToF 激光測(cè)距傳感器,采用了第二代 FlightSenseTM技術(shù),利用飛行時(shí)間(ToF)原理,通過(guò)光子的飛行來(lái)回時(shí)間與光速的計(jì)算,實(shí)現(xiàn)測(cè)距應(yīng)用。較比上一代 VL6180X,新的器件將飛行時(shí)間測(cè)距長(zhǎng)度擴(kuò)展至 2 米,測(cè)量速度更快,能效更高。除此之外,為使集成度過(guò)程更加快捷方便, ST 公司為此也提供了 VL53L0X 軟件 API(應(yīng)用編程接口)以及完整的技術(shù)文檔,通過(guò)主 IIC 接口,向應(yīng)用端輸出測(cè)距的數(shù)據(jù),大大降低了開(kāi)發(fā)難度。
1、模塊來(lái)源
模塊實(shí)物展示:
資料下載鏈接:
https://pan.baidu.com/s/15Ld90aG1VC0y_xp120UbZg
提取碼:qydr
2、規(guī)格參數(shù)
工作電壓:2.6 ~ 3.5 V
溫度范圍:2m
I2C地址:0X52
管腳數(shù)量:6 Pin(2.54mm間距排針)
3、移植過(guò)程
我們的目標(biāo)是在立創(chuàng)·CW32F030C8T6開(kāi)發(fā)板上能夠?qū)崿F(xiàn)測(cè)量距離的功能。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
3.1查看資料
VL53L0X飛行時(shí)間測(cè)距傳感器是新一代激光測(cè)距模塊,VL53LOX是完全集成的傳感器,配有嵌入式紅外、人眼安全激光,先進(jìn)的濾波器和超高速光子探測(cè)陣列,測(cè)量距離更長(zhǎng),速度和精度更高。
VL53L0X的感測(cè)能力可以支持各種功能,包括各種創(chuàng)新用戶(hù)界面的手勢(shì)感測(cè)或接近檢測(cè),掃地機(jī)器人、服務(wù)性機(jī)器人的障礙物探測(cè)與防撞系統(tǒng),家電感應(yīng)面板、筆記本電腦的用戶(hù)存在檢測(cè)或電源開(kāi)關(guān)監(jiān)控器,以及無(wú)人機(jī)和物聯(lián)網(wǎng)(IoT)產(chǎn)品等。
3.2引腳選擇
該模塊有3個(gè)引腳,具體引腳連接見(jiàn)各引腳連接。
引腳 | 說(shuō)明 |
---|---|
GPIO1 | 中斷輸出引腳 |
XSHUT | 關(guān)機(jī)引腳,低電平關(guān)機(jī) |
SCL | I2C的時(shí)鐘線(xiàn) |
SDA | I2C的數(shù)據(jù)線(xiàn) |
案例接線(xiàn)示意圖
3.3移植至工程
模塊工程參考入門(mén)手冊(cè)工程模板
在bsp文件夾下導(dǎo)入VL53L0X文件夾
下載鏈接
鏈接:https://pan.baidu.com/s/1Gv5mKGa5LXk2IKJ8qkwTYA?pwd=LCKF 提取碼:LCKF
然后我們將C文件和h文件路徑添加到工程中。
動(dòng)圖過(guò)大無(wú)法導(dǎo)入,請(qǐng)移步網(wǎng)頁(yè)查看
https://wiki.lckfb.com/zh-hans/dwx-cw32f030c8t6/module/sensor/vl53l0x-laser-ranging-sensor.html
4、移植驗(yàn)證
在自己工程中的main主函數(shù)中,編寫(xiě)如下。
/* * Change Logs: * Date Author Notes * 2024-06-20 LCKFB-LP first version */ #include "board.h" #include "stdio.h" #include "bsp_uart.h" #include "bsp_VL53L0X.h" extern VL53L0X_Dev_t vl53l0x_dev;//設(shè)備I2C數(shù)據(jù)參數(shù) int32_t main(void) { board_init(); // 開(kāi)發(fā)板初始化 uart1_init(115200); // 串口1波特率115200 uint8_t mode = 0;//0:默認(rèn);1:高精度;2:長(zhǎng)距離;3:高速 VL53L0X_Error Status=VL53L0X_ERROR_NONE;//工作狀態(tài) printf("Startrn"); while(vl53l0x_init(&vl53l0x_dev))//vl53l0x初始化 { printf("VL53L0X Error!!!nr"); delay_ms(500); } printf("VL53L0X OKrn"); while(vl53l0x_set_mode(&vl53l0x_dev,mode))//配置測(cè)量模式 { printf("Mode Set Errorrn"); delay_ms(500); } while(1) { if(Status==VL53L0X_ERROR_NONE) { //執(zhí)行單次測(cè)距并獲取測(cè)距測(cè)量數(shù)據(jù) Status = VL53L0X_PerformSingleRangingMeasurement(&vl53l0x_dev, &vl53l0x_data); printf("d: %4immrn",vl53l0x_data.RangeMilliMeter);//打印測(cè)量距離 } else { printf("errorrn"); } delay_ms(500); } }
移植現(xiàn)象:在距離20cm處擺放障礙物,輸出前方障礙物的距離。
測(cè)量時(shí)不要將模塊靠近地面會(huì)影響模塊,障礙物不光滑會(huì)造成一定的誤差。
模塊移植成功案例代碼:
鏈接:https://pan.baidu.com/s/1RC72B43RkyvGPMopcjm4gQ?pwd=LCKF
提取碼:LCKF
審核編輯 黃宇
-
傳感器
+關(guān)注
關(guān)注
2562文章
52543瀏覽量
763606 -
激光測(cè)距傳感器
+關(guān)注
關(guān)注
0文章
59瀏覽量
11974 -
CW32
+關(guān)注
關(guān)注
1文章
242瀏覽量
1092
發(fā)布評(píng)論請(qǐng)先 登錄
基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL53l0x(2)----修改設(shè)備地址

基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL53l0x(3)----驅(qū)動(dòng)多個(gè)VL53L0X

新一代ToF 激光測(cè)距模塊VL53L0X
VL53L0X可以永久更改I2C地址嗎?
Vl53L0X測(cè)距傳感器如何通過(guò)GPIO中斷
RT-Thread VL53L0X TOF傳感器驅(qū)動(dòng)設(shè)計(jì)資料實(shí)現(xiàn)
VL53L0X飛行時(shí)間測(cè)距傳感器開(kāi)發(fā)板套件

ATK-VL53L0X激光測(cè)距傳感器模塊使用說(shuō)明免費(fèi)下載

VL53L0X TOF激光測(cè)距傳感器的數(shù)據(jù)手冊(cè)免費(fèi)下載

微雪電子測(cè)距傳感器VL53L0X測(cè)距模塊簡(jiǎn)介

dfrobotVL53L0X ToF激光測(cè)距傳感器簡(jiǎn)介

Adafruit VL53L0X飛行時(shí)間距離傳感器的使用

使用STM32F103應(yīng)用VL53L0X激光測(cè)距模塊的測(cè)試參考程序免費(fèi)下載

VL53L0X激光測(cè)距傳感器的數(shù)據(jù)手冊(cè)免費(fèi)下載

使用VL53L0X激光傳感器的Arduino高度測(cè)量

評(píng)論