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