探索者D1系列教程四 蜂鸣器

2018-12-245297
AI 快速预览详细 收起
本教程介绍了如何使用Romeo和蜂鸣器模块来演奏音乐旋律。首先列出了所需的器材清单,包括Romeo、USB数据线和蜂鸣器(功放喇叭模块)。接着详细讲解了蜂鸣器的工作原理,区分了有源蜂鸣器和无源蜂鸣器。然后通过Mind+编程平台,展示了如何控制蜂鸣器发声,并通过创建子程序简化主程序。最后,以儿歌《小星星》为例,演示了如何编写程序并测试效果。

使蜂鸣器演奏出一段音乐旋律,学习蜂鸣器的使用方法。

器材清单

        Romeo、USB数据线、蜂鸣器(功放喇叭模块)

蜂鸣器

        蜂鸣器能够发出声音信息,可用以演奏音乐,或播放警报、提示等其他声音信息。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种,这里的“源”是指振荡源。有源蜂鸣器中含有振荡源,通电即可发声,但只能发出一种固定频率的声音;而无源蜂鸣器不含振荡源,需要使用一定的方波来驱动,可以发出不同频率的声音。要制作能够演奏旋律的机器人,可以使用无源蜂鸣器开发的功放喇叭模块实现。

project-image

音调不同,音符不同,需要蜂鸣器的发声频率也会不同,蜂鸣器发声频率与其对应的音符、音调如下图所示。

project-image

控制蜂鸣器

       Mind+中控制蜂鸣器的模块位于“Romeo”中。如下图,可以通过改变第二个下拉框的音调和第三个下拉框的节拍来控制蜂鸣器使其发出需要的声音。也可以将蜂鸣器设置为静音。

project-image

子程序

        当程序代码中有重复的程序段的时候,可以将重复出现的程序段设计为子程序,在主程序中进行调用,以达到简化主程序的目的。

        可以在Mind+指令区“函数”中进行创建,步骤如下:

        (1)单击“自定义模块...”后出现“添加一个自定义模块”浮窗,如下图所示。

project-image

        (2)输入模块名称“quiet”,单击“确定”按钮,则“函数”中会新增“quiet”,如下图所示。

                 同时脚本区会自动出现 “定义函数‘quiet’"。

project-image

         (3)将喇叭静音的程序写到子程序中,并命名为quiet,如下图所示。

project-image

        (4)将“quiet”拖至脚本区,之后便可在主程序中调用子程序quiet,如下图所示。

project-image

实现过程

        (一)连接蜂鸣器

        将蜂鸣器模块与Romeo连接,如下图所示,蜂鸣器连接数字针脚3。

project-image

        (二)编写程序

          以儿歌《小星星》为例,利用蜂鸣器播放歌曲第一句“一闪一闪亮晶晶,满天都是小星星”的旋律。该简谱的音调为C,第一句的音符如下图所示。

project-image

       仔细观察会发现,乐谱中有一些旋律是重复出现的。当某段旋律重复出现时,可以通过复制(在需要复制的模块上右击鼠标即可进行相应的操作)以简化操作,但这无疑会使程序变得冗长。此时可以将重复出现的旋律作为子程序,当需要时在主程序中调用即可。如下图所示,是歌曲《小星星》第一段的主程序,最后调用演奏《小星星》第一句的子程序melody1。

project-image

        子程序melody1的代码如下图所示。

project-image

测试效果

        上传程序,成功后观察蜂鸣器能否发出预期的音乐。

拓展提升

        蜂鸣器演奏音乐带来的是听觉感受,LED则是视觉感受。将这二者结合,当蜂鸣器演奏时LED亮,当两个音符之间停顿时LED灭。试一试完成这场“视听盛宴”吧。

探索者D1系列教程

探索者D1系列教程一 Mind+使用介绍与 LED灯

探索者D1系列教程二 数码管

探索者D1系列教程三 数码管与数字震动传感器

探索者D1系列教程四 蜂鸣器

探索者D1系列教程五 火焰传感器与蜂鸣器

探索者D1系列教程六 模拟声音传感器与直流电机

探索者D1系列教程七 超声波传感器与直流电机

探索者D1系列教程八 红外遥控

探索者D1系列教程九 双直流电机

探索者D1系列教程十 巡线传感器

探索者D1系列教程十一 防水温度传感器

探索者D1系列教程十二 土壤湿度传感器

探索者D1系列教程十三 继电器与水泵

探索者D1系列教程十四 红外数字避障传感器

 

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -