【掌控】mpython-13…handpy,再弹一曲要不要
本帖最后由 rzyzzxw 于 2018-11-8 08:20 编辑-小掌控,你的英文名字叫Handpy么?-今天,你再给我们来一曲吧。
-为了便于小伙伴们快速的写出代码曲子。
-我们用两个数组给你写代码,一个数组放音符,一个数组放频率,这样通过两个数组合作,共同演奏新乐曲。
【特别感谢】
七七老师的源程序,数组是我的弱项,七七老师帮助我在学习的路上有了新收获。
同时感谢掌控团队的技术支持。
感谢谢作如老师,管雪沨老师,周茂华老师,吴俊杰老师的鼓励。
感谢DF创客社区平台的支持。
这个帖子还献给喜欢国内首款面向学生编程开源硬件的小伙伴们。
【视频】
http://v.youku.com/v_show/id_XMzg1MDk1NDIyMA==.html?spm=a2h3j.8428770.3416059.1http://v.youku.com/v_show/id_XMzg1MDk4OTk0MA==.html?spm=a2h3j.8428770.3416059.1
【学习小目标】
1、数组
2、板载蜂鸣器
3、for循环
4、布尔变量
【乐曲小星星】
1、还以小星星为例:
2、编程,定义两个数组
程序:
from mpython import *#导入掌控库
import time #导入时间库
#音符数组
song = [1, 1, 5, 5, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 5, 5, 4, 4, 3, 3, 2, 2, 5, 5,
4, 4, 3, 3, 2, 2, 1, 1, 5, 5, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, ]
#频率数组
m =
#定义蜂鸣器引脚
buzz = PWM(Pin(16), freq=500, duty=0)
#节目预告,屏幕显示
display.fill(0)
display.DispChar("下面看我弹小星星", 10, 16)
display.show()
sound = False#定义布尔变量,设为False(假)
i = 0
while True:
if(touchPad_P.read() < 100):#如果引脚P被触摸,变量设为True(真),下同
sound = True
elif(touchPad_Y.read() < 100):
sound = True
elif(touchPad_T.read() < 100):
sound = True
elif(touchPad_H.read() < 100):
sound = True
elif(touchPad_O.read() < 100):
sound = True
elif(touchPad_N.read() < 100):
sound = True
else: #否则设为False(假)
sound = False
if sound: #如果sound为True(真)
buzz.freq(m])#调用数组频率(嵌套音符数组)
buzz.duty(512) #音量512
time.sleep_ms(500) #时长500毫秒
if i == 30:
i = 0
else:
i = i + 1
sound = False
buzz.duty(0) #音量设为0
七七老师这一段程序写得很有趣,请认真感悟一下哈。
我也要再好好体会一下。
特别是最后这一段:
if i == 30:
i = 0
else:
i = i + 1
sound = False
buzz.duty(0) #音量设为0
要听其它的曲子,自己写代码吧。
对朱老师的精神佩服的五体投地 本帖最后由 rzyzzxw 于 2018-10-6 10:53 编辑
hnyzcj 发表于 2018-10-6 10:42
对朱老师的精神佩服的五体投地
这个假期,真羡慕朋友圈晒风景的小伙伴。{:5_126:}傻傻如我,与社区为伴。 哈哈,这是一个乱弹琴。{:5_132:}
页:
[1]