基于STM32CUBEMX驅(qū)動TOF模塊VL6180與VL6180X(2)----修改測量范圍
概述
當使用VL6180傳感器進行測距時,可以通過修改縮放因子來改變可測量的距離范圍。VL6180是一種基于飛行時間原理的傳感器,通過測量光信號的往返時間來確定物體與傳感器之間的距離。?
最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:615061293 。?

默認情況下,VL6180傳感器的測距范圍約為0至200毫米。然而,通過調(diào)整縮放因子,您可以擴展或縮小該范圍,以適應不同的應用需求。?
縮放因子是一個乘法因子,用于調(diào)整傳感器的測量范圍。較小的縮放因子可以擴展測距范圍,使傳感器能夠測量更遠的距離,而較大的縮放因子可以縮小測距范圍,使傳感器適用于更近的測量。?
要修改縮放因子,需要使用VL6180傳感器的控制接口與其進行通信。通過發(fā)送適當?shù)拿詈蛥?shù),您可以設置所需的縮放因子值。具體的命令和參數(shù)取決于您使用的特定控制接口和驅(qū)動程序。?
下面溫度可以得知,主要有3種縮放,測量距離分別到20cm、40cm、60cm。

視頻教程
https://www.bilibili.com/video/BV1Mj411S7p3/

樣品申請
https://www.wjx.top/vm/OhcKxJk.aspx#
完整代碼下載
https://download.csdn.net/download/qq_24312945/87945856
修改縮放因子
在ST提供的en.STSW-IMG003.zip壓縮包中,可以找到一個名為CodeSamples_UM.pdf的文檔。在該文檔中,有一個案例展示了如何修改縮放方式。通過調(diào)用函數(shù)VL6180x_UpscaleSetScaling(myDev, 2),您可以將縮放因子設置為2,實現(xiàn)將測量范圍擴大兩倍的效果。這個案例為您提供了一個具體的示例,可以幫助您了解如何在編程中使用該函數(shù)來修改縮放因子。

VL6180x_UpscaleSetScaling
在ST提供的en.STSW-IMG003.zip壓縮包中,vl6180x_api.c文件包含了VL6180x_UpscaleSetScaling函數(shù),這個函數(shù)是用來設置設備的測距縮放因子的。?
當設備進行測量時,測距縮放因子會應用于設備測得的原始距離,以擴大測量范圍,但會犧牲一定的精度。 需要注意的是,在設備處于固件待機狀態(tài)(自由運行)以外的狀態(tài)下修改縮放因子是不安全的。這可能導致誤報中斷、測距范圍錯誤等問題。?

?為了簡化和優(yōu)化原始函數(shù),并提供更清晰和易于理解的代碼結(jié)構(gòu)。去除不相關的部分,由于原始函數(shù)中的某些操作在新的函數(shù)中沒有被使用到,這些部分被去除以提高代碼的清晰度和可讀性。?
修改后的代碼具有更簡潔、易讀和易于維護的結(jié)構(gòu),同時仍然保留了修改縮放因子所需的核心操作。這種修改的目的是使代碼更易于理解和實現(xiàn),并提供更好的可擴展性和可重用性。 修改為所需要的函數(shù),如下所示:
主函數(shù)
修改后的函數(shù)如下所示,修改縮放因子為x2。
測試結(jié)果
測試距離為20cm結(jié)果如下所示。
