RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32CUBEMX驅(qū)動TOF模塊VL53l0x(2)----修改設(shè)備地址

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2023-12-01 15:46 ? 次閱讀

概述

本章主要介紹如何修改VL53L0X傳感器I2C地址,并成功驅(qū)動設(shè)備以使用新的地址。VL53L0X是一種多功能、高性能的接近和環(huán)境光傳感器,常用于測量物體與傳感器之間的距離、檢測物體的接近程度以及測量環(huán)境光強度等應(yīng)用。
在某些情況下,可能需要在同一I2C總線上使用多個VL53L0X傳感器,或與其他I2C設(shè)備共享總線資源。由于每個VL53L0X傳感器具有默認(rèn)的固定I2C地址,這可能導(dǎo)致地址沖突,從而阻礙多個傳感器的同時使用。為了解決這個問題,可以通過修改傳感器的I2C地址來避免沖突,并使其能夠在同一總線上與其他設(shè)備共存。
修改VL53L0X傳感器的I2C地址,通過配置傳感器內(nèi)部寄存器來修改I2C地址。將提供具體的寄存器配置值和步驟,確保能夠成功更改傳感器的地址。然后驅(qū)動新地址的VL53L0X傳感器,使用新的I2C地址與VL53L0X傳感器進行通信。

最近在弄ST的課程,需要樣片的可以加群申請:615061293 。

在這里插入圖片描述

視頻教學(xué)

[https://www.bilibili.com/video/BV1cm4y1N7HN/]

樣品申請

[https://www.wjx.top/vm/OhcKxJk.aspx

源碼下載

[https://download.csdn.net/download/qq_24312945/88332774]

修改設(shè)備地址

VL53L0X使用I2C總線進行通信。默認(rèn)情況下,VL53L0X的7位地址為0x29。然而,為了避免地址沖突并允許多個傳感器共享相同的I2C總線,用戶可以通過向寄存器I2C_SLAVE_DEVICE_ADDRESS(寄存器地址為0x8A)寫入自定義的7位地址來修改傳感器的地址。
在這里插入圖片描述

修改后如下所示。

// Public Methods //////////////////////////////////////////////////////////////

void VL53L0X_setAddress(uint8_t add,uint8_t new_addr)
{
  VL53L0X_WriteByte(add,I2C_SLAVE_DEVICE_ADDRESS, new_addr & 0x7F);

}

在VL53L0X.h文件,該文件包含了VL53L0X傳感器的相關(guān)定義和配置。
在VL53L0X.h文件中,可以定義2個設(shè)備的地址常量,分別表示不同的傳感器。例如,可以使用以下方式定義地址常量:

#define VL53L0X_DEFAULT_I2C_ADDR1 0x29  ///< The fixed I2C addres
#define VL53L0X_DEFAULT_I2C_ADDR2 0x30  ///< The fixed I2C addres

這里的地址值是根據(jù)實際需求和硬件連接情況選擇的,確保每個設(shè)備具有唯一的地址。
通過使用定義的設(shè)備地址常量,可以輕松地管理和操作多個VL53L0X傳感器。
首先使用VL53L0X_Init函數(shù)初始化傳感器,接下來通過調(diào)用VL53L0X_setAddress函數(shù)來修改設(shè)備地址。這個函數(shù)需要兩個參數(shù):舊的設(shè)備地址(即初始的設(shè)備地址)和新的設(shè)備地址(你希望將傳感器的地址修改為的值)。

/* USER CODE BEGIN 2 */
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);	
	
			HAL_Delay(200);	

	if (!VL53L0X_Init(VL53L0X_DEFAULT_I2C_ADDR1,true))
  {
    printf("Failed to detect and initialize sensor!");
    while (1) {}
  }
/************修改VL53L0X_2地址為VL53L0X_DEFAULT_I2C_ADDR2(0x30)*********************/
	VL53L0X_setAddress(VL53L0X_DEFAULT_I2C_ADDR1,VL53L0X_DEFAULT_I2C_ADDR2);	
	
  /* USER CODE END 2 */

主程序

在主程序的while循環(huán)中,使用VL53L0X_readRangeSingleMillimeters函數(shù)從傳感器讀取距離數(shù)據(jù)。這個函數(shù)需要傳入設(shè)備的新地址VL53L0X_DEFAULT_I2C_ADDR2作為參數(shù)。

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		L=VL53L0X_readRangeSingleMillimeters(VL53L0X_DEFAULT_I2C_ADDR2);
    	printf("L=%d",L);

		HAL_Delay(1000);			
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

測試結(jié)果

測試距離結(jié)果如下所示。

在這里插入圖片描述

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2695

    瀏覽量

    47431
  • 地址
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

    10763
  • TOF
    TOF
    +關(guān)注

    關(guān)注

    9

    文章

    482

    瀏覽量

    36331
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    283

    瀏覽量

    14791
  • VL53L0X
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    2478
收藏 人收藏

    評論

    相關(guān)推薦

    基于STM32CUBEMX驅(qū)動TOF模塊VL6180與VL6180X(3)----修改設(shè)備地址

    本章主要介紹如何修改VL6180X傳感器的I2C地址,并成功驅(qū)動設(shè)備以使用新的
    的頭像 發(fā)表于 12-01 14:30 ?625次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL</b>6180與<b class='flag-5'>VL6180X</b>(3)----<b class='flag-5'>修改</b><b class='flag-5'>設(shè)備</b><b class='flag-5'>地址</b>

    基于STM32CUBEMX驅(qū)動TOF模塊VL53l0x(1)----單模塊距離獲取的最佳實踐

    VL53L0X是新一代飛行時間(ToF)激光測距模塊(不同于傳統(tǒng)技術(shù)),采用目前市場上最小的封裝,無論目標(biāo)反射率如何,都能提供精確的距離測量。它可以測量2m的絕對距離,為測距性能等級設(shè)
    的頭像 發(fā)表于 12-01 15:45 ?2279次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL53l0x</b>(1)----單<b class='flag-5'>模塊</b>距離獲取的最佳實踐

    基于STM32CUBEMX驅(qū)動TOF模塊VL53l0x(3)----驅(qū)動多個VL53L0X

    在本章中,我們將探討如何同時驅(qū)動多個VL53L0X傳感器進行距離測量。我們將介紹如何有效地管理多個傳感器之間的通信和控制,以確保它們能夠同時進行準(zhǔn)確的距離測量。通過本章的學(xué)習(xí),將能夠了解如何利用多個VL53L0X傳感器的優(yōu)勢,為
    的頭像 發(fā)表于 12-01 15:47 ?1010次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL53l0x</b>(3)----<b class='flag-5'>驅(qū)動</b>多個<b class='flag-5'>VL53L0X</b>

    CW32模塊使用 VL53L0X激光測距傳感器

    上一代 VL6180X,新的器件將飛行時間測距長度擴展至 2 米,測量速度更快,能效更高。除此之外,為使集成度過程更加快捷方便, ST 公司為此也提供了 VL53L0X 軟件 API(應(yīng)用編程接口)以及完整的技術(shù)文檔,通過主 I
    的頭像 發(fā)表于 11-26 17:59 ?581次閱讀
    CW32<b class='flag-5'>模塊</b>使用 <b class='flag-5'>VL53L0X</b>激光測距傳感器

    新一代ToF 激光測距模塊VL53L0X

    ,所以回程距離的計算公式也很簡單,即“光速” x “時間延遲”。VL53L0X 是新一代 ToF 激光測距模塊,采用目前市場上最小型的封裝,可基于各種目標(biāo)物顏色和反射特性進行精確測距。
    發(fā)表于 04-06 14:03

    怎么使用VL53L0XSTM32L476 Nucleo64?

    嗨,我是一個新手試圖通過將它們連接到STM32L476核64板來研究它們。目前我正在嘗試使用飛行時間傳感器VL53L0X分線板,通過在核64上的I2C引腳連接它。此外,我正在使用系統(tǒng)工作臺來運行生成
    發(fā)表于 10-18 17:13

    VL53L0X可以永久更改I2C地址嗎?

    大家好!關(guān)于VL53L0X飛行時間測距和手勢檢測傳感器的簡短問題。數(shù)據(jù)表提到了“可編程I2C地址”。是否可以永久地將默認(rèn)I2C地址更改為另一
    發(fā)表于 10-23 16:46

    VL53L0x環(huán)境光靈敏度無法測量距離

    ?Best regardsSoren #light-intensity #light #vl53l0x #vl53l0 #tof #ir #time-of-flight #ambient-light #halogen
    發(fā)表于 04-15 16:42

    RT-Thread VL53L0X TOF傳感器驅(qū)動設(shè)計資料實現(xiàn)

    1、RT-Thread VL53L0X TOF傳感器驅(qū)動實現(xiàn)  Time of flight(TOF),中文翻譯為“飛行時間”。飛行時間技術(shù)在廣義上可理解為通過測量物體、粒子或波在固定
    發(fā)表于 09-15 17:08

    請問VL53L0X的FOV范圍是多少?

    數(shù)據(jù)表顯示 VL53L0X 具有 25 度的 FOV。然而,每個 VL53L0X 顯示的 FOV 略有不同。比如一只VL53L0X好像是24度,另一只VL53L0X好像是26度。
    發(fā)表于 12-08 06:12

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

    VL53L0X是一種新一代飛行時間(TOF)激光測距模塊,安裝在當(dāng)今市場上最小的封裝中,與傳統(tǒng)技術(shù)不同,它提供精確的距離測量,無論目標(biāo)反射是什么。它可以測量高達2米的絕對距離,設(shè)置一個
    發(fā)表于 07-08 08:00 ?40次下載
    <b class='flag-5'>VL53L0X</b> <b class='flag-5'>TOF</b>激光測距傳感器的數(shù)據(jù)手冊免費下載

    微雪電子測距傳感器VL53L0X測距模塊簡介

    VL53L0X 飛行時間 測距傳感器模塊 2米 I2C接口 測距頻率可達50Hz,低功耗,抗干擾 型號 VL53L0X Dist
    的頭像 發(fā)表于 01-06 08:56 ?8976次閱讀
    微雪電子測距傳感器<b class='flag-5'>VL53L0X</b>測距<b class='flag-5'>模塊</b>簡介

    dfrobotVL53L0X ToF激光測距傳感器簡介

    VL53L0X激光測距傳感器是一款基于意法半導(dǎo)體(STMicroelectronics)新出的基于飛行時間測距 (ToF) 原理設(shè)計的高精度測距傳感器。與傳統(tǒng)的技術(shù)不同,VL53L0X無論目標(biāo)反射率如何,都能提供精確的距離測量,
    的頭像 發(fā)表于 01-02 08:42 ?7302次閱讀
    dfrobotVL<b class='flag-5'>53L0X</b> <b class='flag-5'>ToF</b>激光測距傳感器簡介

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

    本文檔的主要內(nèi)容詳細介紹的是使用STM32F103應(yīng)用VL53L0X激光測距模塊的測試參考程序免費下載。
    發(fā)表于 06-12 08:00 ?165次下載
    使用<b class='flag-5'>STM32</b>F103應(yīng)用<b class='flag-5'>VL53L0X</b>激光測距<b class='flag-5'>模塊</b>的測試參考程序免費下載

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

    VL53L0X是新一代飛行時間(ToF)激光測距模塊,封裝在當(dāng)今市場上最小的封裝中,與傳統(tǒng)技術(shù)不同的是,無論目標(biāo)反射是什么,都能提供精確的距離測量。它可以測量高達2米的絕對距離,樹立了
    發(fā)表于 12-08 08:00 ?25次下載
    <b class='flag-5'>VL53L0X</b>激光測距傳感器的數(shù)據(jù)手冊免費下載
    RM新时代网站-首页