一、TEMT6000光照强度传感器
该传感器用于测量环境光强度。它具有很高的灵敏度,达到570nm,而且对红外光谱具有抑制作用
原理图
工作原理
TEMT6000是一个三极管类型的光敏传感器,其光照强度和基极的电流成正比。当光线照射在半导体材料上时,会产生电荷,从而改变电阻值。TEMT6000中包含一个敏感元件(光敏电阻器)和一个滤光片,用于选择感兴趣的光谱范围。当环境光照射在敏感元件上时,电阻值会随之变化。因此,可以通过测量TEMT6000的电阻值来确定环境光强度。
应用领域
TEMT6000对可见光照度的反应特性与人眼的特性类似,可以模拟人对环境光线的强度的判断,从而方便做出与人友好互动的应用。它可以应用于照明控制、屏幕背光控制等领域23。
技术规格
- 工作电压:3.3~5.5V
- 工作温度:-40~85°C
- 照度范围:1 -- 1000Lux
- 输出信号:模拟电压,在5V工作电压情况下范围为0 -- 5V
使用方法
-
硬件连接:将TEMT6000传感器与微控制器连接。通常,TEMT6000有三个引脚:VCC(供电)、GND(地)和OUT(输出)。将VCC引脚连接到微控制器的电源引脚,GND引脚连接到微控制器的地引脚,OUT引脚连接到微控制器的模拟输入引脚。
-
引脚配置:根据你所使用的微控制器的规格和引脚功能,配置相应的引脚为输入或输出模式。
-
读取传感器数据:使用微控制器的模拟输入功能,读取TEMT6000传感器输出的模拟电压值。可以使用相应的模拟输入库函数或编写自定义代码来读取模拟电压值
二、cubeMX配置
1、新建工程
可以参考我的新建工程系列教程
2、配置ADC
3、配置串口
可以参考我的文章,配置串口教程以及如何重定向串口。重定向串口之后即可直接使用【printf】函数直接向串口发送数据
三、编写代码
main函数中
cpp
/* USER CODE BEGIN 2 */
int ADC_value = 0 ;
float voltage = 0 ;
/* USER CODE END 2 */
while中
cpp
HAL_ADC_Start(&hadc1); //开始ADC转换
HAL_ADC_PollForConversion(&hadc1,100); //等待ADC转换完成,第二个参数表示超时时间,单位ms
ADC_value = HAL_ADC_GetValue(&hadc1);//获取ADC采样值
voltage = (float)(ADC_value *3.3/4096);//ADC采样值到电压的转换
printf("亮度:%.3f\r\n",voltage);
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);
HAL_Delay(200);
四、运行效果
PA8引脚接了LED灯,我们通过代码不断翻转电平实现灯光闪烁,并把光照度传感器放在旁边,就看到串口软件接收到如下数据
下载工程
提取码:6666https://pan.baidu.com/s/1uz06TTddAXQTQXIygELQqg?pwd=6666