在创客作品中,经常会使用蜂鸣器,用于提醒或者警告使用者;除此之外,有时也会使用它演奏一些简单的乐曲。本课我们将使用蜂鸣器和红外遥控器制作一个遥控电子琴,弹奏我们喜欢的乐曲。
要制作本课的范例作品,需要使用以下新的硬件模块:
蜂鸣器是一种能够发出指定频率声音的装置(如下图4-1所示),由于结构简单、使用方便,因此在电子产品中应用非常广泛。
图4-1 蜂鸣器模块
声音是由物体振动产生的声波。它有三个主观属性:音量、音调和音色。音量指人耳感受到的声音强弱,也叫做“响度”;音调指人耳能分辨一个声音调子的高低程度;音色指声音振动频率的特性,不同的物体由于材料、结构不同,发声时的振动频率也不相同,就会产生不同音色的声音。
对于蜂鸣器来说:它的驱动电流决定了所发声音的音量;它的工作频率决定了所发声音的音调;它的内部结构与发声原理决定了所发声音的音色。
红外遥控器是一种红外线发射装置。WULink-UNO套件中的红外遥控器有17个按键,除了0-9这十个数字以外,还包括四个方向键、“OK”键以及“*”、“#”键(如下图4-2所示)。红外遥控器每个按键都有对应的按键值,可以根据需要在程序中定义不同的功能。
红外接收模块一般与红外发射器一起使用,它能够接收发射器发射的红外线,然后将接收到的红外线信号转换为电信号,经过处理后还原为红外发射器发射的按键值(如上图4-2所示)。
在WULink-UNO套件中,红外遥控器和红外接收模块组成了一个完整的红外遥控系统。这类红外遥控方式在现实生活中几乎随处可见,比如绝大多数家庭都有的电视机、空调机,都采用了类似的红外遥控方式。
要制作本课的范例作品,还需要使用以下新的指令:
使用“设置蜂鸣器响起音调”指令可以设置蜂鸣器发出指定的音调。指令默认是发出“低音DO”的声音;单击第一个下拉列表,选择蜂鸣器模块与扩展板相连接的端口号,单击第二个下拉列表,设置蜂鸣器响起的音调。
使用“设置蜂鸣器响起频率”指令可以设置蜂鸣器发出指定频率的声音——也就是音调。指令的参数就是频率值,默认是“523”Hz,可以根据需要修改。与“设置蜂鸣器响起音调”指令相比,这个指令更加灵活,除了音符,还可以设置各种声音的音调。
该条指令可以停止蜂鸣器发出声音。
使用“读红外值”指令可以读取指定端口红外接收模块的值。指令默认是数字端口“0”,单击下拉列表,选择红外接收模块与扩展板连接的端口号。
使用“红外按键值”指令可以读取红外遥控器按键的值。指令默认是“OK”键;通过单击下拉列表,还可以选择0-9这十个数字键、四个方向键、以及“*”、“#”键。
要制作本课的范例作品,需要使用以下器材:
UNO主控板和配套的扩展板
蜂鸣器模块:一块
红外接收模块:一个
红外遥控器:一个
3P连接线:两根
要搭建本课的范例作品硬件,可以按以下步骤操作:
1. 将UNO扩展板插入到UNO主控板上。
2. 将一根3P连接线白色插头插入蜂鸣器模块的接口中、黑色插头插入扩展板中的“9”号端口,黑色插头插入时要注意连接线每根线的颜色和扩展板插座针脚的颜色相同。
3. 将另一根3P连接线白色插头插入按键模块的接口中、黑色插头插入扩展板中的“10”号端口,黑色插头插入时要注意连接线每根线的颜色和扩展板插座针脚的颜色相同。
具体器材连接方式如下图4-3所示:
图4-3 “音乐播放器”范例作品硬件连接图
首先打开浏览器进入“好好搭搭”网站;登录后进入网站的“创作”栏目,选择“WULink-UNO模版”,点击进入“WULink-UNO编程设计页”。
要让蜂鸣器演奏一个音符,可以在“重复执行”指令中,先使用“设置蜂鸣器响起频率”指令,不修改输出频率,默认输出频率为523,再使用“等待”指令,让蜂鸣器持续发声“1秒”,也就是这个音符演奏的节拍;接着再使用“关闭蜂鸣器”指令;最后再使用“等待”指令,等待“1秒”。具体程序代码如下图4-4所示:
图4-4 “让蜂鸣器演奏一个音符”程序代码
| 声音的频率与C调的音符有如下表所示的对应关系,请参考这张对照表,编写一段能演奏多个音符的脚本。 |
一首歌需要有多个音符组成,要让蜂鸣器演奏多个音符,可以通过“设置蜂鸣器音调”、 “等待”指令设置音调、节拍,然后再使用“关闭蜂鸣器”指令停止声音。下表是儿歌《两只老虎》的歌谱,图4-5是演奏前半首歌曲的具体程序。
图4-5“让蜂鸣器演奏部分歌曲”程序代码
| 根据 “两只老虎”的乐谱,编写这首儿歌的完整演奏程序。 |
|
|
第四步:用红外遥控器控制乐曲演奏 |
|
按照以上步骤编写的程序,程序后下载到主控板上会马上自动播放。为了更便于控制,可以使用红外遥控器控制蜂鸣器,在“重复执行”指令里面添加一个“如果……那么”指令,:如果按键数字“1”被按下,那么键蜂鸣器响起Do、如果按键数字“2”那么键蜂鸣器响起Re、如果按键数字“3” 那么蜂鸣器响起Mi……
具体的程序代码如下图4-6所示:
图4-6 “用按键控制乐曲演奏”程序代码
| 除了“两只老虎”这首乐曲,你还能编写其它喜欢的乐曲吗? |
你能够使用7个按键和1个蜂鸣器模块,制作一个简单的电子琴吗?
我打算这么做:_______________________________________________________
______________________________________________________________________。
做的时候需要注意:____________________________________________________
______________________________________________________________________。