6038浏览
查看: 6038|回复: 0

[uPyCraft IDE] UpyCraft-micropython:简易电子琴

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

连接图:
IMG_20170810_133545.jpg


代码及解析:
  1. from microbit import *
  2. import music
  3. music.set_tempo(bpm=220)
  4. # keep looping forever
  5. while True:
  6.     if button_a.was_pressed():
  7.         music.play("a")
  8.     elif button_b.was_pressed():
  9.         music.play("c")
  10.         
  11.     elif pin1.is_touched():
  12.         music.play("e")
  13.         
  14.     elif pin2.is_touched():
  15.         music.play("h")
  16.     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-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail