查看: 5106|回复: 0

[教程] UpyCraft-micropython:简易电子琴

[复制链接]
之前看过一篇控制microbit发声的帖子,现在我想通过检测microbit按键和pin脚的状态做一个简易的电子琴。
由于microbit的引脚有限,以及本人对音乐的了解较浅,所以只能大概做个模型,以供大家查考……
首先,我们需要准备的工具:
硬件:
  • Micro:bit主板
  • 数据线
  • 扬声器
软件:



连接图:
IMG_20170810_133545.jpg



代码及解析:
[AppleScript] 纯文本查看 复制代码
from microbit import *
import music

music.set_tempo(bpm=220)
# keep looping forever
while True:

    if button_a.was_pressed():
        music.play("a")

    elif button_b.was_pressed():
        music.play("c")
        
    elif pin1.is_touched():
        music.play("e")
        
    elif pin2.is_touched():
        music.play("h")

    sleep(200)

第1行和第2行:导入需要的包
第4行:控制音调播放速度,数值越大,播放越快
第6行:while循环,将重复执行第9行到第22行的代码
第8行到第18行:分别判断按键a、b是否被按下,以及pin1、pin2是否接地,如果条件触发,这播放相应的音节。
第20行:睡眠0.2秒,保证播放音节时间充足


运行结果:
5.png


如果觉得音节少的话,可以尝试组合按键,比如说:button_a与button_b同时按下播放一个音节,或button_a按下与pin0接GND是另一个音节,等等。





欢迎大家加入uPyCraft-micropython QQ群:619558168


高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail