欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180與VL6180X(4)----測(cè)量環(huán)境光

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

概述

在本章中,我們將介紹如何配置VL6180X傳感器以測(cè)量環(huán)境光,并獲取環(huán)境光的強(qiáng)度值。VL6180X是一種多功能、高性能的接近和環(huán)境光傳感器,其環(huán)境光測(cè)量功能可以用于檢測(cè)周圍環(huán)境的亮度水平。
最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請(qǐng):6_15061293 。
在這里插入圖片描述
查看VL6180X手冊(cè)可得知,VL6180X模塊是內(nèi)置了環(huán)境光感應(yīng)(Ambient Light Sensing,ALS)功能的。ALS功能使得VL6180X不僅能夠測(cè)量物體與傳感器之間的距離,還能夠檢測(cè)周圍環(huán)境的光照強(qiáng)度。
在這里插入圖片描述

樣品申請(qǐng)

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

視頻教程

https://www.bilibili.com/video/BV1vM4y1x74M/

video(video-xBRvtoF6-1689419585615)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=913388199)(image-https://img-blog.csdnimg.cn/img_convert/24f308bcc28d55fb5395548d0a23231c.jpeg)(title-基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180與VL6180X(4)----測(cè)量環(huán)境光)

完整代碼下載

https://download.csdn.net/download/qq_24312945/88051751

VL6180X傳感器的測(cè)量流程

下圖給出了vl6180x測(cè)量距離和環(huán)境光的驅(qū)動(dòng)流程圖,可以得知他們的測(cè)量方式是大同小異的。
需要注意的是,雖然距離測(cè)量和環(huán)境光測(cè)量的流程圖在基本原理和操作步驟上是相似的,但在具體的配置和參數(shù)設(shè)置上可能存在差異。因此,在使用VL6180X進(jìn)行距離測(cè)量和環(huán)境光測(cè)量時(shí),需要根據(jù)具體的需求和應(yīng)用場景,相應(yīng)地配置和調(diào)整傳感器的設(shè)置。
在這里插入圖片描述

ALS動(dòng)態(tài)范圍

ALS動(dòng)態(tài)范圍是指VL6180X傳感器在不同增益設(shè)置下可以測(cè)量的光線范圍。在VL6180X手冊(cè)的表中,展示了在有和無玻璃情況下的各個(gè)增益下可測(cè)量的光線范圍。
選擇適當(dāng)?shù)脑鲆嬖O(shè)置對(duì)于獲得準(zhǔn)確的環(huán)境光測(cè)量結(jié)果至關(guān)重要。在大多數(shù)應(yīng)用中,可以使用單個(gè)增益設(shè)置來進(jìn)行操作,而無需在不同的增益之間切換。這樣可以簡化配置和使用過程,提高系統(tǒng)的穩(wěn)定性和可靠性。
根據(jù)實(shí)際應(yīng)用的需求,可以根據(jù)表中的數(shù)據(jù)選擇最合適的增益設(shè)置。根據(jù)是否使用玻璃覆蓋物,以及環(huán)境光的強(qiáng)度范圍,可以確定在哪個(gè)增益下獲得最佳的測(cè)量精度和范圍。
在這里插入圖片描述

ALS動(dòng)態(tài)范圍

ALS動(dòng)態(tài)范圍是指VL6180X傳感器在不同增益設(shè)置下可以測(cè)量的光線范圍。在VL6180X手冊(cè)的表中,展示了在有和無玻璃情況下的各個(gè)增益下可測(cè)量的光線范圍。
選擇適當(dāng)?shù)脑鲆嬖O(shè)置對(duì)于獲得準(zhǔn)確的環(huán)境光測(cè)量結(jié)果至關(guān)重要。在大多數(shù)應(yīng)用中,可以使用單個(gè)增益設(shè)置來進(jìn)行操作,而無需在不同的增益之間切換。這樣可以簡化配置和使用過程,提高系統(tǒng)的穩(wěn)定性和可靠性。
根據(jù)實(shí)際應(yīng)用的需求,可以根據(jù)表中的數(shù)據(jù)選擇最合適的增益設(shè)置。根據(jù)是否使用玻璃覆蓋物,以及環(huán)境光的強(qiáng)度范圍,可以確定在哪個(gè)增益下獲得最佳的測(cè)量精度和范圍。
在這里插入圖片描述

可以通過設(shè)置SYSALS__ANALOGUE_GAIN(0x03F)來配置模擬增益。根據(jù)實(shí)際需求和環(huán)境條件,選擇適當(dāng)?shù)脑鲆嬷捣浅V匾?。建議在調(diào)整增益時(shí)進(jìn)行實(shí)際測(cè)試,以找到最佳的平衡點(diǎn),以獲得所需的性能和圖像質(zhì)量。記住,過高的增益可能會(huì)引入噪聲,對(duì)測(cè)量產(chǎn)生不利影響。
在這里插入圖片描述

測(cè)量流程

具體流程如下所示:

  1. 開始單次環(huán)境光測(cè)量:應(yīng)用調(diào)諧設(shè)置后,將值0b100寫入寄存器的位[5:3](寄存器0x0014),以啟動(dòng)單次環(huán)境光測(cè)量。
  2. 等待測(cè)量完成:等待測(cè)量完成。您可以根據(jù)實(shí)際需求決定等待的時(shí)間。
  3. 從寄存器0x0040讀取數(shù)據(jù),并清除位[0],然后將值0x31寫入寄存器0x0041。
  4. 將值0b1(二進(jìn)制)寫入寄存器0x0038的位[0]。
  5. 從寄存器0x004F的位[5:3]中讀取數(shù)值,并且該數(shù)值為0b100跳出循環(huán),否則等待。
  6. 從寄存器0x0050讀取2個(gè)字節(jié)的數(shù)值,這個(gè)數(shù)值代表環(huán)境光強(qiáng)度的測(cè)量結(jié)果。
  7. 將值0b111(二進(jìn)制)寫入寄存器0x0015的位[2:0]。
    以上是獲取光強(qiáng)的簡要概述,根據(jù)您的實(shí)際需求,可能需要更詳細(xì)的代碼和配置。請(qǐng)參考VL6180X傳感器的相關(guān)文檔和手冊(cè),以獲取更多詳細(xì)的信息編程指南。
    在這里插入圖片描述

光強(qiáng)計(jì)算公式

"ALS count to lux conversion" 指的是將環(huán)境光傳感器的輸出值(一個(gè)16位計(jì)數(shù)值)轉(zhuǎn)換為光照強(qiáng)度(單位為勒克斯)的過程,由上一步的流程進(jìn)行獲取。
工廠校準(zhǔn)的ALS光照分辨率是0.32(lux/count),適用于模擬增益為1且積分時(shí)間為100毫秒的情況(在無玻璃覆蓋的條件下進(jìn)行校準(zhǔn))。計(jì)算公式如下所示。
在這里插入圖片描述
讀取lux代碼參考如下所示。

float VL6180X_Read_Lux(uint8_t add,uint8_t Gain)
{
	float lux;
	static uint8_t reg;
	reg = VL6180X_ReadByte(add,VL6180X_REG_SYSTEM_INTERRUPT_CONFIG);
	reg &= ~0x38;		//[5:3]清0
	reg |= (0x4< < 3);	//開啟轉(zhuǎn)換New sample ready	開啟轉(zhuǎn)換
	
	VL6180X_WriteByte(add,VL6180X_REG_SYSALS_INTEGRATION_PERIOD_HI,0);
	VL6180X_WriteByte(add,VL6180X_REG_SYSALS_INTEGRATION_PERIOD_LO,100);	//101ms
	if (Gain > VL6180X_ALS_GAIN_40)
	{
		Gain = VL6180X_ALS_GAIN_40;
	}
	VL6180X_WriteByte(add,VL6180X_REG_SYSALS_ANALOGUE_GAIN, 0x40 | Gain);
	VL6180X_WriteByte(add,VL6180X_REG_SYSALS_START, 0x1);	//連續(xù)模式
	// New Sample Ready threshold event 新樣本就緒
	while (4 != ((VL6180X_ReadByte(add,VL6180X_REG_RESULT_INTERRUPT_STATUS_GPIO) > > 3) & 0x7));
	
	lux = VL6180X_Read_HalfWold(add,VL6180X_REG_RESULT_ALS_VAL);
	VL6180X_WriteByte(add,VL6180X_REG_SYSTEM_INTERRUPT_CLEAR,0x07);	//0111b 清除了三種中斷標(biāo)志
	//矯正增益算法
	lux *= 0.32f; // calibrated count/lux
	switch(Gain) { 
	case VL6180X_ALS_GAIN_1: 
	break;
	case VL6180X_ALS_GAIN_1_25: 
	lux /= 1.25f;
	break;
	case VL6180X_ALS_GAIN_1_67: 
	lux /= 1.67f;
	break;
	case VL6180X_ALS_GAIN_2_5: 
	lux /= 2.5f;
	break;
	case VL6180X_ALS_GAIN_5: 
	lux /= 5;
	break;
	case VL6180X_ALS_GAIN_10: 
	lux /= 10;
	break;
	case VL6180X_ALS_GAIN_20: 
	lux /= 20;
	break;
	case VL6180X_ALS_GAIN_40: 
	lux /= 40;
	break;
	}
	lux *= 100;
	lux /= 100; // integration time in ms
	return lux;
}

配置vl6180x

在對(duì)應(yīng)的demo板子中,使用U6進(jìn)行光強(qiáng)讀取。
在這里插入圖片描述

初始化配置如下所示。

/* USER CODE BEGIN 2 */

	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);	
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);	

	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);	
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);	

	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET);	
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);	
	
	
//VL6180_4
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_SET);	
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
uint8_t ii;
uint8_t id;
	HAL_Delay(1);

/************修改VL6180_4地址為VL6180X_DEFAULT_I2C_ADDR4(0x2C)*********************/
	VL6180X_Init(VL6180X_DEFAULT_I2C_ADDR1);
	VL6180X_WriteByte(VL6180X_DEFAULT_I2C_ADDR1,0x0212,VL6180X_DEFAULT_I2C_ADDR4);
//	HAL_Delay(100);
	ii=VL6180X_ReadByte(VL6180X_DEFAULT_I2C_ADDR4,0x0212);	
	printf("VL6180_4地址為=0x%Xn",ii);		
	VL6180x_UpscaleSetScaling(VL6180X_DEFAULT_I2C_ADDR4,3);//縮放x3
	id=VL6180X_Read_ID(VL6180X_DEFAULT_I2C_ADDR4);
	printf("VL6180_4 id=%dn",id);	

/************修改VL6180_3地址為VL6180X_DEFAULT_I2C_ADDR3(0x2B)*********************/
//VL6180_3
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);	
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);
	HAL_Delay(1);
	VL6180X_Init(VL6180X_DEFAULT_I2C_ADDR1);
	VL6180X_WriteByte(VL6180X_DEFAULT_I2C_ADDR1,0x0212,VL6180X_DEFAULT_I2C_ADDR3);
	ii=VL6180X_ReadByte(VL6180X_DEFAULT_I2C_ADDR3,0x0212);	
	printf("VL6180_3地址為=0x%Xn",ii);		
	VL6180x_UpscaleSetScaling(VL6180X_DEFAULT_I2C_ADDR3,3);//縮放x3
	id=VL6180X_Read_ID(VL6180X_DEFAULT_I2C_ADDR3);
	printf("VL6180_3 id=%dn",id);

  /* USER CODE END 2 */

循環(huán)讀取代碼如下所示。

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		VL6180_L4=VL6180X_Read_Range(VL6180X_DEFAULT_I2C_ADDR4);
		printf("VL6180_L4=%dmmn",VL6180_L4*3);
			
		lux_L3=VL6180X_Read_Lux(VL6180X_DEFAULT_I2C_ADDR3,VL6180X_ALS_GAIN_40);
		printf("lux=%lfn",lux_L3);				
		VL6180_L3=VL6180X_Read_Range(VL6180X_DEFAULT_I2C_ADDR3);
		printf("VL6180_L3=%dmmn",VL6180_L3*3);			
		
		HAL_Delay(1000);			

    /* USER CODE END WHILE */

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

測(cè)試結(jié)果

測(cè)試距離和光強(qiáng)結(jié)果如下所示。
在這里插入圖片描述

設(shè)置VL6180X_ALS_GAIN_40讀取,給強(qiáng)光情況下讀數(shù)如下所示。

在這里插入圖片描述

是符合手冊(cè)給出的范圍的。

在這里插入圖片描述

審核編輯:湯梓紅

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

    關(guān)注

    2553

    文章

    51448

    瀏覽量

    756890
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2736

    瀏覽量

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

    關(guān)注

    9

    文章

    485

    瀏覽量

    36510
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    284

    瀏覽量

    15044
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180VL6180X(2)----修改測(cè)量范圍

    當(dāng)使用VL6180傳感器進(jìn)行測(cè)距時(shí),可以通過修改縮放因子來改變可測(cè)量的距離范圍。VL6180是一種基于飛行時(shí)間原理的傳感器,通過測(cè)量信號(hào)的
    的頭像 發(fā)表于 12-01 13:52 ?702次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL6180</b>與<b class='flag-5'>VL6180X</b>(2)----修改<b class='flag-5'>測(cè)量</b>范圍

    基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180VL6180X(3)----修改設(shè)備地址

    本章主要介紹如何修改VL6180X傳感器的I2C地址,并成功驅(qū)動(dòng)設(shè)備以使用新的地址。VL6180X是一種多功能、高性能的接近和環(huán)境傳感器,
    的頭像 發(fā)表于 12-01 14:30 ?730次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL6180</b>與<b class='flag-5'>VL6180X</b>(3)----修改設(shè)備地址

    基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180VL6180X(5)----驅(qū)動(dòng)多個(gè)VL6180X

    驅(qū)動(dòng)多個(gè)VL6180X傳感器進(jìn)行距離測(cè)量和光強(qiáng)測(cè)量。VL6180X傳感器在VL6180的基礎(chǔ)上增
    的頭像 發(fā)表于 12-01 14:36 ?1123次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL6180</b>與<b class='flag-5'>VL6180X</b>(5)----<b class='flag-5'>驅(qū)動(dòng)</b>多個(gè)<b class='flag-5'>VL6180X</b>

    VL6180x單次測(cè)量范圍測(cè)量后的系統(tǒng)錯(cuò)誤代碼

    我有一個(gè)VL6180x傳感器,我已按照數(shù)據(jù)表中的說明焊接引線并進(jìn)行配置。 在GitHub上使用這個(gè)庫,我能夠讀取環(huán)境測(cè)量值,但是距離測(cè)量
    發(fā)表于 09-21 16:55

    尋找手冊(cè)中引用的F401和VL6180板的mbed資源

    我正在尋找手冊(cè)中引用的F401和VL6180板的mbed資源。 可以嗎?#vl6180x以上來自于谷歌翻譯以下為原文 I was looking for mbed resources
    發(fā)表于 09-21 16:57

    VL6180X包含多少個(gè)傳感器?

    VL6180X包含多少個(gè)傳感器? #vl6180x#vl6180x-outline-drawing #sensor以上來自于谷歌翻譯以下為原文 How many sensors does
    發(fā)表于 09-25 17:14

    VL6180X操作如何測(cè)量距離

    的問題是:由于VL6180X計(jì)算距離作為發(fā)射和接收紅外線之間的時(shí)間,它如何測(cè)量距離(例如約1cm),其對(duì)應(yīng)于皮秒級(jí)的飛行時(shí)間? 謝謝#vl6180x以上來自于谷歌翻譯以下為原文 I
    發(fā)表于 10-10 10:47

    VL6180X:什么是線性誤差率?

    親, VL6180X的線性誤碼率是多少? Tks和問候。 一個(gè)。 #proximity-sensor#vl6180x以上來自于谷歌翻譯以下為原文 Dear, What
    發(fā)表于 10-22 16:29

    VL6180X范圍偏移怎么更改

    大家好我在自定義主板上使用了一些VL6180X設(shè)備。 然后,它們的范圍偏移似乎每次啟動(dòng)都會(huì)改變大約mm5mm,盡管我按應(yīng)用說明中的指示調(diào)整了偏移。什么影響范圍偏移?在正常情況下,只需一次調(diào)整就夠了嗎
    發(fā)表于 10-23 16:52

    VL6180X增加了范圍

    嗨,我想增加VL6180X的范圍,但我不知道我必須修改哪個(gè)寄存器。我看到RangingAndALS_NucleoXXX樣本中的代碼,但我不明白VL6180X寄存器是如何被修改的,以便增加測(cè)量范圍
    發(fā)表于 04-08 16:02

    近距離測(cè)量VL6180X錯(cuò)誤

    嘿,我正在使用VL6180X衛(wèi)星傳感器進(jìn)行測(cè)距測(cè)量。連接后,我收到一些測(cè)量值 - 但它們是錯(cuò)誤的。傳感器不會(huì)對(duì)0mm和~50mm之間的距離變化做出反應(yīng)。它不斷向我顯示'4 mm'的值。
    發(fā)表于 05-13 07:13

    請(qǐng)問VL6180X的基本功能有哪些?

    VL6180X的基本功能有哪些? #vl6180x #features以上來自于谷歌翻譯以下為原文 What are the basic features of VL6180X ?#vl61
    發(fā)表于 06-05 09:26

    Vl6180x 官方蓋玻片模型的使用

    本帖最后由 yppc 于 2019-12-31 12:09 編輯 我最近在使用Vl6180x芯片,因?yàn)閼?yīng)用環(huán)境,我準(zhǔn)備增加蓋玻片防塵,我在ST官網(wǎng)上查詢到Vl6180芯片的蓋玻片模型,我想咨詢
    發(fā)表于 12-31 11:41

    使用VL6180X ToF傳感器與Particle Argon控制伺服器

    電子發(fā)燒友網(wǎng)站提供《使用VL6180X ToF傳感器與Particle Argon控制伺服器.zip》資料免費(fèi)下載
    發(fā)表于 10-19 09:52 ?0次下載
    使用<b class='flag-5'>VL6180X</b> <b class='flag-5'>ToF</b>傳感器與Particle Argon控制伺服器

    基于STM32CUBEMX驅(qū)動(dòng)TOF模塊VL6180VL6180X(1)----單模塊距離獲取的最佳實(shí)踐

    VL6180X是基于ST FlightSense?專利技術(shù)的最新產(chǎn)品。作為一項(xiàng)突破性技術(shù),它實(shí)現(xiàn)了獨(dú)立于目標(biāo)反射率的絕對(duì)距離測(cè)量。傳統(tǒng)的測(cè)量方法通過測(cè)量反射
    的頭像 發(fā)表于 07-27 09:47 ?2097次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>TOF</b><b class='flag-5'>模塊</b><b class='flag-5'>VL6180</b>與<b class='flag-5'>VL6180X</b>(1)----單<b class='flag-5'>模塊</b>距離獲取的最佳實(shí)踐