玩转micro:bit-用BXY玩PWM输出
都说平昌冬奥又冷又黑。
可是北京8分钟却是精彩绝仑,中国用AI展示了大国形象。
static/image/hrline/1.gif
今天继续学习,PWM输出。
参考:http://docs.dfrobot.com.cn/bxy/inoutput.html
我们可以通过很快地切换电压的高低来控制LED的亮度或电动机的速度。这种技术称为脉宽调制(PWM)。
笔记:
read_digital()如果引脚为高电平则返回1,如果引脚为低电平则返回0。write_digital(value)如果value为1,将引脚设置为高电平;如果为0,就将其设置为低电平。
read_analog()
读取引脚的电压,并将其作为0(0V)和1023(意为3.3V)之间的整数返回。
write_analog(value)
将value作为PWM值输出。value可以是0(0%占空比)与1023(100%占空比)之间的数。
脉冲宽度调制PWM板子上的引脚输出模拟信号的方式与音频扬声器不同,它不能够调整引脚上的电压,这些引脚只支持3.3V输出,或者被拉低为0V。但是我们仍然可以通过很快地切换电压的高低来控制LED的亮度或电动机的速度。这种技术称为脉宽调制(PWM),这就是下面的write_analog()方法。
以上您可以看到三种不同PWM信号的图表。这些都具有相同的周期,但它们具有不同的占空比(高电平占整个周期的比例)。第一个由write_analog(511)生成,因为它的占空比为50%,高低电平各占一半,其结果和1.65V差不多。第二个由write_analog(255)生成,占空比为25%。它的效果如同引脚上输出0.825V。第三个由write_analog(767)生成,信号占空比为75%。它的电压是第二个信号的三倍,相当于在引脚上输出2.475V。这适用于诸如电机本身具有很大惯性的设备或LED,但是在生成声波时效果不会很好。这个板子本身只能产生方波的声音,这听起来就像是以前的电脑游戏(主要是因为这些游戏的声音就是方波产生的)。
目标:
用按钮实现LED灯亮度的分档调节。
例如,第一下亮,第二下更亮,第三下最亮,第四下灭。
from microbit import *
#write your program:
item_Num=0
while True:
if pin1.read_digital()==1:
sleep(200)
item_Num=item_Num+1
if item_Num==1:
pin0.write_analog(60)
elif item_Num==2:
pin0.write_analog(500)
elif item_Num==3:
pin0.write_analog(1023)
elif item_Num==4:
pin0.write_analog(0)
item_Num=0
有上面笔记的内容,程序不难理解。
http://v.youku.com/v_show/id_XMzQyNTM5OTAzMg==.html
蛮好的教程,学习了 用这个学PWM不错的
页:
[1]