精华内容
下载资源
问答
  • 2021-01-13 05:41:36

    光敏传感器实验及探究

    摘要:

    光敏传感器是以光电器件作为转换元件的传感器。它可用于检测光量变化或直

    接引起光量变化的非电量,

    也可用于检测能转换成光量变化的其他非电量。

    它首先把被测量

    的变化转换成光信号的变化,

    然后借助光电元件进一步将光信号转换成电信号。

    光敏传感器

    具有响应快、精度高、能实现非接触测量等优点,而且可测参数多,传感器的结构简单,形

    式灵活多样,因此

    ,

    光电式传感器在检测和控制领域应用非常广泛。

    关键词:

    光敏传感器;检测光量变化;电信号;检测与控制。

    Abstract:

    photoelectric sensor is photoelectric device as a sensor element. It can be used

    for non electric quantity detection light intensity or directly caused by light intensity, and can also

    be used for detection can be converted into other non electrical quantity change. It divides the

    changes measured into optical signal changes, then with the help of optoelectronic devices to

    convert optical signals into electrical signals. Photoelectric sensor has the advantages of fast

    response, high precision, can realize the non-contact measurement etc., and measurable

    parameters, the sensor has the advantages of simple structure, flexible and diverse forms, therefore,

    application of photoelectric sensors in the detection and control field is very wide.

    Key words:

    photoelectric sensor; detection of light intensity; signal; detection and control.

    1

    前言

    传感器是将感受的物理量、

    化学量等信

    息,

    按一定规律转换成便于测量和传输的信

    号的装置。电信号易于传输和处理,所以大

    多数的传感器是将物理量等信息转换成电

    信号输出的。例如传声器就是一种传感器,

    它感受声音的强弱,并转换成相应的电信

    号。

    又如电感式位移传感器能感受位移量的

    变化,并把它转换成相应的电信号。

    光电测量时不与被测对象直接接触,

    束的质量又近似为零,

    在测量中不存在摩擦

    和对被测对象几乎不施加压力。

    因此在许多

    应用场合,

    光电式传感器比其他传感器有明

    显的优越性。

    2

    光敏传感器工作原理

    2.1

    光电效应

    光敏传感器的物理基础是光电效应,

    电效应通常分为外光电效应和内光电效应

    两大类。

    在光辐射作用下电子逸出材料的表

    面,

    产生光电子发射称为外光电效应,

    或光

    电子发射效应,

    基于这种效应的光电器件有

    光电管、

    光电倍增管等。

    电子并不逸出材料

    表面的则是内光电效应,

    几乎大多数光电控

    制应用的传感器都是此类,通常有光敏电

    阻、

    光敏二极管、

    光敏三极管、

    硅光电池等。

    光电导效应、

    光生伏特效应是两种常见的内

    光电效应。

    2.1.1

    光电导效应

    若光照射到某些半导体材料上时,

    透过

    到材料内部的光子能量足够大,

    某些电子吸

    收光子的能量,

    从原来的束缚态变成导电的

    自由态,

    这时在外电场的作用下,

    流过半导

    体的电流会增大,即半导体的电导会增大,

    这种现象叫光电导效应。

    它是一种内光电效

    应。

    光电导效应可分为本征型和杂质型两

    类。

    前者是指能量足够大的光子使电子离开

    价带跃入导带,

    价带中由于电子离开而产生

    空穴,在外电场作用下,

    电子和空穴参与电

    导,

    使电导增加。杂质型光电导效应则是能

    量足够大的光子使施主能级中的电子或受

    主能级中的空穴跃迁到导带或价带,

    从而使

    电导增加。

    杂质型光电导的长波限比本征型

    光电导的要长的多。

    2.1.2

    光生伏特效应

    在无光照时,半导体

    PN

    结内部自建电

    场。当光照射在

    PN

    结及其附近时,在能量

    足够大的光子作用下,

    在结区及其附近就产

    生少数载流子(电子、空穴对)

    。载流子在

    更多相关内容
  • 光敏传感器实验.docx

    2021-01-21 19:46:22
    昆明理工大学光敏传感器实验报告
  • 光敏传感器实验代码

    2018-12-18 11:23:38
    基于stm32F103的光敏传感器,本实验通过ADC3的通道6(PF8)读取光敏传感器(LS1)的电压值,并转换为0~100的光线强度值,显示在LCD 模块上面。光线越亮,值越大;光线越暗,值越小。大家可以用手指遮挡LS1和用手电筒...
  • 利用 ADC3 的通道 6(PF8)来读取光敏二极管电压的变化,从而得到环境光线的变化,并将得到的光线强度,显示在 TFTLCD 上面。
  • 光敏传感器实验

    2021-08-28 18:24:00
    文章目录概述光敏传感器光敏二极管实验程序初始化光敏传感器读取Light Sens的值main函数 概述 光敏传感器 将光信号转换成电信号 敏感波长在可见光波长附近,包括红外波长和紫外波长 种类多 ,光电管、光电倍增管、...

    概述

    光敏传感器

    将光信号转换成电信号
    敏感波长在可见光波长附近,包括红外波长和紫外波长

    种类多 ,光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等

    光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。

    光敏二极管

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

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

    实验程序

    通过ADC3_CH6检测光敏二极管一端电压间接检测光强的目的

    初始化光敏传感器

    void Lsens_Init(void)
    {
      GPIO_InitTypeDef  GPIO_InitStructure;
      RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能PORTF时钟
    	
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;//PA7
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;//模拟输入
      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;//不带上下拉
      GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化 
     
    	Adc3_Init();//初始化ADC3
    }
    

    读取Light Sens的值

    0-100 :值越大,光强越强

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

    main函数

    int main(void)
    { 
     	u8 adcx;
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    	delay_init(168);    
    	uart_init(115200);	
    	LED_Init();					
     	LCD_Init();				
    	Lsens_Init(); 		
    	POINT_COLOR=RED; 
    	LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");	
    	LCD_ShowString(30,70,200,16,16,"LSENS TEST");	
    	LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
    	LCD_ShowString(30,110,200,16,16,"2021/8/28");	  
    	POINT_COLOR=BLUE;//设置字体为蓝色
    	LCD_ShowString(30,130,200,16,16,"LSENS_VAL:");	             
    	while(1)
    	{
    		adcx=Lsens_Get_Val();
    		LCD_ShowxNum(30+10*8,130,adcx,3,16,0);//显示ADC的值
    		LED0=!LED0;
    		delay_ms(250);	
    	}
    }
    
    
    展开全文
  • 购买的探索者开发版资料,学习光敏传感器的使用,并进一步熟悉STM32内部ADC的使用,内中包含LCD液晶屏驱动程序,
  • 一、光敏传感器简介 光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD 和 CMOS ...

    一、光敏传感器简介

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

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

    二、硬件设计

    本实验用到的硬件资源有:
    1) 指示灯 DS0
    2) TFTLCD 模块
    3) ADC
    4) 光敏传感器
    在这里插入图片描述
    图中,LS1 是光敏二极管(实物在开发板摄像头接口右侧),R29 为其提供反向电压,当环境光线变化时,LS1 两端的电压也会随之改变,从而通过 ADC3_IN6 通道,读取LIGHT_SENSOR(PF8)上面的电压,即可得到环境光线的强弱。
    光线越强,电压越低,光线越暗,电压越高。

    三、软件设计

    代码:

    #include "lsens.h"
    #include "delay.h"
    
     
    //初始化光敏传感器
    void Lsens_Init(void)
    {
      GPIO_InitTypeDef GPIO_InitStructure;
    	
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);//使能PORTF时钟	
    	
    	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;//PF8 anolog输入
    	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;		//模拟输入引脚
    	GPIO_Init(GPIOF, &GPIO_InitStructure);	
    	Adc3_Init();
    }
    //读取Light Sens的值
    //0~100:0,最暗;100,最亮 
    u8 Lsens_Get_Val(void)
    {
    	u32 temp_val=0;
    	u8 t;
    	for(t=0;t<LSENS_READ_TIMES;t++)
    	{
    		temp_val+=Get_Adc3(LSENS_ADC_CHX);	//读取ADC值
    		delay_ms(5);
    	}
    	temp_val/=LSENS_READ_TIMES;//得到平均值 
    	if(temp_val>4000)temp_val=4000;
    	return (u8)(100-(temp_val/40));
    }
    
    
    #ifndef __LSENS_H
    #define __LSENS_H	
    #include "sys.h" 
    #include "adc.h" 
      
    #define LSENS_READ_TIMES	10		//定义光敏传感器读取次数,读这么多次,然后取平均值
    #define LSENS_ADC_CHX		ADC_Channel_6	//定义光敏传感器所在的ADC通道编号
        
    void Lsens_Init(void); 				//初始化光敏传感器
    u8 Lsens_Get_Val(void);				//读取光敏传感器的值
    #endif 
    
    #include "led.h"
    #include "delay.h"
    #include "key.h"
    #include "sys.h"
    #include "lcd.h"
    #include "usart.h"	 
    #include "adc.h"
    #include "lsens.h"
     
    
     int main(void)
     {	 
     	u8 adcx; 
    	delay_init();	    	 //延时函数初始化	  
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
    	uart_init(115200);	 	//串口初始化为115200
    	LED_Init();		  		//初始化与LED连接的硬件接口
      	LCD_Init();				//初始化LCD
    	Lsens_Init(); 			//初始化光敏传感器
    	POINT_COLOR=RED;//设置字体为红色  	
    	//显示提示信息											      
    	LCD_ShowString(30,50,200,16,16,"Elite STM32");	
    	LCD_ShowString(30,70,200,16,16,"LSENS TEST");	
    	LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
    	LCD_ShowString(30,110,200,16,16,"2015/1/14");	  
    	POINT_COLOR=BLUE;//设置字体为蓝色
    	LCD_ShowString(30,130,200,16,16,"LSENS_VAL:");	             
    	while(1)
    	{
    		adcx=Lsens_Get_Val();
    		LCD_ShowxNum(30+10*8,130,adcx,3,16,0);//显示ADC的值 
    		LED0=!LED0;
    		delay_ms(250);	
    	}
    }
     
    
    

    四、实验结果

    在这里插入图片描述
    伴随 DS0 的不停闪烁,提示程序在运行。此时光照越强,该值越大,光照越弱,该值越小。

    展开全文
  • STM32学习笔记(二十三)光敏传感器实验

    千次阅读 多人点赞 2021-01-30 18:48:24
    STM32F103ZET6之光敏传感器实验 文章目录STM32F103ZET6之光敏传感器实验前言一、原理1.简介2.ADC通道与引脚关系3.原理图二、相关配置1.相关寄存器2.电压与温度关系3.配置步骤(类似)三、程序源码1.adc.h2.adc.c3....

    STM32F103ZET6之光敏传感器实验



    前言

    对于STM32的学习可分为3个版本。
    1.寄存器版本
    2.库函数版本
    3.HAL库版本
    由于个人原因,选择库函数版本来进行STM32的学习。


    提示:软件安装等问题,不进行讲解!!!

    一、原理

    1.简介

    光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。

    2.ADC通道与引脚关系

    在这里插入图片描述

    3.原理图

    在这里插入图片描述

    二、相关配置

    1.相关寄存器

    ADC 控制寄存器(ADC_CR1 和 ADC_CR2)
    ADC 采样事件寄存器(ADC_SMPR1 和 ADC_SMPR2)
    ADC 规则序列寄存器(ADC_SQR1~3)
    ADC 寄存器为 ADC 状态寄存器(ADC_SR)

    2.电压与温度关系

    在这里插入图片描述

    3.配置步骤(类似)

    在这里插入图片描述

    三、程序源码

    1.adc.h

    代码如下:

    #ifndef __ADC_H
    #define __ADC_H
    
    #include "sys.h"
    
    void Adc_Init(void);//ADC模数转换
    u16 Get_Adc(u8 ch);
    u16 Get_Adc_Average(u8 ch,u8 times);
    
    void T_Adc_Init(void);//内部温度传感器
    short Get_Temperate(void);
    
    void Lsenes_Init(void);//光敏传感器
    void Adc3_Init(void);
    u16 Get_Adc3(u8 ch);
    u8 Lsenes_Get_Val(void);
    
    #endif
    

    2.adc.c

    代码如下:

    #include "adc.h"
    #include "stm32f10x.h"
    #include "delay.h"
    
    void Adc_Init(void)
    {
    	GPIO_InitTypeDef GPIO_InitStruct;
    	ADC_InitTypeDef ADC_InitStruct;
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE);//使能PA时钟和ADC1时钟
    	
    	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;//模拟输入
    	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;
    	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    	GPIO_Init(GPIOA, &GPIO_InitStruct);
    	
    	ADC_DeInit(ADC1);//复位ADC
    	
    	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//72M/6<14M 分频因子
    	
    	ADC_InitStruct.ADC_ContinuousConvMode=DISABLE;//连续模式
      ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;//对齐设置
    	ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//硬件触发
    	ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;//设置为独立模式
    	ADC_InitStruct.ADC_NbrOfChannel=1;//顺序进行规则转换的ADC 通道的数目
    	ADC_InitStruct.ADC_ScanConvMode=DISABLE;
    	ADC_Init(ADC1, &ADC_InitStruct);
    	
    	ADC_Cmd(ADC1, ENABLE);//使能ADC1
    	
    	ADC_ResetCalibration(ADC1);//开启复位校准
    	while(ADC_GetResetCalibrationStatus(ADC1));
    	ADC_StartCalibration(ADC1);//开启AD校准
    	while(ADC_GetCalibrationStatus(ADC1));
    }
    
    u16 Get_Adc(u8 ch)
    {
    	ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5);//配置规则通道
    	ADC_SoftwareStartConvCmd(ADC1, ENABLE);//开启软件转换
    	while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));//等待转换完成
    	return ADC_GetConversionValue(ADC1);
    }
    
    u16 Get_Adc_Average(u8 ch,u8 times)//求平均值
    {
    	u32 temp_val=0;
    	u8 t;
    	for(t=0;t<times;t++)
    	{
    		temp_val+=Get_Adc(ch);
    		delay_ms(5);
    	}
    	return temp_val/times;
    }
    
    void T_Adc_Init(void)
    {
    	ADC_InitTypeDef ADC_InitStruct;
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE);//使能PA时钟和ADC1时钟
    	
    	ADC_DeInit(ADC1);//复位ADC
    	
    	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//72M/6<14M 分频因子
    	
    	ADC_InitStruct.ADC_ContinuousConvMode=DISABLE;//独立模式
      ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;//对齐设置
    	ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//硬件触发
    	ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;//设置为独立模式
    	ADC_InitStruct.ADC_NbrOfChannel=1;//顺序进行规则转换的ADC 通道的数目
    	ADC_InitStruct.ADC_ScanConvMode=DISABLE;
    	ADC_Init(ADC1, &ADC_InitStruct);
    	
    	ADC_TempSensorVrefintCmd(ENABLE);//打开内部温度传感器
    	ADC_Cmd(ADC1, ENABLE);//使能ADC1
    	
    	ADC_ResetCalibration(ADC1);//开启复位校准
    	while(ADC_GetResetCalibrationStatus(ADC1));
    	ADC_StartCalibration(ADC1);//开启AD校准
    	while(ADC_GetCalibrationStatus(ADC1));
    }
    
    short Get_Temperate(void)
    {
    	u32 adcx;
    	short result;
    	double temperate;
    	adcx=Get_Adc_Average(ADC_Channel_16,20);
    	temperate=(float)adcx*(3.3/4096);//电压值
    	temperate=(1.43-temperate)/0.0043+25;//转换为温度值
    	result=temperate*100;
    	return result;
    }
    
    void Adc3_Init(void)
    {
      ADC_InitTypeDef ADC_InitStruct;
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);//ADC3时钟
    	
    	ADC_DeInit(ADC3);//复位ADC
    	
    	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//72M/6<14M 分频因子
    	
    	ADC_InitStruct.ADC_ContinuousConvMode=DISABLE;//独立模式
      ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;//对齐设置
    	ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//硬件触发
    	ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;//设置为独立模式
    	ADC_InitStruct.ADC_NbrOfChannel=1;//顺序进行规则转换的ADC 通道的数目
    	ADC_InitStruct.ADC_ScanConvMode=DISABLE;
    	ADC_Init(ADC3, &ADC_InitStruct);
    	
    	ADC_Cmd(ADC3, ENABLE);//使能ADC3
    	
    	ADC_ResetCalibration(ADC1);//开启复位校准
    	while(ADC_GetResetCalibrationStatus(ADC1));
    	ADC_StartCalibration(ADC1);//开启AD校准
    	while(ADC_GetCalibrationStatus(ADC1));
    }
    void Lsenes_Init(void)
    {
    	GPIO_InitTypeDef GPIO_InitStruct;
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
    	
    	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
    	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8;
    	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    	GPIO_Init(GPIOF, &GPIO_InitStruct);
    	Adc3_Init();
    }
    u16 Get_Adc3(u8 ch)
    {
    	ADC_RegularChannelConfig(ADC3, ch, 1, ADC_SampleTime_239Cycles5);//配置规则通道
    	ADC_SoftwareStartConvCmd(ADC3, ENABLE);//开启软件转换
    	while(!ADC_GetFlagStatus(ADC3, ADC_FLAG_EOC));//等待转换完成
    	return ADC_GetConversionValue(ADC3);
    }
    u8 Lsenes_Get_Val(void)
    {
    	u32 temp_val=0;
    	u8 t;
    	for(t=0;t<10;t++)
    	{
    		temp_val+=Get_Adc3(ADC_Channel_6);
    		delay_ms(5);
    	}
    	temp_val/=10;
    	if(temp_val>4000) temp_val=4000;
    	return (u8)(100-(temp_val/40));
    }
    

    3.main.c

    代码如下:

    #include "led.h"
    #include "delay.h"
    #include "key.h"
    #include "sys.h"
    #include "lcd.h"
    #include "usart.h"
    #include "adc.h"
    
     int main(void)
     {	 
    	u8 adcx;
    	 
    	delay_init();	    	 //延时函数初始化	  
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    	uart_init(115200);	 	//串口初始化为115200
     	LED_Init();			     //LED端口初始化
    	LCD_Init();
    	Lsenes_Init();
    	 
    	POINT_COLOR=RED;//设置字体为红色
    	LCD_ShowString(60,50,200,16,16,"chen");
    	//显示提示信息
    	POINT_COLOR=BLUE;//设置字体为蓝色
    	LCD_ShowString(30,140,200,16,16,"LSENS_VAL:");	
    	 
    	while(1)
    	{
            adcx=Lsenes_Get_Val();
    		LCD_ShowxNum(30+10*8,140,adcx,3,16,0);
    		LED0=!LED0;
    		delay_ms(250);
    	}
    }
    

    实验结果

    adc.c与adc.h为ADC模数转换,内部温度传感器,光敏传感器三合一
    通过 Lsens_Get_Val 获取光敏传感器得到的光强值(0~100),并显示在 TFTLCD 上面(注意计算过程)
    在这里插入图片描述


    总结

    1.看完视频,一定自己写一遍程序。
    2.烧写程序前,对程序进行分析,推理实验现象。
    3.若实验现象与推理不一致,一定要认真分析程序。

    展开全文
  • 光敏只需读取与之相连IO口电平,来判断当前环境是亮还是暗。所以在协议栈增加光敏传感器检 测程序也比较简单,我们只需要配置好IO口,然后周期性检测、输出显示,上传给协调器即 可。
  • 基于ZStack光敏传感器实验

    千次阅读 2020-04-02 08:31:55
    基于ZStack光敏传感器实验 实验目的 通过上位机发指令给协调器,协调器把串口接收到的指令通过Zigbee协议无线发送给带有光敏传感器的终端节点,获取到数据以后把数据返回给上位机。 实验设备 硬件:ZigBee节点2个,...
  • 树莓派基础实验19:光敏传感器实验

    千次阅读 2020-08-04 16:11:51
    光敏传感器模块*1 ★面包板*1 ★跳线若干 三、实验原理   随着光强度的增加,光敏电阻的电阻将降低,因此输出电压降低。由光敏电阻收集的模拟信号通过PCF8591转换为数字信号。然后将这些数字信号传输到树莓派...
  • 光敏电阻传感器实验报告

    千次阅读 2021-01-13 05:41:37
    光敏电阻传感器实验报告 光敏传感器实验报告学院 专业 学号 姓名 时间目 录一、摘要 .1二、设计要求 .3三、方案设计 .51、方案说明 62、方案论证 .7四、光敏电阻的结构和原理 .7五、光敏传感器的工作原理 .8六、电路...
  • 本章介绍STM32F103自带的一个光敏传感器,本章还是用到ADC采集,通过ADC采集电压,获取光敏传感器的电阻变化,从而得出环境光线的变化,并在TFTLCD上面显示出来。 光照越强,电压越小,光照越弱,电压越大。 光敏...
  • CC2530传感器组网实验代码教程 光敏热敏.rar
  • 光敏传感器光电特性研究实验报告光敏电阻光敏特性的研究 一、实验设计方案 、实验目的 1、了解光敏电阻的基本特性,测出它的光照特性曲线。2、学习使用电脑实测。3、学习使用DataStudio软件。4、学习了解设计性...
  • STM32F407实验 光敏传感器实验通过上位机(串口助手)显示
  • * * 光敏传感器的光电特性测量实验 实验简介 光敏传感器是将光信号转换为电信号的传感器,也称为光电式传感器,它可用于检测直接引起光强度变化的非电量,如光强、光照度、辐射测温、气体成分分析等;也可用来检测...
  • 光敏电阻传感器实验报告.doc

    千次阅读 2020-12-21 23:24:23
    光敏传感器实验报告学院:专业:学号:姓名:时间:目 录TOC \o "1-2" \u 一、摘要 1二、设计要求3三、方案设计51、方案说明62、方案论证7四、光敏电阻的结构和原理7五、光敏传感器的工作原理8六、电路的工作原理9七...
  • ADC实验光敏传感器

    2021-05-20 03:24:51
    ADC实验光敏传感器硬件连接 我们可以测量A的电位,进而测量光的强度,光强与A点电压的对应关系如下: 电流反应的光敏二极管的导通状态,光强与电流对应关系如下: 因此,我们可以得出ADC读取的电压值的数字量(12位...
  • 光敏传感器

    2017-12-27 16:39:49
    传感器进行轮询的必要性。两个中断源(ALS,ALS) 饱和)可以激活开漏输出引脚。每个 独立启用中断源。ALS中断 当超过一个或多个阈值时出现。 连续样本读数。 先进的数码彩色光传感器部分的tcs3400 包含用于彩色的...
  • 基于CC2530的光敏传感器代码,基于IAR开发环境,同时有路由器终端协调器代码
  • 使用C语言编写的,用来测试cc2530单片机测光功能的代码,需使用IAR来打开,单片机需连接光敏传感器模块,使用串口调试助手调试。
  • CC2530学习光敏传感器

    千次阅读 2021-11-30 16:40:23
    光敏传感器只需读取与之相连I0口电平,来判断当前环境是亮还是暗。 1、 初始化引脚为输入 2、读取检测到引脚的电平,输出显示,并上传给协调器 3、 接收数据 4、 下载程序,观察结果。
  • STM32f1之光敏电阻传感器实验

    千次阅读 多人点赞 2021-08-08 14:10:06
    光敏电阻传感器模块是对光线敏感度的反应,一般用来检测探头周围光线的强度(亮度),可以通过DO输出数字信号1和0,也可以通过AO口输出模拟信号 调节阈值:我们可以通过旋钮来改变它的阈值,如图 当检测...
  • 51单片机学习 光敏电阻传感器实验

    千次阅读 2022-04-14 21:07:58
    51单片机学习 光敏电阻传感器实验 一、光敏电阻模块简介 光敏电阻传感器模块是对光线敏感度的反应,一般用来检测探头周围光线的强度(亮度),可以通过DO输出数字信号1和0,也可以通过AO口输出模拟信号 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,350
精华内容 540
关键字:

光敏传感器实验