您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>传感器>

STM32之光敏电阻传感器模块的使用

2017年06月20日 14:12 电子工程世界 作者:佚名 用户评论(0

本实验配合2.2寸TFT液晶屏显示,当光弱的时候显示“昏暗”,光强时显示“明亮”。

实验使用的是下图所示的3线光敏电阻传感器模块,用途:光线亮度检测,光线亮度传感器,智能小车寻光模块。模块特色:比较器输出,信号干净,波形好,驱动能力强,超过15mA;配可调电位器可调节检测光线亮度;输出形式:数字开关量输出(0和1);使用宽电压LM393比较器。

模块使用说明

1、光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;

2、模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;

3、DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;

4、DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关。

各引脚作用如图所示:

本实验中将DO引脚连接到PA0脚,电源连接3.3V电源。

while(1){

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0){

Gui_DrawFont_GBK24(70,80,RED,GRAY0,“明亮”);

}else{

Gui_DrawFont_GBK24(70,80,RED,GRAY0,“阴暗”);

}

delay_ms(100);//延时函数0.1S

}

其中的:Gui_DrawFont_GBK24(70,80,RED,GRAY0,“明亮”);和Gui_DrawFont_GBK24(70,80,RED,GRAY0,“阴暗”);为液晶屏的显示函数,这里不是重点。我么在这里要关注的是if()判断语句,我们通过

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0)

语句来判断是否数据引脚为0(低电平),若是低电平则输出下面的语句,

GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0

STM32的读取引脚函数,引脚配置如下:

GPIO_InitTypeDefGPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//PA0用于光敏电阻GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

实验效果如下:(明亮)

用纸遮挡住阳光后(昏暗)

非常好我支持^.^

(217) 59.8%

不好我反对

(146) 40.2%

( 发表人:方泓翔 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!