ADC实验之光敏传感器

您所在的位置:网站首页 adc运算 ADC实验之光敏传感器

ADC实验之光敏传感器

2023-12-18 07:16| 来源: 网络整理| 查看: 265

ADC实验之光敏传感器 硬件连接

 

我们可以测量A的电位,进而测量光的强度,光强与A点电压的对应关系如下:

 

电流反应的光敏二极管的导通状态,光强与电流对应关系如下:

 

因此,我们可以得出ADC读取的电压值的数字量(12位)与光照强度的关系:

 

软件配置(采用单通道单次转换的ADC) Main.c #include "stm32f10x.h" #include "delay.h" #include "lcd.h" #include "usart.h" #include "LightSensor.h" int main() { u8 LightSensor = 0; delay_init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); LightSensor_InitConfig(); uart_init(115200); LCD_Init(); while(1) { LightSensor = DigitalConvLight(); printf("LightSensor = %d\n",LightSensor); LCD_ShowNum(10,10,LightSensor,4,16); delay_ms(50); } }

 

LightSensor.c #include "LightSensor.h" #include "stm32f10x.h" #include "delay.h" void LightSensor_InitConfig() { ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3|RCC_APB2Periph_GPIOF,ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOF,&GPIO_InitStructure); ADC_DeInit(ADC3); // ADC3复位 RCC_ADCCLKConfig(RCC_PCLK2_Div6); // ADC正常工作的频率=4000?4000:temp; return temp; } u8 DigitalConvLight() { u8 i = 0; float temp = 0; while(i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3