原理

光敏电阻将光强转换成电压信号;
有强时 DO 输出低电平,光弱时 DO 输出高电平;

电源接 5V 时,DO 输出的是 2.6V
不同强度的光强,可以通过调节滑块来改变

光敏电阻实物图

引脚说明

名称 Value
VCC 电源(5V)
GND 地线
OD 输出信号

实现功能

有光时,开发版的LED灯亮,没有光时,灯灭;

原理图

LED灯原理图

将光敏电阻的OD引脚接到开发版的PC13上

配置方法

  • 设置LED的时钟
  • 配置LED的GPIO
    选择GPIO类,GPIO时钟,GPIO具体引脚
//STM32上的LED1 GPIO为PB5#define LED1_GPIO_PORT    GPIOB
#define LED1_GPIO_CLK       RCC_APB2Periph_GPIOB
#define LED1_GPIO_PIN       GPIO_Pin_5#define ON  0
#define OFF 1/* 宏定义实现LED灯的设置*/
#define LED1(a) if (a)  \GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);\else       \GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN)void LED_GPIO_Config(void)
{       GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( LED1_GPIO_CLK, ENABLE);GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
}
  • 配置LDR的时钟
  • 配置LDR的GPIO
#define    LDR_GPIO_CLK       RCC_APB2Periph_GPIOC
#define    LDR_GPIO_PORT    GPIOC
#define    LDR_GPIO_PIN       GPIO_Pin_13void LDR_GPIO_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(LDR_GPIO_CLK,ENABLE);GPIO_InitStructure.GPIO_Pin = LDR_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; GPIO_Init(LDR_GPIO_PORT, &GPIO_InitStructure);
}//检测功能
uint8_t LDR_Test(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{           if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == 1 )  //读取DO数据,如果高,则LDR设置OFF,否则设置ONreturn LDR_OFF;  elsereturn LDR_ON;
}

主函数

int main(void)
{   LED_GPIO_Config();//LED配置LED2_OFF;//LED灯初始化熄灭LDR_GPIO_Config();//光敏配置while(1){     if (LDR_Test(LDR_GPIO_PORT,LDR_GPIO_PIN) == LDR_ON)LED2_ON;  elseLED2_OFF; }
}

参考
野火-YH-LDR光敏传感器模块.pdf

STM32 实现光敏传感器相关推荐

  1. 基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计

    目录 1 项目概述 1.1 项目介绍 1.2 项目开发环境 1.3 小组人员及分工 2 需求分析 2.1 系统需求分析 2.2 可行性分析 2.3 项目实施安排 3 系统硬件设计 3.1 系统整体硬件 ...

  2. STM32的光敏传感器

    STM32的光敏传感器 简介 硬件连接 计算公式 程序 简介 1.照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的.利用这个电流变化,我们串接一个 ...

  3. 【STM32】光敏传感器示例

    00. 目录 文章目录 00. 目录 01. 光敏传感器简介 02. 硬件模块 03. 程序设计 04. 结果验证 05. 预留 06. 附录 07. 声明 01. 光敏传感器简介 光敏传感器是最常见 ...

  4. STM32+BH1750光敏传感器获取光照强度

    一.环境介绍 MCU:  STM32F103ZET6 光敏传感器: BH1750数字传感器(IIC接口) 开发软件: Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较 ...

  5. STM32使用光敏传感器计算光照度Lux,而不是仅仅打印个电压值或者电阻值

    最近项目中用到了光敏电阻.搜索资料,发现很多人都使用光敏电阻,只是用了AD读取了电压值,或者算出了电阻值,就发送给上位机或者服务器,美其名曰获取了光照度. 搜索一番,也没找到用光敏电阻计算Lux的方法 ...

  6. STM32学习笔记(六 定时器及应用 4 光敏传感器实验 )

    一.光敏传感器简介 光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管.光电倍增管.光敏电阻.光敏三极管.太阳能电池.红外线传感器.紫外线传感器.光纤式光电传感器.色彩传感器.CCD 和 C ...

  7. STM32开源代码——光敏传感器

    正点原子精英开发板 模块化封装,入口函数简明,易上手操作 展示main.c代码,完整代码请下载 点击下载代码 #include "led.h" #include "del ...

  8. STM32光敏传感器原理

    发现很多人都使用光敏电阻,但只是用了AD读取了电压值,或者算出了电阻值,就发送给上位机或者服务器,美其名曰获取了光照度,但其原理并...... 图中的 LS1 就是光敏传感器,其实就是一个光敏二极管, ...

  9. STM32学习笔记——EXTI外部中断,光敏传感器控制LED灯

    中断系统 中断:在主程序运行过程中,当出现了特定的中断触发条件,CPU就可以暂停当前正在运行的程序去处理中断程序,并把当前程序的地址压入堆栈,中断程序处理完成后把地址弹出堆栈,回到刚刚暂停的位置继续执 ...

  10. STM32——ADC读取光敏传感器控制LED灯,看门狗中断

    本文介绍两种使用方法 一.编写读取AD值的函数,之后判断AD值,进行相应操作,比如点灯. 二.用ADC读取光敏传感器AO口输出,并配置ADC通道看门狗监控这条通道,当光线太暗时打开LED灯. 之后会再 ...

最新文章

  1. 图论-最短路Dijkstra算法详解超详 有图解
  2. android 记一次富文本加载之路
  3. Dapr项目应用探索
  4. 读取Mc1000的 唯一 ID 机器号
  5. 药学专业报计算机一级有用吗,全网友泣泪劝阻!高考结束之后,什么专业千万不能报?...
  6. 深入分析八种前景看好的物联网业务形态
  7. 知乎:为什么魂斗罗只有128KB却可以实现那么长的剧情?
  8. linux睡眠进程,linux一个进程如何睡眠
  9. JavaScript的三大基本操作案例讲解
  10. Vue-Less的自动和手动引入
  11. [蓝桥杯]基础练习 回文数
  12. 使用Angular Router导航基础
  13. 大数据工程师简历怎么写,更受到HR青睐?
  14. 小样本学习(FSL):Few-shot Learning 综述【模型微调(Fine-tunning)、数据增强、迁移学习(Transfer Learning)】
  15. 微信查询四六级成绩代码
  16. 初中计算机教学进度表,信息技术教学计划范文
  17. H3CNE-生成树协议(STP)
  18. 2016.7.31整机升级计划
  19. 两部苹果手机同步照片_如何将旧苹果手机音乐里面的歌曲同步到新苹果手机上...
  20. BCAST是什么意思啊

热门文章

  1. 电脑重启命令c语言,命令提示符重启电脑_命令提示符 重启
  2. JAVA调用梦网云通讯平台API实现短信发送
  3. 软件测试记录表模版,简单软件测试报告模板.doc
  4. 2020-12-30 PMP 群内练习题 - 光环
  5. 教你如何保存有妖气漫画
  6. 一款比较好看的javascript轮播图代码
  7. qt视频教程qt入门教程嵌入式linux应用开发qt编程开发,QT项目实战教程-Qt应用项目实例开发视频教程...
  8. QT视频教程系列:QuickTester概述
  9. 常见Cron表达式表达式生成器
  10. 10分钟搞懂CMMI