一、光敏传感器原理

1、光敏传感器简介

光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等。光电传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测计数中占有非常重要的地位。光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不知局限于对光的探测,它还可以作为探测元件组成其它传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。

光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流电子的密度增加。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。

简而言之:照射光敏二极管的光强不同,通过光敏二级管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的。

利用这个电流变化,我们串联一个电阻,就可以转换成电压的变化,从而通过ADC读取电压值,判断外部光线的强弱。

探索者STM32F407板载了一个光敏二极管(光敏电阻),作为光敏传感器,它对光的变化十分敏感。

2、硬件连接

LS1即为光敏二极管。光敏二极管一端接地,另一端接电阻再接到高电平。当无光照射时,光敏二极管与电阻的接点处电压与高电平VCC3.3相同;当有光照射时,二极管产生电流,会分一部分电压,二极管与电阻的接点处电压降低。可以检测该接点的电压变化来检测光照强弱。图中将接点处引出并接一个电阻,再连接PF7对应ADC3(通道5)。因此可以通过ADC测量通道5的电压得到光照的强弱。

二、实验(通过ADC3_CH5来检测光敏二极管一端的电压变化来达到检测光强的目的)

为巩固基础代码,这里将再写一遍ADC的配置代码:

void Adc3_Init(void)
{GPIO_InitTypeDef GPIO_InitABC;ADC_CommonlnitTypeDef ADC_CommonlnitInitABC;ADC_InitTypeDef ADC_InitABC;RCC_AHB1PeriphColckCmd(RCC_AHB1Periph_GPIOF,ENABLE);//使能GPIOF时钟RCC_APB2PeriphhClockCmd(RCC_APB2Periph_ADC3,ENABLE);//使能ADC3时钟RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3,ENABLE);//ADC3复位RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3,DISABLE);//复位结束GPIO_InitABC.GPIO_Pin=GPIO_Pin_7;//PF7,通道5GPIO_InitABC.GPIO_Mode=GPIO_Mode_AN;//模拟输入GPIO_InitABC.GPIO_PuPd=GPIO_PuPd-NOPULL;//不带上下拉GPIO_Init(GPIOF,&GPIO_InitABC);ADC_CommonlnitABC.ADC_Mode=ADC_Mode_Independent;//独立模式ADC_CommonlnitABC.ADC_TwoSamplingDelay=ADC_DMA_TwoSamplingDelay_5Cycles;//两个采样阶段之间的延迟5个周期ADC_CommonlnitABC.ADC_DMAAccessMode=ADC_DAMAccessMode_Disable;//DMA失能ADC_COmmonlnitABC.ADC_Prescaler=ADC_Prescaler_Div4;//预分频4,注意分频后不能超过36MADC_Commonlnit(&ADC_CommonlnitABC);ADC_InitABC.ADC_Resolution=ADC_Resolution_12b;//12位分辨率模式ADC_InitABC.ADC_ScanConvMode=DISABLE;//非扫描模式ADC_InitABC.ADC_ContinousConvMode=DISABLE;//关闭连续转换ADC_InitABC.ADC_ExternalTrigCovEdge=ADC_ExternalTrigConvEdge_None;//禁止触发检测,使用软件触发ADC_InitABC.ADC_DataAlign=ADC_DataAlign_Right;//右对齐ADC_InitABC.ADC_NbrOfConversion=1;//1个转换在规则序列中ADC_Init(ADC3,&ADC_InitABC);ADC_Cmd(ADC3,ENABLE);//开启ADC转换器
}

读取ADC3的值:

u16 Get_Adc3(u8 ch)
{ADC_RegualrChannelConfig(ADC3,ch,1,ADC_SampleTime_480Cycles);//ADC3,ADC通道,480个周期,提高采样时间提高精确度ADC_SofewareStartConv(ADC3);//使能指定的ADC3的软件转换启动器while(!ADC_GetFlagStatus(ADC3,ADC_FLAG_EOC));//等待转换结束return ADC_GetConversionValue(ADC3);//返回最近一次ADC3规则组的转换结果
}

读取ADC值,转换成相应的光强:

u8 Lsense_Get_Val(void)//0~100:0最暗,100最亮
{u32 temp_val=0;u8 t;for(t=0;t<LSENS_READ_TIMES;t++){temp_val+=Get_Adc3(ADC_Channel_5);//读取ADC值,通道5delay_ms(5);}temp_val/=LSENS_READ_TIMES;//得到平均值if(temp_val>4000)  temp_val=4000;return (u8)(100-(temp_val/40));
}
//LSENS_READ_TIMES  10

最暗的时候接点处电压最高,最亮的时候接点处电压最低。

主函数调用Lsens_Init()即可。然后将获得的值显示在液晶屏上就可以了。

光敏传感器的用处:可以用光敏传感器控制液晶的背光。类似于手机自动调节屏幕亮度。

STM32——光敏传感器实验-M4相关推荐

  1. (27)STM32——光敏传感器实验笔记

    目录 学习目标 运行结果 内容 介绍 配置 代码 总结 学习目标 我们这篇文章介绍的是有关光敏传感器的知识点,本节内容比较简单,主要的知识还是我们的ADC,而且我们在51单片机也介绍过相应的知识,感兴 ...

  2. STM32光敏传感器实验

    本章所要实现的功能是:通过 ADC3 通道 6 采集光敏传感器的 AD 值,并将该 值转换为光照强度值 0-100,0 对应最暗,100 对应最亮,并通过串口 1 输出光 照强度值,DS0 指示灯闪烁 ...

  3. stm32 adc输入电压范围_正点原子【STM32-F407探索者】第二十五章 光敏传感器实验...

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 本章我们将向大家介绍探索者 STM32F4 开发板自带的 ...

  4. 光敏传感器实验报告_光敏传感器实验论文-大物实验

    光敏传感器实验及探究 摘要: 光敏传感器是以光电器件作为转换元件的传感器.它可用于检测光量变化或直 接引起光量变化的非电量, 也可用于检测能转换成光量变化的其他非电量. 它首先把被测量 的变化转换成光 ...

  5. 内部温度传感器和光敏传感器实验

    内部温度传感器 STM32F407 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA).该温度传感器在内部和 ADC1_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值. ...

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

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

  7. 光敏传感器实验报告_光敏传感器光电特性测量实验分析报告.ppt

    思考题 1.光电效应有哪些分类? 光电效应可以分为外光电效应和内光电效应. 2.光敏电阻的物理基础是什么? 内光电效应. * * 光敏传感器的光电特性测量实验 实验简介 光敏传感器是将光信号转换为电信 ...

  8. STM32光敏传感器原理

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

  9. Arduin光敏传感器实验

    相关资料链接 链接:https://pan.baidu.com/s/1eE0rkaSJsKJMU_RUorS5OA 提取码:3ujh 1.1 项目介绍: 光敏传感器它对环境光线最敏感,S输出一个模拟信 ...

最新文章

  1. 程序员成长的本质,就是一步步靠近商业
  2. 185页深度报告 扒一扒AI金融的老底【附下载】
  3. 什么是formal method的invarient
  4. html 对话框 flatballoon,CSS纯样式实现箭头、对话框等形状
  5. HBase(2) Java 操作 HBase 教程
  6. 结组开发项目(TD学生助手)
  7. SharePoint 2010 中有个新的列表模板“导入电子表格”可以直接导入Excel数据并创建为列表 ....
  8. python opencv 学习笔记
  9. python 函数定义位置_PYTHON--函数定义
  10. WindowsXP、Windows2003本地密码清除方法
  11. flash声音播放-Sound
  12. 数模电路基础知识 —— 3. 常见电路符号说明(电容、电阻、电感)
  13. Windows 2008 Server线程池前瞻(原创)
  14. android 局域网 发现,局域网内android设备发现及通讯
  15. VSCode lua插件LuaHelper
  16. Win10 下使用Telnet命令,打开telnet功能
  17. 一次当晋级评委的经历
  18. “外卖”----隐形非物质文化遗产
  19. i58400升级可以换什么cpu_为什么明星经常换发型发质还那么好?只要学会这一点,你也可以...
  20. python 移动一个文件或目录

热门文章

  1. 补天SRC漏洞数排名
  2. Arduino实现数码管动态显示
  3. CSUOJ 1644 超能陆战队
  4. python中x、y=y、x_浅谈 (x, y) = (y, x)
  5. Date类对象与字符串的互相转换
  6. B2B企业的5大数字化转型战略
  7. 阿里/腾讯云静默安装Oracle11G超级详细教程
  8. map操作 java,Java中Map基本操作
  9. html布局自然流加浮动,CSS浮动的使用和解决浮动的五种方法
  10. css浮动布局自适应,CSS 几种常用自适应布局