STM32检查光敏电阻的变化控制灯的亮暗(ADC采集,PWM输出)
时间:2022-07-09 15:30:00
内容主要是-1。光敏电阻的运行ADC收集;2.收集的数据被用作PWM控制灯的明暗变化。
第一部分:
1.基本了解光敏电阻的使用:
光敏电阻内部PN结,光的强弱会引起其导通的变化,从而会引起电流的变化;电路设计方面,主要是利用电流的变化,然后在串联一个电阻,就可以转换成电压的变化,然后在利用ADC处理电压的变化。同时,光与电压值成反比。
1.2ADC采集:
1.在电路上选择一个ADC选择相应的通道。
2、ADC使用步骤:
第一步:打开相关ADC设置分频因子。
第二步:ADC工作模式设置(主要是转换模式、触发模式、数据对齐等)
第三步:ADC设置规则序列通道(设置规则序列中的通道数和采样周期)。
第四步:打开AD转换器。
///以上是基本初始化设置。
第五步:读取ADC的值。
具体流程为:1。转换序列设置(选择相应的规则序列,并添加要打开的通道。ADCx_CR启动规则转换通道。ADCx_SR状态标志位,循环等待转换完成。;4.直接返回ADCx_DR数据寄存器。
/注意:
1、stm32f4的adc最高36M,一般分频因子设置为4,APB2时钟为84M,所以adc的时钟为21M。
//
第一部分:pwm控制输出
1.1pwm初始化
///初始化设置
/*
1,时钟使能:io使能和定时器使能
2,配置gpio位推恢复输出,上拉,100M
3、重用引脚功能
4,填充arr和psc
TIMX->ARR=arr;
TIMX->PSC=psc;
5,TIMX_CCMR控制
pwm模式选择
预装值使能
6,使能
6.1 TIMX->CCER
设置有效的电平方法
使能输出
6.2TIMX->CR1
自动重装预装载
计数器使能
*/
//
main在中间,收集的光敏值主要传递给TIMx_CCR1就可以了;
并且可以在主函数中产生路灯效果,当光强大于一定值时,灯熄灭;当光线越暗时,光线就越亮。