mmuyu 发表于 2023-9-9 21:32:54

使用光敏电阻模拟光照度传感器

本帖最后由 mmuyu 于 2023-9-9 21:34 编辑

    光照光感器是一种用于检测光线强度或光照水平的电子元件。它们基于材料对光敏感度的变化,随着光线强度的变化而改变电阻或输出电压。这些传感器通常用于测量环境中的光照水平,以便进行自动控制、监测和反馈。

光照传感器可以使用的场景有很多 如:

环境亮度监测:根据环境光线水平自动调整室内或室外照明亮度。

自动化控制:光照传感器可以用来触发自动化流程,如打开或关闭窗帘、开启或关闭夜间照明。

太阳能能源管理:光照光感器可以用来监测太阳辐射的强度,以优化太阳能电池板的效能和能源产生。

安全系统:光照光感器也可以用于安全系统,例如在**和黑夜自动切换监控摄像头的红外灯光,以保持监控的清晰度。

可见光照传感器各种应用中都起到了重要作用,下面我们看一看怎么使用光敏电阻来采集环境光亮度。

我们最常使用的光敏电阻,在亮度高的时候电阻值降低,在亮度暗的时候,阻值上升,因此我们可以搭建一个简单的电路,利用adc采集电压来获取环境光亮度。

要想adc采集数值随着环境光亮度上升而上升,随环境光亮度下降而下降,我们可以按以下的接法,搭建一个模拟电路。

vcc----光敏电阻----分压电阻----gnd
                           |
                           |
                  adc采集端口

按这样的接法,在光照上升的时候,阻值降低,光敏电阻电压下降,分压电阻电压上升,因此我们可以采集到更高的电压,这也意味着数值上升了。

下面我们创建一个设备,使用0-4096范围的数值数据点来展示我们的光照值。



接下来,我们初始化adc和编写采样代码来获取adc采样值。

基础的项目移植,项目配置这里就不展示了。

adc初始化代码:




这里我的端口接到了PA0 因此对adc的通道1进行采样

adc数值获取代码:




因为上面初始化adc关闭了自动采样,因此我们使用软件采样来获取adc值,每次获取后开启。

接下来,我们在userhandle里以500ms上传采样数值。

代码截图:




编译,上传到mcu,然后我们就可以到app查看显示效果了。



页: [1]
查看完整版本: 使用光敏电阻模拟光照度传感器