[基础教程]玩转micro:bit-用BXY玩警笛声 精华

查看: 3009|回复: 3

[基础教程] 玩转micro:bit-用BXY玩警笛声

[复制链接]
本帖最后由 rzyzzxw 于 2018-5-16 13:50 编辑

今天分享用BXY玩警报声音。它可以做另一个项目的一部分来玩,例如防盗器,救护小车,消防小车等。
或者就是一个无用的项目,因为这些声音可以用录音模块或者mp3模块来完成,可以用makecode完成。
而我却在试用BXY,要用程序来模拟警报声音。
截图201805121530075171.png

器材准备
截图201805121531587198.png

接线接到p0口吧,因为micro:bit的p0就是输出声音的。
也可以用:
截图201805121535279185.png
这个便宜。
还有:
截图201805121536315667.png
更便宜了。
当然用单独一个小无源蜂鸣器也行。
再不行,你有df的扩展板,扩展板附带了3.5mm耳机接口,用个耳机也行(但不要放在耳朵里听),如果只是试验用个有源音箱也行,只要你不怕声音大吵。
截图201805151020172477.png

1、下载安装BXY。 BXY是DF定制的一款运行于Windows平台的MicroPython编程IDE,界面简介,操作便利。为众多Microbit爱好者提供了一个简洁实用的平台。
QQ群:336213887 软件下载地址:https://gitee.com/dfrobot/iPy/raw/master/BXY.exe
2、程序界面:

3、先跑下例程:
截图201805121733048429.png
#http://docs.dfrobot.com.cn/bxy/4.2.4music.html
#speaker use board's pin0 and FND
#demo1
import music
music.play(music.NYAN)
例程1,用
music.play( )播放音乐。
第2行:导入music包。
注意:导入music模块;它包含生成和控制声音的方法。
第3行:调用music包中的play方法,播放内置音乐music.NYAN。
运行一下试试,是调用music包中的play方法,播放内置音乐music.NYAN一次。
Micropython包含许多内置音律,你可以使用如下旋律演示:
  • music.DADADADUM---贝多芬C小调第五交响曲开幕
  • music.ENTERTAINER---Scott Joplin的Ragtime经典“The Entertainer”的开场片段
  • music.PRELUDE---在JSBach的48个Preludes and Fugues的C大调第一个序曲开幕
  • music.ODE---贝多芬第九交响曲“DOD”中的“欢乐”主题
  • music.NYAN---Nyan Cat主题
  • music.RINGTONE---听起来像手机铃声的东西。用于指示传入的消息。
  • music.FUNK---一个时髦的低音线。
  • music.BLUES---boogie-woogie 12杆蓝调散步低音
  • music.BIRTHDAY---“祝你生日快乐”
  • music.WEDDING---瓦格纳歌剧“Lohengrin”
  • music.FUNERAL---“葬礼游行”,又称FrédéricChopin的钢琴奏鸣曲“B”小调中的第2号钢琴奏鸣曲
  • music.PUNCHLINE---一个有趣的片段
  • music.PYTHON---约翰·菲利普·苏萨(John Philip Sousa)的“自由钟”
  • music.BADDY---沉默的电影时代入口的一个坏蛋
  • music.CHASE---沉默的电影时代追逐的场景
  • music.BA_DING---一些事情的简短信号
  • music.WAWAWAWAA---非常难过的长号
  • music.JUMP_UP---用于游戏,指示向上移动
  • music.JUMP_DOWN---用于游戏,表示向下移动
  • music.POWER_UP---表示成就解锁的狂欢
  • music.POWER_DOWN---表示失去成就的悲伤狂欢
例程2,music.pitch( )播放指定频率的声音指定的时长(ms),这个例程才是警笛声音。


import music

while True:
  for freq in range(880, 1760, 16):
    music.pitch(freq, 6)
  for freq in range(1760, 880, -16):
    music.pitch(freq, 6)

第1行:导入music包。
第3行:while循环,条件一直为真,将一直重复运行4到7行的代码。
第4行到第7行:设置曲调的频率,并循环改变。Range(800,1760,16)表示在800到1760之间,每循环一次,freq增加16。

music.pitch(freq, 6)播放设定的频率的曲调,时间为6ms。



下载并运行,警笛声音响起来了。


程序改下玩吧。
设置一个变量,按A按键+1,按B按键-1。从而实现调节警笛声音的效果。
[Python] 纯文本查看 复制代码
#[url=http://docs.dfrobot.com.cn/bxy/4.2.4music.html]http://docs.dfrobot.com.cn/bxy/4.2.4music.html[/url]
#speaker use board's pin0 and FND
from microbit import *
import music

length = 6

while True: 
  if button_a.is_pressed():
    length = (length+1)
    
  elif button_b.is_pressed():
    length = (length-1)
    
  for freq in range(880, 1760, 16):
    music.pitch(freq, length)
  for freq in range(1760, 880, -16):
    music.pitch(freq, length)


from microbit import *这一句要有哦。

小结:第一次玩警笛声音是在16年参与米思齐漂流的时候,现在也能用micro:bit来玩一把,挺高兴的。玩这个太吵,视频就不上了哈。

由于时间有限,写的匆忙,难免有错误之处,敬请指正。
我们建有专门的QQ群和微信群,有什么问题,可以在群里交流。
QQ群号:484477101(中小学microbit课堂教学群)。






似水流年  学徒

发表于 2018-5-16 10:58:09

很棒
回复 支持 反对

使用道具 举报

似水流年  学徒

发表于 2018-5-16 11:07:58

很有创意
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-5-16 13:47:25


一般般了,就是例程改下了。
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail