欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 常用電子制作 >> 正文

激光測距模塊 VL53L0X 激光測距傳感器

作者:佚名    文章來源:網絡    點擊數:    更新時間:2023/3/7

這次我們聊一聊激光測距模塊

我們用的是正點原子的STM32F103ZET6精英版。

 

一。VL53L0X 簡介

1.定義

VL53L0X 是 ToF 激光測距傳感器,利用飛行時間(ToF)原理,通過光子的飛行來回時間與光速的計算,實現測距應用。

二。測量模式

1.VL53L0X 傳感器提供了 3 種測量模式,單次測量,連續測量,定時測量。

2.三種測量模式

(1) Single ranging(單次測量) ,在該模式下只觸發執行一次測距測量,測量結束后,

VL53L0X 傳感器會返回待機狀態,等待下一次觸發。

2Continuous ranging(連續測量) ,在該模式下會以連續的方式執行測距測量。一

旦測量結束,下一次測量就會立即啟動,用戶必須停止測距才能返回到待機狀態,最后的一

次測量在停止前完成。

3Timed ranging(定時測量) ,在該模式下會以連續的方式執行測距測量。測量結

束后,在用戶定義的延遲時間之后,才會啟動下一次測量。用戶必須停止測距才能返回到待

機狀態,最后的一次測量在停機前完成。

三。ST 官方提供了 4 種不同的精度模式

 

注意:

針對不同的精度模式,測量時間也是有所區別的,

測量時間最快為高速模式,只需 20ms 內就可以采樣一次,但精度確存在有±5%的誤差范圍

而在長距離精度模式下,測距距離能達到 2m,測量時間在 33ms 內,

但測量時需在黑暗條件(無紅外線)的環境下。

所以在實際的應用中,需根據當前的要求去選擇合適的精度模式,以達到最佳的測量效果。

四。工作流程

 

當上電,VL53L0X會進入Hw Standby狀態,這是待機狀態,功耗很低。然后拉高XSHUT引腳,讓VL53L0X進入Fw Boot狀態,開始準備測距。如果不需要待機狀態,可以把XSHUT接到AVDD上。VL53L0X處于休眠狀態是不能進行通信IIC

注意: VL53L0X3種工作模式:

(1)單次模式:收到測距開始命令后,開始進行測量,測量完成后自動退出,進入Sw Standby狀態。

(2)連續模式:收到測距開始命令后,就一直進行測量,直到收到測距停止命令。收到測距停止命令時,會把最后一次測量完成才退出。

(3)連續間隔模式:收到測距開始命令后,開始進行測量,完成一次測量后,等待一段時間再進行

下次測量,直到收到測距停止命令。測量等待間隔時間可調。

五。原理圖

 

六。引腳

1.基礎

模塊自帶了 2.8V 超低壓差穩壓芯片,給 VL53L0X 芯片供電,因此外部供電可以選擇: 3.3V/5V 都可以的。

模塊通過 P1 排針與外部連接,引出了 VCC、 GND、IIC_SDA、 IIC_SCL、 VL_INT、 VL_XSH 信號。

其中, IIC_SCL、 IIC_SDA、 VL_INT 和 VL_XSH帶了 4.7K 上拉電阻,外部可以不用再加上拉電阻了。

2.ATK-VL53L0X 激光測距傳感器模塊通過一個 1*6 的排針(P1)同外部電路連接,各引腳的詳細描述如表 2.1.1 所示:

 

七。core文件

1.core 文件夾下有四個重點.c 文件,

分別是: vl53l0x_api.c、 vl53l0x_api_calibration.c、vl53l0x_api_core.c 和 vl53l0x_api_strings.c

2.這四個 C 文件的關系可以用以下關系圖來表示

 

注釋:

  1. vl53l0x_api_core.c 文件,

提供有 vl53l0x 傳感器的底層操作核心函數

2.vl53l0x_api_calibration.c 文件,

提供有 vl53l0x 傳感器校準操作的底層函數。

3 vl53l0x_api_strings.c 文件,

實現信息內容的獲取,提供有獲取 vl53l0x 傳感器設備 ID信息的底層函數,以及提供根據功能函數返回的狀態值去獲得其狀態信息(字符串)的底層函數

4.vl53l0x_api.c 文件,

則對以上的底層函數進行封裝,提供包括系統初始化、測量模式配置、參數配置、校準功能、狀態信息獲取、以及中斷配置等 API 函數。在一般的使用時,直接調取 vl53l0x_api.c 提供的 API 函數就可以了。

下面是激光測距的API函數部分:

一。常用的API函數有這些

 

二。各個API函數的備注

1VL53L0X_Datalnit()函數

1該函數實現傳感器初始化

(2)函數為 VL53L0X_DataInit(VL53L0X_DEV Dev),

(3)入口參數類型為 VL53L0X_DEV 結構體,結構體變量為設置傳感器的 I2C 地址等重要信息。

注意:在失能傳感器設備,到再重新使能設備,需調用該函數進行初始化

2VL53L0X_Staticlnit()函數

1)該函數實現傳感器寄存器值恢復默認初值和工作狀態切換為待機狀態

(2)函數為VL53L0X_StaticInit(VL53L0X_DEV Dev)

(3)入口參數為 VL53L0X_DEV 結構體變量,VL53L0X_DEV結構體變量為設置傳感器的 I2C 地址等重要信息

4該函數在初始化時進行調用

3VL53L0X_SetDeviceAddress()函數

(1)該函數實現修改傳感器設備的 I2C 地址

(2)函數為 VL53L0X_SetDeviceAddress(VL53L0X_DEVDev,uint8_t DeviceAddress)

(3)入口參數為 VL53L0X_DEV 結構體變量和 DeviceAddress 變量

(4)VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

(5)DeviceAddress 變量為新設置的 I2C 地址

注意:重新使能設備后,I2C 地址為會恢復為默認的 0x52 地址

6若修改設備 I2C 地址,需在使能設備后進行調用

7設置的 I2C 地址必須為偶數,否則會出現通訊出錯

4VL53L0X_SetDeviceMode()函數

1該函數實現傳感器測量的工作模式配置

(2)函數為 VL53L0X_SetDeviceMode(VL53L0X_DEVDev,VL53L0X_DeviceModes DeviceMode)

(3)入口參數為 VL53L0X_DEV 結構體類型變量和VL53L0X_DeviceModes 類型變量

(4)VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

5VL53L0X_DeviceModes 類型變量為設置的工作模式

其中包含 SINGLE_RANGING 單次測量、 CONTINUOUS_RANGING 連續測量和 TIMED_RANGING定時器測量

6該函數在測量前初始化進行調用

5VL53L0X_PerformSingleMeasurement()函數

1該函現實現啟動傳感器一次測量

(2)函數為VL53L0X_PerformSingleRangingMeasurement(VL53L0X_DEVDev,VL53L0X_RangingMeasurementData_t*pRangingMeasurementData)

(3)入口參數為 VL53L0X_DEV 結構體類型變量和 VL53L0X_RangingMeasurementData_t 結構體類型變量

(4)VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

VL53L0X_RangingMeasurementData_t 結構體變量為返回測量距離的數據和測量范圍狀態等數據

5該函數一般在傳感器工作在單次測量模式下進行調用

6VL53L0X_StartMeasurement()VL53L0X_StopMeasurement()函數

(1)該函數分別實現了傳感器啟動測量和暫停測量

實現啟動測量的是VL53L0X_StartMeasurement()函數,

實現暫停測量的是VL53L0X_StopMeasurement()函數。

(2)函數為 VL53L0X_StartMeasurement(VL53L0X_DEV Dev) 和 VL53L0X_StopMeasurement(VL53L0X_DEV Dev)

(3)入口參數都為VL53L0X_DEV 結構體類型變量

(4)VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

5這兩個函數一般在測量時進行使用

7VL53L0X_GetRangingMeasurementData()函數

1該函數實現獲取傳感器采樣的測量數據

(2)函數為 VL53L0X_PerformSingleRangingMeasurement(VL53L0X_DEV Dev,VL53L0X_Ranging MeasurementData_t *pRangingMeasurementData)

(3)入口參數為VL53L0X_DEV結構體類型變量和VL53L0X_RangingMeasurementData_t結構體類型變量

(4)VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

(5)VL53L0X_RangingMeasurementData_t 結構體變量為返回測量距離的數據和測量范圍狀態等數據

6該函數一般在傳感器工作在連續測量模式下進行使用

8VL53L0X_SetGpioConfig()函數

1該函數實現測量中斷模式的配置功能

(2)函數為 VL53L0X_SetGpioConfig(VL53L0X_DEV Dev,uint8_t Pin,VL53L0X_DeviceModes DeviceMode, VL53L0X_GpioFunctionality Functionality,VL53L0X_InterruptPolarity Polarity)

3入口參數為 VL53L0X_DEV 結構體類型變量、 Pin 變量、VL53L0X_DeviceModes 類型變量VL53L0X_GpioFunctionality 類型變量 和VL53L0X_InterruptPolarity 類型變量。

其中五個變量的作用:

VL53L0X_DEV 結構體變量作用 設置傳感器 I2C 地址等重要信息

VL53L0X_DeviceModes 類型變量的作用 設置的測量工作模式(單次測量、連續測量、定時測量)

Pin 變量的作用 設置 GPIO 引腳口(使用時默認配置為 0)

VL53L0X_DeviceModes類型變量的作用 設置測量觸發中斷模式的

VL53L0X_InterruptPolarity 類型變量的作用 設置引腳的觸發模式(包含上升沿和下降沿)

注意:

VL53L0X_DeviceModes類型變量包含以下三種模式

CROSSED_LOW(采樣距離<下限值)

CROSSED_HIGH(采樣距離>上限值)

CROSSED_OUT(采樣距離<下限值或采樣距離>上限值)

(5)函數一般在傳感器工作在連續測量模式初始化配置時進行使用。

9、VL53L0X_SetlnterruptThresholds()函數

(1)該函數實現測量中斷模式上下限距離值的設置

(2)函數為 VL53L0X_SetInterruptThresholds (VL53L0X_DEV Dev,VL53L0X_DeviceModes DeviceMode, FixPoint1616_t ThresholdLow,FixPoint1616_t ThresholdHigh)

(3)入口參數 VL53L0X_DEV 結構體類型變量、VL53L0X_DeviceModes 類 型變量、ThresholdLow 和 ThresholdHigh 變量,VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息,

(4) VL53L0X_DeviceModes 類型變量為設置的測量工作模式(單次測量、連續測量、定時測量等)

(5) ThresholdLow為中斷觸發的下限距離值

ThresholdHigh為設置中斷觸發的上限距離值

(6)該函數一般在傳感器工作在連續測量模式初始化配置時進行使用

10、VL53L0X_ClearInterruptMask()函數

(1)該函數實現清除測量中斷模式的中斷標志位

(2)函數為 VL53L0X_ClearInterruptMask(VL53L0X_DEV Dev,uint32_t InterruptMask)

(3)入口參數為 VL53L0X_DEV 結構體類型變量, InterruptMask 變量

(4) VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

(5) InterruptMask 變量為設置中斷清除,默認設置為 0

(6)該函數在傳感器觸發中斷后時進行使用

11、VL53L0X_SetMeasurementTimingBudgetMicroSeconds()函數

(1)該函數實現配置測量工作模式的周期采樣時間的功能

(2)函數為 VL53L0X_SetMeasure mentTimingBudgetMicroSeconds(VL53L0X_DEV Dev, uint32_t MeasurementTimingBudget MicroSeconds)

(3)入口參數為 VL53L0X_DEV 結構體類型變量、MeasurementTimingBudget MicroSeconds 變量

(4) VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

(5) MeasurementTimingBudgetMicroSeconds 變量為設置測量工作模式的周期采樣時間,單位為 ms

(6)該函數在工作模式初始化配置時進行使用

12、VL53L0X_PerformOffsetCalibration()函數

(1)該函數實現距離偏移的校準的功能

(2)函數為 VL53L0X_PerformOffsetCalibration VL53L0X_ DEV Dev,FixPoint1616_t CalDistanceMilliMeter, int32_t *pOffsetMicroMeter)

(3)入口參數為 VL53L0X_DEV 結構體類型變量、CalDistanceMilliMeter 變量和 pOffsetMicroMeter 指針變量, VL53L0X_DEV 結構體變量為設置傳感器 I2C 地址等重要信息

(4) CalDistanceMilliMeter變量為設置校準時與傳感器設備的相對距離值,單位為 mm

(5) pOffsetMicroMeter指針變量為相對距離校準后傳感器返回的修正距離變量的指針

(6)該函數在校準時進行使用

13、VL53L0X_SetOffsetCalibrationDataMicroMeter()函數

(1)該函數實現設置距離補償值的功能

(2)函數為 VL53L0X_SetOffsetCalibrationDataMicro Meter(VL53L0X_DEV Dev, int32_t OffsetCalibrationDataMicroMeter)

(3)入口參數為 VL53L0X_DEV 結構體類型變量和 OffsetCalibrationDataMicroMeter 變量,VL53L0X_DEV 結構體變量為設置傳 感器 I2C 地址等重要信息

(4)OffsetCalibrationDataMicroMeter 變量為設置的距離補償值

(5)該函數在補償時進行使用

Tags:電子制作,測距,傳感器,激光測距  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    最新推薦
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人
    国产一区啦啦啦在线观看| 一区二区三区久久久| 国产一区二区三区黄视频| 久久久久久久久蜜桃| 国产美女av一区二区三区| 亚洲国产成人一区二区三区| 正在播放亚洲一区| 26uuu色噜噜精品一区| 一级日本不卡的影视| 欧美日韩aaa| 天天色图综合网| 精品美女在线播放| 成人高清免费在线播放| 一区二区在线观看不卡| 4438成人网| 国产一区二区三区久久久 | 免费成人在线观看| 国产剧情在线观看一区二区| 欧美一级日韩不卡播放免费| 国产一区二区三区电影在线观看| 国产精品久久久久影院老司| 欧美色网一区二区| 老司机精品视频一区二区三区| 欧美—级在线免费片| 在线免费观看不卡av| 捆绑调教美女网站视频一区| 欧美国产成人在线| 欧美人与禽zozo性伦| 国产在线国偷精品产拍免费yy| 中文字幕日韩一区| 欧美一区二区三区人| 粉嫩蜜臀av国产精品网站| 亚洲国产欧美在线| 欧美在线一二三| 久久精品国产一区二区三| 国产精品乱码久久久久久| 欧美日韩国产精品成人| 精品久久久久久久久久久久久久久| 亚洲综合一二区| 精品国产制服丝袜高跟| 91小视频免费观看| 极品少妇xxxx精品少妇| 亚洲免费在线视频| 久久嫩草精品久久久精品| 在线观看不卡视频| 中文字幕精品一区| 成人久久久精品乱码一区二区三区| 亚洲制服丝袜av| 国产亚洲欧美日韩俺去了| 欧美日韩精品免费观看视频| 粉嫩av一区二区三区| 日本亚洲天堂网| 亚洲免费av网站| 久久女同互慰一区二区三区| 欧美日韩视频专区在线播放| 国产91精品精华液一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 国产精品久久久久四虎| 日韩亚洲欧美一区| 在线亚洲高清视频| 懂色中文一区二区在线播放| 国产精品欧美一区喷水| 日韩一区二区三区高清免费看看| 色综合中文字幕| 经典一区二区三区| 一区二区三区精品在线| 国产色婷婷亚洲99精品小说| 欧美一二三区在线| 欧美性大战久久| 成人一区二区三区| 国产自产高清不卡| 奇米影视在线99精品| 成人一区二区三区视频| 亚洲免费av高清| 精品一区二区三区在线播放| 午夜国产精品一区| 夜夜嗨av一区二区三区网页| 中文字幕欧美区| 久久久亚洲高清| 日韩免费看的电影| 337p亚洲精品色噜噜狠狠| 在线一区二区三区| 99国产精品久久久久久久久久久 | 精品裸体舞一区二区三区| 欧美日韩中字一区| 色噜噜夜夜夜综合网| 99精品欧美一区| 不卡欧美aaaaa| 亚洲一区二区三区在线| 亚洲色图另类专区| 国产精品成人网| 精品免费国产一区二区三区四区| 337p亚洲精品色噜噜| 制服丝袜av成人在线看| 欧美日本精品一区二区三区| 欧美午夜精品一区二区蜜桃 | 亚洲精品一区二区三区四区高清| 欧美日韩精品综合在线| 在线观看中文字幕不卡| 99精品视频一区二区三区| www.66久久| 精品国产乱子伦一区| 欧美一级淫片007| 91精品国产福利| 日韩视频一区二区三区在线播放| 欧美男人的天堂一二区| 亚洲男人天堂一区| 精品国产免费人成电影在线观看四季| 在线不卡的av| 欧美一级淫片007| 精品国产91久久久久久久妲己| 欧美成人video| 久久奇米777| 国产精品私人自拍| 成人免费在线观看入口| 亚洲另类在线制服丝袜| 一区二区视频在线| 图片区小说区国产精品视频| 亚洲va欧美va人人爽午夜| 欧美激情一区在线观看| 中文字幕在线不卡视频| 亚洲欧美另类图片小说| 亚洲午夜免费电影| 日日嗨av一区二区三区四区| 美女网站在线免费欧美精品| 国产乱码精品1区2区3区| 成人毛片视频在线观看| 色综合天天性综合| 91香蕉国产在线观看软件| 91免费视频网址| 欧美日韩一区二区三区视频| 欧美一区二区人人喊爽| 久久久精品影视| 亚洲欧美日韩在线播放| 欧美精品一二三区| 91国在线观看| 91麻豆精品国产91久久久久 | 免费欧美高清视频| 国产精品一区专区| 91尤物视频在线观看| 在线一区二区三区四区| 日韩视频免费观看高清在线视频| 日本一区二区三区视频视频| 亚洲免费伊人电影| 日本成人超碰在线观看| 国产盗摄一区二区三区| 欧美老女人在线| 久久免费看少妇高潮| 国产精品不卡在线| 日韩精品乱码免费| 国产电影一区在线| 国产麻豆精品在线观看| 99国产精品久久| 91精品国产91久久久久久一区二区 | 久久99精品国产麻豆婷婷| 成人avav影音| 在线播放一区二区三区| 欧美精品一区二区不卡| 亚洲欧美另类久久久精品2019| 美女免费视频一区二区| 成人h动漫精品| 午夜精彩视频在线观看不卡| 日韩国产欧美在线观看| 成人丝袜视频网| 9191国产精品| 国产精品久久久久久久久久免费看| 婷婷综合久久一区二区三区| 粗大黑人巨茎大战欧美成人| 欧美日本国产一区| 国产精品久久久久久久久搜平片 | 欧美tk—视频vk| 亚洲三级在线免费观看| 精品亚洲porn| 欧美三级乱人伦电影| 国产片一区二区三区| 日韩精品一二三区| 色综合久久99| 欧美伊人精品成人久久综合97| 久久久久久免费网| 午夜久久久影院| 久久色中文字幕| 国产精品区一区二区三区| 日本欧美一区二区| 99视频精品免费视频| 欧美v日韩v国产v| 亚洲小说欧美激情另类| 成人av网站在线观看| 日韩一区二区麻豆国产| 亚洲自拍偷拍综合| 国产999精品久久| 日韩视频免费直播| 图片区小说区区亚洲影院| 91色在线porny| 六月丁香婷婷色狠狠久久| 色999日韩国产欧美一区二区| 久久蜜桃一区二区| 免费看欧美女人艹b| 欧美视频第二页| 亚洲精品福利视频网站| 成人黄色软件下载|