本试验合作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_InitTypeDef GPIO_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);
试验作用如下:(亮堂)
用纸遮挡住阳光后(暗淡)
- STM32单片机中文官网
- STM32单片机官方开发工具
- STM32单片机参阅规划