0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VD6283TX环境光传感器驱动开发(1)----获取ID

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2023-12-01 16:05 次阅读

概述

环境光传感器是一种光电探测器,能够将光转换为电压或者电流,使用多光谱环境光传感器为了测量光谱上特定波长或特定带锯波长的强度,该传感器的目标是改善视觉体验并最终使用户感到舒适的照明视觉体验。
在这里插入图片描述
在这里插入图片描述

最近在弄ST的课程,需要样片的可以加群申请:615061293 。

视频教学

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

样品申请

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

源码下载

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

模块参数

VD6283 是 ST 的一款微型光学模块,尺寸为 1.83 x 1.0 x 0.55 mm,具有6个独立的环境光传感通道,包括红、绿、蓝、红外、透明和可见通道。它使用高级混合滤波器并能在7 mLux 到 30 kLux 的范围内运行。此传感器具有独特的读出架构,可以提取从100 Hz 到 2 kHz 频率的交流灯光闪烁信号。VD6283 还配备了 I2C 接口,工作电压为1.8 V,并具有低功耗特性。它可以在 -30 到 85 °C 的温度范围内运行。主要应用包括屏幕亮度调整的真实色调色感测定、光亮度和相关色温测量以及闪烁校正辅助的光频提取。通过专利架构和高性能的光电二极管设计,VD6283 可以提取灯光闪烁频率,避免视频上的“条纹效果”,或检查它们对人眼是否安全。此外,VD6283 是唯一能够同时进行闪烁操作和环境光传感操作的传感器。
在这里插入图片描述

IIC接线方式

IIC接线方式如下所示,需要注意的是供电和上拉都是1.8V。

在这里插入图片描述

开发板接线方式如下所示。

在这里插入图片描述

设备ID

我们可以通过查询0x00和0x01获取模块ID和模块版本号。

在这里插入图片描述

手册给出的取模块ID和模块版本号分别是0x70和0xBD。

在这里插入图片描述

生成STM32CUBEMX

串口配置

查看原理图,PA1和PA0设置为开发板的串口。

在这里插入图片描述
配置串口。
在这里插入图片描述

IIC配置

在这个应用中,VD6283TX模块通过I2C(IIC)接口与主控器通信。具体来说,VD6283TX模块的I2C引脚连接到主控器的PB6(引脚B6)和PB7(引脚B7)两个IO口。

在这里插入图片描述
配置IIC为普通模式,速度为100k。

在这里插入图片描述

串口重定向

打开魔术棒,勾选MicroLIB

在这里插入图片描述

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函数声明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
	HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
	return ch;
}
/* USER CODE END PFP */

模块地址

VD6283TX模块的默认设备地址为0100000(0x20)。设备地址是用来识别和通信特定设备的标识符。通过将VL6180模块的设备地址设置为0100000(0x20),您可以确保与该模块进行正常的通信和控制。
若添加读写位,0x40为写地址,0x41为读地址。

在这里插入图片描述

获取ID

读写函数如下所示。

/**
  * @brief  读取数据
  *
  * @param  add   模块地址
  * @param  reg   寄存器地址
  * @param  data  buffer 缓冲区
  * @param  len   读取长度
  * @retval ret   正常返回HAL_OK
  *
  */
uint8_t VD6283TX_read_reg(uint8_t add,uint8_t reg,  uint8_t * data, uint8_t len)
{
	uint8_t ret;
	ret=HAL_I2C_Mem_Read(&hi2c1 ,(add< < 1)|1,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);

	return ret;
}


/**
  * @brief  写入数据
  *
  * @param  add   模块地址
  * @param  reg   寄存器地址
  * @param  data  buffer 缓冲区
  * @param  len   写入长度
  * @retval ret   正常返回HAL_OK
  *
  */
uint8_t VD6283TX_write_reg(uint8_t add,uint8_t reg, uint8_t * data, uint8_t len)
{
		uint8_t ret;
		ret=HAL_I2C_Mem_Write(&hi2c1 ,(add< < 1)|0,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);
	return ret;

}

获取ID以及版本号代码如下所示。

/**
  * @brief  获取设备ID
  *
  * @param  add      设备地址
  * @param  val      设备ID.
  * @retval ret   		正常返回HAL_OK
  *
  */

uint8_t VD6283TX_getChipID(uint8_t add)
{
  uint8_t temp[1]={0};
	VD6283TX_read_reg(add,VD6283TX_DEVICE_ID,temp,1);
  return temp[0];
}




/**
  * @brief  获取VD6283硅芯片的修订版本
  *
  * @param  add      设备地址
  * @retval          硅芯片修订版本
  *
  */
uint8_t VD6283TX_getSiliconRevision(uint8_t add)
{
    uint8_t revision[1] = {0};
    VD6283TX_read_reg(add, VD6283TX_REVISION_ID, revision, 1);
    return revision[0];
}

主函数

/* USER CODE BEGIN 2 */
	HAL_Delay(200);	
	printf("123n");
	//获取设备IDHAL_I2C_Mem_Write(&hi2c1 ,(add< < 1)|0,reg,I2C_MEMADD_SIZE_8BIT,data,len,0xffff);
	uint8_t VD6283_ID =VD6283TX_getChipID(VD6283TX_ID);
	printf("VD6283TX_ID=0x%xn",VD6283_ID);		
	//获取VD6283硅芯片的修订版本
	uint8_t VD6283_Revision =VD6283TX_getSiliconRevision(VD6283TX_ID);
	printf("getSiliconRevision=0x%xn",VD6283_Revision);		

  /* USER CODE END 2 */

结果演示

在这里插入图片描述

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 环境光传感器

    关注

    3

    文章

    98

    浏览量

    21816
  • 驱动开发
    +关注

    关注

    0

    文章

    129

    浏览量

    12021
  • 光电探测器
    +关注

    关注

    4

    文章

    246

    浏览量

    20224
收藏 人收藏

    评论

    相关推荐

    VD6283TX环境传感器驱动开发(2)----获取光强和色温

    为了更好地利用VD6283TX传感器的特点和功能,本章专门用于捕获光强度和相关色温值。VD6283TX,作为ST的高级色感器,具有并行感测多个通道的能力,这使得它成为光强和色温测量的理想选择。
    的头像 发表于 12-01 16:08 364次阅读
    <b class='flag-5'>VD6283TX</b><b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(2)----<b class='flag-5'>获取</b>光强和色温

    VD6283TX环境传感器驱动开发(3)----测试闪烁频率代码

    ST提供了6283A1_AnalogFlicker代码在X-NUCLEO-6283A1获取闪烁频率,同时移植到VD6283TX-SATEL。
    的头像 发表于 12-01 16:14 322次阅读
    <b class='flag-5'>VD6283TX</b><b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(3)----测试闪烁频率代码

    VD6283TX环境传感器驱动开发(4)----移植闪烁频率代码

    光学闪烁被定义为人造光源的脉动或波动的光现象。
    的头像 发表于 12-01 16:24 376次阅读
    <b class='flag-5'>VD6283TX</b><b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(4)----移植闪烁频率代码

    简单的环境传感器电路

    Chau Tran 和 Paul Mullins人们越来越多地认为环境光是一种能源,可用于驱动心率监控、浴室灯具、远程天气传感器和其他低功耗器件。对于能量采集系统,最关键的是精确测量
    发表于 10-10 17:56

    环境传感器的介绍

    。现在,制造商正在开发针对汽车市场的新一代系统,并已经投入使用。  围绕汽车工作环境,本文就设计问题和传感器的效用给出了全景式的介绍。传感器
    发表于 11-05 16:11

    你是我的眼:环境传感器

    ? 改善用户视觉体验; 优化图像显示之外; 降低显示的消耗,延长电池以及显示的使用寿命。 哪里会用到环境传感器? 如下图
    发表于 08-07 04:45

    Maxim推出环境传感器

    Maxim Integrated Products, Inc.推出Santa Cruz (MAXREFDES23#)环境传感器(ALS),能够在工厂快速配置和监测多路红、绿、蓝(RGB)可见光和红外(IR)信号
    发表于 05-06 06:55

    Si1120红外接近和环境传感器的评估和开发平台

    SI1120EK,用于Si1120红外接近和环境传感器的评估和开发平台
    发表于 06-01 13:49

    基于蓝牙BLE的环境传感器方案

    能力强、低功耗、小体积等优势,非常适合低功耗蓝牙产品的应用。  BLE环境传感器相关参数    BLE射频      使用说明  1、平时定时监测光强度LUX数据(5s/次),定时蓝
    发表于 07-09 11:31

    如何选择一款环境传感器环境传感器有哪些应用?

    环境传感器的基本原理是什么?如何选择一款环境传感器环境
    发表于 05-12 07:24

    环境传感器是如何工作的

    ?改善用户视觉体验;优化图像显示之外;降低显示的消耗,延长电池以及显示的使用寿命。哪里会用到环境传感器?如下图
    发表于 11-10 07:16

    找方案 | 基于ST环境传感器VD6283TX 针对LED投影机光源调变方案

    由于目前LED投影机已经普遍为主流产品,但是由于LED本身会产生闪频,容易造成眼睛疲劳及伤害。因此本方案主要是利用ST新一代VD6283TX环境传感器,具有环境光闪烁频率侦测及提供
    的头像 发表于 12-09 14:39 500次阅读
    找方案 | 基于ST<b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b><b class='flag-5'>VD6283TX</b> 针对LED投影机光源调变方案

    基于ST环境传感器VD6283TX 针对LED投影机光源调变方案

    本方案主要是利用ST新一代VD6283TX 环境传感器,具有环境光闪烁频率侦测及提供环境光RGB数据。利用感测器强大的ADC,将每个颜色数
    的头像 发表于 11-21 17:25 606次阅读
    基于ST<b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b><b class='flag-5'>VD6283TX</b> 针对LED投影机光源调变方案

    VD6283TX环境传感器(1)----获取光强和色温

    为了充分利用VD6283TX传感器的特性和功能,本章节重点介绍了如何捕获光强度和相关色温值。作为ST公司推出的高级色彩感应器,VD6283TX具备同时感测多个频道的能力,这使它成为测量光强度和色温
    的头像 发表于 12-28 10:12 376次阅读
    <b class='flag-5'>VD6283TX</b><b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b>(1)----<b class='flag-5'>获取</b>光强和色温

    VD6283TX环境传感器(2)----移植闪烁频率代码

    100 Hz或120 Hz的闪烁频率。为了消除这种可见闪烁并减少其对人体的潜在影响,许多LED灯采用了脉冲宽度调制(PWM)的调光方法,从而实现更高的闪烁频率。VD6283传感器能够检测高达2 kHz的光闪烁频率,从而为光质量的监测提供精准数据。
    的头像 发表于 12-28 10:17 299次阅读
    <b class='flag-5'>VD6283TX</b><b class='flag-5'>环境</b>光<b class='flag-5'>传感器</b>(2)----移植闪烁频率代码