对于灯,电流越大,灯就越亮。现在灯固定不变,也就电阻不变,I=U/R,即电压越大,灯就会越亮。
所以,现在就得控制单片机输出不同的电压,原理如图:
在一个固定的时间里,单片机引脚 不断的进行高低电平的切换,其中高电平所占用的时间越多,电压也就会越大。
比如第一个,高低电平均匀的各占一半,总的是5V,一半就2.5V,这是微观分析,宏观的来看。
第二个高电平占的时间比低电平多,电压就是高于2.5V。
也就说,我们现在可以控制电压在0到5V之间任意一个值,也就可以控制亮的亮度了。
然后再在定时器里设置每次更亮一点或者更暗一点,宏观的来看就是一个递增或者递减亮度的过程,就像呼吸一样。
控制高低电平各自占据的多少,叫PWN(Pulse-width modulation)的中文名是脉冲宽度调制。
可以用过自己写程序控制常规的GPIO来实现,也可以直接使用单片机的PWM引脚,设置好寄存器后就自动输出指定大小的“电压”。
对于灯,电流越大,灯就越亮。现在灯固定不变,也就电阻不变,I=U/R,即电压越大,灯就会越亮。
所以,现在就得控制单片机输出不同的电压,原理如图:
在一个固定的时间里,单片机引脚 不断的进行高低电平的切换,其中高电平所占用的时间越多,电压也就会越大。
比如第一个,高低电平均匀的各占一半,总的是5V,一半就2.5V,这是微观分析,宏观的来看。
第二个高电平占的时间比低电平多,电压就是高于2.5V。
也就说,我们现在可以控制电压在0到5V之间任意一个值,也就可以控制亮的亮度了。
然后再在定时器里设置每次更亮一点或者更暗一点,宏观的来看就是一个递增或者递减亮度的过程,就像呼吸一样。
控制高低电平各自占据的多少,叫PWN(Pulse-width modulation)的中文名是脉冲宽度调制。
可以用过自己写程序控制常规的GPIO来实现,也可以直接使用单片机的PWM引脚,设置好寄存器后就自动输出指定大小的“电压”。
1
举报