LEGO Boost 这套的魅力在于除了自带的模式,还可以开发出多种好玩的MOC。这个千元的玩具可以玩出无限可能。
上一篇介绍的是如何将自带的吉他模式玩成乐队的感觉。这一篇我们来解锁一个自带玩法没有的功能:让Boost自己来弹奏。
制作思路
实现的思路有很多,我这里尝试了一种。通过传感器读取传送带上不同颜色的色块来弹奏不同的音符。编程控制传送带的位置就可以实现一段旋律的弹奏了。看看动图效果。
拼搭过程
总体框架通过 Boost 自带的 AutoBuilder 形态来实现。前面的拼搭步骤可以参考 AutoBuilder 的主体。把主控制器和传送带搭好。
然后将传感器固定在传送带上方。需要注意一下传感器的位置,不要离开传送带太远,不然会识别不出颜色。
最后再找几个不同颜色片固定在传送带上即可。传送带上有两排圆形的孔,可以用Boost 自带的最小的圆柱型连接件来完成颜色片的固定。
程序框架
程序的主要流程就是:
-
根据音符移动传送带
简单起见暂时就用了三种颜色蓝、红、绿,分别代表 Do Re Mi. 颜色块之间间隔两格传送带。这样移动到相邻的色块正好B电机转动180度。所以,如果弹奏Do Re Mi就是先移动180度,再移动180度即可。
-
传感器读取颜色信息
这一步和下一步因为功能很独立而且要重复调用,所以做成了子函数。对,你没看错,Boost编程是支持子函数的哦。通过条件判断得到颜色信息。可惜没有 select case 之类的条件分支结构,写起来比较复杂。
-
发出对应的声音
自带的音效有很多种,我这里选择了一个竖琴的声音。也可以自己录制不同的音效。
总结
虽然节奏略显单调,但是真正做出来还是很有成就感的。和小朋友一起用人类的创造力来赋予 Boost 无限的活力吧。