请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32f1之光敏电阻传感器实验

[复制链接]
STMCU小助手 发布时间:2022-5-14 21:00
一、光敏电阻模块简介
光敏电阻传感器模块是对光线敏感度的反应,一般用来检测探头周围光线的强度(亮度),可以通过DO输出数字信号1和0,也可以通过AO口输出模拟信号

GH5292LW(_Ow3XFG62R$T.png

调节阈值:我们可以通过旋钮来改变它的阈值,如图

20210808141523914.png


当检测到周围光线较暗时(在阈值范围内),DO口输出高电平,电压大;当检测到周围光线较亮时(超过我们设定的阈值),DO口输出低电平,电压小。

AO口作为模拟信号输出,可以连接到单片机上拥有的AD转换模块或者外置AD转换模块,通过转换,就可以得到更为精准的光线亮度数值。

这里我主要是用DO口做一个简单的实验,方便大家理解。

二、实验过程
在这里我主要是采用PD11作为DO输入口

光敏模块初始化:

  1. #include "gm.h"


  2. void gm_Init(void)
  3. {

  4. GPIO_InitTypeDef  GPIO_InitStructure;
  5.          
  6. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);        
  7.         
  8. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                                 
  9. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                 
  10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               
  11. GPIO_Init(GPIOD, &GPIO_InitStructure);                                         
  12. GPIO_SetBits(GPIOD,GPIO_Pin_11);                                                

  13. }
复制代码

头文件声明:

  1. #ifndef __GM_H
  2. #define __GM_H
  3. #include "sys.h"

  4. #define gm PDin(11)
  5. void gm_Init(void);

  6. #endif
复制代码

主函数:

  1. #include "led.h"
  2. #include "gm.h"


  3. int main(void)
  4. {        
  5.         delay_init();            
  6.         LED_Init();                  
  7.          gm_Init();
  8.         while(1)
  9.         {
  10.                 if(gm==1)
  11.                 {
  12.                         LED0=1;
  13.                         LED1=1;
  14.                 }
  15.                 if(gm==0)
  16.                 {
  17.                 delay_ms(50);
  18.                 if(gm==0)
  19.                 {
  20.                         LED0=0;
  21.                         LED1=0;
  22.                 }
  23.                 }
  24.         }
  25. }
复制代码

实验截图:

[XQB]KS`V90K7I$AM7(RDC7.png

M7TMP{@CD8Y5$}BIC3_L2WC.png

三、总结

到这里就很清晰明了了,开始上手吧,关于光敏模块的用途,就是检测光线强度,我们添加光敏模块,很多地方都可以用到,比如像去年的无线充电小车,将光敏模块放置在LED灯前,小车充完电,灯亮起,光敏感应到后启动电机;又比如走廊里的灯亮灭设置等等,用途很广泛。


收藏 评论0 发布时间:2022-5-14 21:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版