jeans是什么意思| 什么东西一吃就死| 赞聊是什么意思| michaelkors是什么牌子| 8月30号什么星座| 女属猪的和什么属相最配| 股票换手率是什么意思| 朋友梦到我怀孕了是什么意思| 什么水果不上火| 死板是什么意思| 织女是什么意思| 苦丁茶有什么作用和功效| 南通在江苏什么位置| 男人忽冷忽热说明什么| 总胆红素高说明什么| icd是什么意思| 做完无痛人流需要注意什么| 抵触是什么意思| 纷呈是什么意思| 真金白银是什么意思| 吃什么药可以推迟月经| 什么什么千山| 6个月宝宝可以吃什么辅食| 管理的本质是什么| 头孢有什么作用| 肉苁蓉与什么搭配好| 吃什么补营养最快| 丰富多腔的腔是什么意思| 什么然起什么| 早上起来头晕是什么原因| 定夺是什么意思| 梦见下雨是什么征兆| 老年人腿疼是什么原因引起的| 斜视是什么症状| 山竹里面黄黄的是什么可以吃吗| 为什么割包皮| 囊肿是什么病严重吗| 桑枝是什么| 做梦梦到乌龟是什么预兆| 江小白是什么酒| 狗牯脑茶属于什么茶| 3月2日什么星座| 渡人是什么意思| 脚发热是什么原因| 痤疮用什么药膏最好| 下午五六点是什么时辰| 男生下面疼是什么原因| eland是什么牌子| 经常肚子疼是什么原因| 右侧卵巢内囊性回声是什么意思| 1.12是什么星座| 印模是什么意思| 70年产权是从什么时候开始算| 生长激素分泌的高峰期是什么时候| 咀嚼什么意思| 什么欲滴| 榴莲有什么营养| 强肉弱食是什么意思| 家庭烧烤准备什么食材| 非萎缩性胃炎伴糜烂是什么意思| 鸡蛋补充什么营养| 少一个睾丸有什么影响| 尿发黄是什么原因男性| 赵本山是什么学历| havva是什么牌子| 祎字五行属什么| 做梦梦到老婆出轨是什么意思| 二尖瓣钙化是什么意思| 两个马念什么字| 人为什么会中暑| 丙辰日是什么意思| 里急后重什么意思| ear什么意思| 四大发明有什么| 第一颗原子弹叫什么| mru是什么检查| 多吃什么可以长高| 什么是烂尾楼| 意外是什么意思| 输卵管造影什么时候检查最好| 炖排骨放什么调料| 制作人是干什么的| 桂味是什么| 什么是翘舌音| 为什么一同房就出血| 糙皮病是什么病| mri检查是什么意思| 一般手脚慢进什么工厂| 紧张是什么意思| 产后第一次来月经是什么颜色| 治安大队是干什么的| 骨质欠规整是什么意思| 男人吃四环素治什么病| kobe是什么意思| 王字加一笔是什么字| 所言极是是什么意思| 鸭子喜欢吃什么| 颠勺是什么意思| 什么导航好用又准确| 间歇性跛行见于什么病| 孕妇用什么驱蚊最好| 嘌呤是什么意思| 头发掉的严重是什么原因| 为什么老做梦| 极差是什么| ds什么意思| 脉涩是什么意思| 呕吐发烧吃什么药| 八纲辨证中的八纲是什么| 血沉偏高是什么原因| 黄瓜可以和什么一起榨汁| 室性期前收缩是什么意思| 跖疣是什么| 方巾是干什么用的| 北京户口有什么好处| 男生射精是什么感觉| 皱纹是什么意思| 脚气用什么药膏最好| 双侧胸膜局限性增厚是什么意思| 肝不好有什么症状表现| 煎牛排用什么锅| 思维敏捷是什么意思| 巴宝莉属于什么档次| 香蕉不能和什么水果一起吃| 恺字五行属什么| 什么的成长| 为什么一直流鼻血| 亿后面是什么单位| 做可乐鸡翅用什么可乐| 多吃青菜有什么好处| 男人是女人的什么| 暗经是什么意思| 马蜂菜什么人不能吃| 中医师承是什么意思| 什么情况需要做肠镜| 肾在什么位置图片| 结石是什么| 糖尿病是什么原因造成的| zq是什么意思| 胆红素高是什么原因引起的| 松脂是什么| 11.20是什么星座| 红旗代表什么生肖| 劳伦斯属于什么档次| 什么的天空填合适的词| 吃什么调理卵巢早衰| 资金流入股价下跌为什么| feno是什么检查| cd ts 什么意思| 什么人不洗澡| 手术后吃什么恢复快| 什么体质容易高原反应| 肝脏多发囊肿什么意思| 丁胺卡那又叫什么药名| 马眼是什么意思| 戒烟有什么方法| 静脉炎吃什么药| 吃黑木耳有什么好处| 煞北是什么意思| 爱爱是什么意思| 肺结节吃什么食物散结节最快| 凤梨不能和什么一起吃| 吃杏子有什么好处| 降钙素原检测是查什么的| 壅是什么意思| 广州有什么美食| xxs是什么意思| 高血脂是什么意思| 康普茶是什么| 6月18是什么日子| 越南说什么语言| 姑姑叫我什么| 吃什么会回奶| 脖子上长痘痘什么原因| 水果皇后是什么水果| 长期喝茶有什么危害| 5月10号是什么日子| 诸葛亮属相是什么生肖| 鼻子里面痒是什么原因| 茶宠为什么会变色| 什么牌子的氨基酸洗面奶好| 湫是什么意思| 女性分泌物增多发黄是什么原因| 开除是什么意思| 肾阴虚吃什么| 吃什么水果容易排便| 武松打的是什么虎| 吃什么消炎药可以喝酒| 喜闻乐见什么意思| 眼睛有什么颜色| 风湿吃什么药| 先兆性流产有什么症状| 黄鼠狼的天敌是什么动物| 勃起不够硬吃什么药| 清洁度二度是什么意思| 放屁多是什么原因| 满月送孩子什么礼物好| 便宜的反义词是什么| 什么啤酒度数高| 幼儿园什么时候开学| 肠胃不好吃什么药效果好| 什么时候割包皮最好| 火葬场是什么生肖| 大排畸和四维的区别是什么| 眼睛下面有痣代表什么| 4.20什么星座| 床上有横梁有什么害处| 西兰花和什么菜搭配| 温饱是什么意思| 什么草药可以止痒| 鸡婆是什么意思| 雪青色是什么颜色| 创面是什么意思| 口腔医学技术是什么| 酌情是什么意思| 右肺纤维灶是什么意思| 上相是什么意思| 用酒擦身体有什么好处| 377是什么| 谷草谷丙比值偏高说明什么| zgo手表是什么牌子| 什么长什么去| 6点是什么时辰| 内分泌代谢科是看什么病的| 女予念什么| 排卵期是什么时候开始算| 齐天大圣是什么意思| 霸王龙的后代是什么| 一头雾水什么意思| 姜子牙为什么没有封神| 9.25什么星座| zutter是什么意思| 江字五行属什么| 什么是阿尔兹海默症| 赘疣是什么意思| 牛仔裤配什么鞋好看| 柯字五行属什么| 头发硬是什么原因| 视网膜脱落有什么症状| 上吐下泻吃什么好| 1月26号是什么星座| 商朝后面是什么朝代| 回肠荡气什么意思| 六月初六是什么日子| 一个彭一个瓦念什么| 血脂高吃什么药最好| 新陈代谢慢吃什么药| 老是拉肚子是什么原因| 精明是什么意思| 小孩脚抽筋是什么原因引起的| 滑膜炎是什么病| 少校是什么级别| 月经提前10天正常吗是什么原因| rolls是什么意思| 湖南为什么叫湖南| 口腔溃疡是什么原因| 抗核抗体是检查什么的| 高血压三级是什么意思| 高血压头晕吃什么药| 什么的浪花| 副县长是什么级别| 甲亢有什么反应| 山的五行属什么| 卡拉是什么意思| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? STM32 ? 【原创】光敏传感器控制LED灯强度--from业

共3条 1/1 1 跳转至

【原创】光敏传感器控制LED灯强度--from业

工程师
2025-08-04 23:05:14     打赏
百度 另外,基于对行业深入客观的研究,以及广泛的市场调研,本届投中年会还重磅发布了投中2017年并购系列榜单:

光敏传感器介绍

图片1.png

产品接线说明:VCC 接电源正极 3.3-5VGND 接电源负极DO TTL 开关信号输出 (配置为输出模式)AO 模拟信号输出(ADC采样通道)

光敏传感器主要用于检测周围的光照强度,光照强度发生变化那么ADC采样的值也会发送变化。

光敏传感器工作原理和原理图

图片2.png

spacer.gif光敏传感器的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出.

ADC对光敏传感器的原理

在使用STM32微控制器时,是通过配置ADC的输入通道、采样频率等参数来实现对光敏传感器信号的采集。

单片机内置的ADC通过将光敏电阻输出的模拟信号转换成为数字信号,从而使得单片机快速的识别并处理光信号,从而实现光敏电阻来控制其他器件。

同时还需要注意ADC的引脚定义和通道,每个引脚都有定义的专用通道,ADC的引脚定义及所对应的通道有如下10种:

1721314858735079.png

STM32F103C8T6开发板、光敏传感器、LED灯、OLED显示屏、杜邦线若干

1721314914610519.png


编写代码

配置ADC代码:

void AD_Init(void)

{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //开启ADC1的时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟

/*设置ADC时钟选择时钟6分频,ADCCLK = 72MHz / 6 = 12MHz */

RCC_ADCCLKConfig(RCC_PCLK2_Div6);  

/*GPIO初始化PA3引脚初始化为模拟输入*/

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

/*规则组通道配置规则组序列1的位置,配置为通道3*/

ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 1, ADC_SampleTime_55Cycles5);

/*ADC初始化将结构体变量交给ADC_Init,配置ADC1*/

ADC_InitTypeDef ADC_InitStructure;      //定义结构体变量

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //模式,选择独立模式,即单独使用ADC1

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //数据对齐,选择右对齐

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

//外部触发,我们使用软件触发,不需要外部触发

ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //连续转换,选择失能,每转换一次规则组序列后停止

ADC_InitStructure.ADC_ScanConvMode = DISABLE;   //扫描模式,选择失能,只转换规则组的序列1这一个位置

ADC_InitStructure.ADC_NbrOfChannel = 1;     //通道数,为1,仅在扫描模式下,才需要指定大于1的数,在非扫描模式下,只能是1

ADC_Init(ADC1, &ADC_InitStructure);

/*使能ADC1,ADC开始运行 */

ADC_Cmd(ADC1, ENABLE);

/*ADC校准内部有电路会自动执行校准*/

ADC_ResetCalibration(ADC1);

while (ADC_GetResetCalibrationStatus(ADC1) == SET);

ADC_StartCalibration(ADC1);

while (ADC_GetCalibrationStatus(ADC1) == SET);

}

/**获取AD转换的值AD转换的值,范围:0~4095*/

uint16_t AD_GetValue3(void)

{

ADC_SoftwareStartConvCmd(ADC1, ENABLE); //软件触发AD转换一次

while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);  //等待EOC标志位,即等待AD转换结束

return ADC_GetConversionValue(ADC1); //读数据寄存器,得到AD转换的结果

}

配置PWM代码:

void PWM_Init(void)

{

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);   //开启TIM2的时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  //开启GPIOA的时钟


/*GPIO初始化PA0引脚初始化为复用推挽输出受外设控制的引脚,均需要配置为复用模式*/

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;     //LED的引脚接口,目的是将两者联系起来

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

/*配置时钟源选择TIM2为内部时钟*/

TIM_InternalClockConfig(TIM2);

/*时基单元初始化*/

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; //定义结构体变量

TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;     //时钟分频,我们选择不分频,此参数用于配置滤波器时钟,不影响时基单元功能

TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;

//计数器模式,选择向上计数

TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;  //计数周期,即ARR的值

TIM_TimeBaseInitStructure.TIM_Prescaler = 720 - 1;//预分频器,即PSC的值

TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;   //重复计数器,高级定时器才会用到

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);   //将结构体变量交给TIM_TimeBaseInit,配置TIM2的时基单元

/*输出比较初始化*/

TIM_OCInitTypeDef TIM_OCInitStructure;   //定义结构体变量

TIM_OCStructInit(&TIM_OCInitStructure); //结构体初始化,若结构体没有完整赋值则最好执行此函数,给结构体所有成员都赋一个默认值避免结构体初值不确定的问题

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;   //输出比较模式,选择PWM模式1

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;   //输出极性,选择为高,若选择极性为低,则输出高低电平取反

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //输出使能

TIM_OCInitStructure.TIM_Pulse = 0;      //初始的CCR值

TIM_OC1Init(TIM2, &TIM_OCInitStructure); //配置TIM2的输出比较通道1

/*使能TIM2,定时器开始运行*/

TIM_Cmd(TIM2, ENABLE);

}

/**PWM设置CCR,定义Compare要写入的CCR的值,范围:0~100,同时CCR和ARR共同决定占空比。此函数仅设置CCR的值,并不直接是占空比占空比Duty = CCR / (ARR + 1) */

void PWM_SetCompare1(uint16_t Compare)   //相当于设置占空比

{

TIM_SetCompare1(TIM2, Compare);

}

主函数代码:

#include "stm32f10x.h"    // Device header

#include "OLED.h"

#include "AD.h"

#include "PWM.h"

#include "LED.h"

uint16_t ADValue,Compare;

float Voltage;

int main(void)

{

OLED_Init();

PWM_Init();

AD_Init();

OLED_ShowString(1,1,"Num:0.00V");

while(1)

{

ADValue = AD_GetValue3();     //获取AD转换的值

Voltage = (float)ADValue / 4095 * 3.3;  //转化成电压值

Compare = Voltage * 30;    //电压值转换成占空比的ARR


OLED_ShowNum(1,5,Voltage,1);    //小数点前的数

OLED_ShowNum(1,7,(uint32_t)(Voltage*100)%100,2); //小数点后的数

PWM_SetCompare1(Compare);

}   

}

1721314960311190.png

1721315012897306.png



助工
2025-08-04 10:21:47     打赏
2楼

言简意赅,现在的学生真幸福。


高工
2025-08-04 14:12:26     打赏
3楼

666666


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
化生是什么意思 右手臂酸痛是什么前兆 阳痿早泄是什么原因 什么东西能吃不能碰 过敏性荨麻疹吃什么药
谦虚什么意思 梦见大蜘蛛是什么预兆 朝是什么意思 龟头敏感吃什么药 苯磺酸氨氯地平片什么时候吃最好
连襟是什么意思 什么是腺样体面容 大吉是什么意思 腹泻吃什么 保胎吃什么食物好
更年期失眠吃什么药效果好 为什么会心悸 嗓子干痒咳嗽吃什么药 不孕不育做什么检查 心衰吃什么食物好
一什么网hcv9jop2ns7r.cn 儿童贫血吃什么补血最快hcv8jop6ns8r.cn 急性心肌炎有什么症状hcv8jop9ns1r.cn 阴湿是什么病hcv8jop3ns3r.cn 什么长onlinewuye.com
节制是什么意思hcv8jop2ns8r.cn 盖世英雄是什么意思hcv8jop0ns0r.cn 出殡是什么意思youbangsi.com 斯密达什么意思hcv8jop9ns8r.cn 苟同什么意思hcv8jop4ns0r.cn
梦见买手表是什么预兆hanqikai.com 这是什么石头bfb118.com 腿肿挂什么科hcv8jop1ns9r.cn 胆囊息肉有什么症状hcv8jop1ns6r.cn 雨字头的字有什么hcv8jop6ns3r.cn
尿酸低是什么意思cl108k.com 甲亢属于什么科室hcv8jop0ns8r.cn 血糖低什么症状qingzhougame.com 荨麻疹是什么原因引起hcv8jop8ns2r.cn 甲状腺需要做什么检查hcv9jop3ns6r.cn
百度