Page Title

第5课 让智能小车唱起来


2019-08-02 09:32:32

图片.png 

有趣的智能小车除了具备直行、转弯、亮灯功能以外,还可以拥有报警、载歌载舞等特技。本课,就让我们一起来设计一辆能载歌载舞的智能小车吧!


blob.png

5-1 智能小车演奏的歌曲简谱

 

图片.png 

要让小车发出警报或演奏出动听的旋律,需要借助以下硬件模块:

蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,可以发出不同频率的声音。智能小车套件中的蜂鸣器模块(如下图5-2所示)已集成在主控板上。


blob.png

5-2 智能小车主控板上集成的蜂鸣器模块


要完成本课的设计任务,除了认识蜂鸣器以外,还需了解以下知识概念 

blob.png

这条指令可以控制蜂鸣器发出不同频率的声音。频率默认值为523,取值范围为(2020000)。在此范围内,频率值越大,声音的音高越高。

blob.png

这条指令主要用于控制蜂鸣器的音量大小,默认值为5,取值范围为(0255)。在此范围内,响度值越大,声音越响。

我们平时听到的音乐旋律,是由一个个音符组成的,而每个音符都有固定的频率值。C调音符相对应的频率值如下图5-3所示:

blob.png

5-3 C调音符相对应的频率值

 

图片.png 

先编写如下图5-4所示的程序,编译下载到小车中运行,仔细倾听小车发出的声音。然后编写如下图5-5所示的程序,同样编译下载到小车中运行,感受小车发出的声音是否和前一次相同?根据你的分析,哪一段程序是正确的?

我感觉,小车发出的两次声音: □相同    □不同

据我分析,□图5-4  □图5-5  所示的程序是正确的。


 

 blob.png

 

图片.png 

载歌载舞,即边唱歌边跳舞。要让小车随着歌曲《两只老虎》载歌载舞,具体可以按以下步骤操作:

第一步:编写第一小节                        


通过“试一试”可以发现,要让小车演奏出指定的音符,必须把“设置蜂鸣器频率”这个指令放在“设置蜂鸣器响度”指令前面。节拍则可以用“等待”指令来控制。一般情况下,把1秒作为1拍,0.5秒作为半拍。歌曲《两只老虎》第一小节的程序如下图5-6所示:


blob.png

5-6 歌曲《两只老虎》第一小节的程序代码

第二步:使用音符变量                              


通过分析歌曲《两只老虎》的乐谱可以发现,很多音符都是重复出现的。但没有规律可寻的频率值记起来并不容易。为方便程序编写,我们可以用具有一定含义的简洁的变量来存储频率值。

变量是数据的临时存放场所。一般情况下,变量名由字母、数字、下划线等字符组成。取变量名时,尽量简洁易懂,但不能出现中文字符,否则会编译失败。要在Scratch中使用一个变量,具体可以按照以下步骤操作:

首先单击“数据”类别中的“新建变量”按钮。在弹出的“新建变量”对话框中输入变量名,如音符“1”对应的变量名可命名为“yf1”,输入完毕后单击“确定”按钮(如下图5-7所示)。


blob.png

5-7 创建变量yf1的图示


然后把“将yf1设定为”指令拖放到“好好搭搭硬件程序”下方,并在参数框内输入“523”。

最后把变量yf1”拖放到“设置蜂鸣器频率”指令的参数框中,组合成为“设置蜂鸣器频率为 yf1”。

重复上述三个步骤,给音符2”和“3”分别创建相应的变量名yf2yf3,并在程序中运用。具体程序如下图5-8所示:


blob.png

5-8 使用变量后的程序代码


图片.png 

首先仔细寻找《两只老虎》乐谱中的几种音符,并记录在下列表格中(如图5-9所示);然后对照“C调音符频率表”填写相应的频率值;最后创建相应的变量名。

 

 

图片.png

5-9  《两只老虎》音符记录表


第三步:让小车载歌载舞                                 


小车演奏 1  2节拍时,朝左前方行驶,演奏 3  1节拍时,往右前方行驶。如此重复,小车就可以载歌载舞了。

要让小车朝左前方或右前方行驶,需在原有程序的基础上添加“设置双电机”指令。具体程序代码如下图5-10所示:


图片.png       

5-10 小车载歌载舞的程序代码


图片.png 

 

 

根据歌曲《两只老虎》的乐谱编写完整的程序代码,让小车以多种舞姿载歌载舞,比如“S”形、“8”形、“O”形等。

 

图片.png 

运用所学的知识为父母设计一辆俏皮可爱的生日祝福小车。


blob.png


我设计的生日祝福小车亮点有:

_______________________________________________________________________________

_______________________________________________________________________________

我编写的这个智能小车程序保存在“好好搭搭”网站上的名称是__________________;爸爸妈妈看了后,觉得我的作品__________________;将作品分享后,有_________人给我点赞;综合别人给我提的建议,我认为还可以在以下方面进行改进:_______________________________________________________________________________。