原标题:家庭成员程小奔之【练琴篇】

文:曾真

六岁的龙龙除了玩游戏、学编程以外,每天有一项固定的任务就是要练习钢琴。最近,在一首乐曲的练习上他遇到了一些麻烦:钢琴老师让他左手要弹得很轻,音量不能太大影响了右手的主旋律。可是龙龙一直控制不好左手的力道。

自从程小奔来到家里后,凭借其超高的颜值和乐高兼容性,早已成为了龙龙爱不释手的好朋友。(具体参见往期文章:编程教育机器人套件程小奔–轻松掌握机器人启蒙教育)于是,芝麻工程师不禁在想,能不能让程小奔帮助龙龙练琴呢?

钢琴老师说:弹这首乐曲的时候,就像在对人讲睡前故事一样,弹重了,就把人吵醒了。那么,我们就让程小奔变成那个马上要入睡,声音一大就会被吵醒的人吧!

说干就干,哪怕手里只有一部手机也可以马上行动起来。让我们看看怎么样在十分钟之内就完成这项任务。

首先,打开手机里的makeblock APP

编程教育机器人

在设备中选择程小奔

选择【编程】功能,点击左上角的蓝牙按钮可以连接程小奔(不专门点击也可以,后续每一步APP都会自动提示连接设备的),将手机靠近程小奔就连接上了,十分方便。

要实现我们的功能,只需要小程就行了,要用到小程上面自带的声音传感器来检测音量。


要用声音传感器来检测音量

首先需要测出轻声、正常、大声弹奏钢琴的音量分别是多少。可以用以下简单的编程语句,只需要拖动四个积木块就OK了。

光看文字也知道这个程序的作用:不停的检测响度,并在点阵屏上面显示出来。

点击右下角的三角▶️符号,程序就上传到小程中了,可以马上开始测量了。整个过程就几秒钟,非常快。


左:正常弹奏音量                                右:用力弹奏音量

想一想:

  1. 去掉【重复执行】模块可以吗?
  2. 【等待0.3秒】模块有什么用?

得到了具体的响度数值之后,就可以着手编写最终的程序了。我们需要小奔:平时是睡眠状态,一旦音量超过某一个值就“醒过来”。代码也很简单,一共十来个积木块。

 

根据我们之前测得的数值和在实际使用时的不停调试,我们最终判断当响度大于10的时候,就“吵醒”小程。

睡着时、被吵醒时的表情和声音,都可以根据孩子的喜好自己来定哦!

迫不及待地点击▶️符号运行程序,让我们看看最终的效果吧!

刚开始被吵醒的小程就给龙龙来了一个“下马威”,为了不吵醒我们的小程,龙龙在练习左手声部的时候,力道真的温柔了很多呢!

从想法到实践,只需要一部手机(或IPAD),大概花费了十分钟不到,程小奔就又帮我解决了一个小难题。还让龙龙学到了新的编程知识。是不是非常方便呢?后续我还会在公众号中为大家带来家庭成员程小奔系列的其他好玩的功能哦!敬请期待!

知识点备忘录

1、 小程:声音传感器的使用,【响度】值

2、【重复执行】语句让程序不停地运行

3、【等待(0.3)秒】语句,让读数能够清晰被读到而不会太快的闪烁