单片机
返回首页

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

2017-06-04 来源:eefocus

本实验配合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);


实验效果如下:(明亮)

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


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章