MakeCode
免费的开源平台,是一个基于Web的
物理计算代码编辑器。
MakeCode图形化编程

微软MakeCode是code.org(全球编程一小时活动的网站)的探究类课程工具,大名鼎鼎的MicroBit、CPX都支持MakeCode。编程圆几乎完全兼容Adafruit的CPX板(Circuit Playground eXpress)。所以,CPX支持的所有软件工具都被编程圆支持。
编程圆完全支持MakeCode图形化编程语言。

初学者只需要掌握以下4步就可以开启人工智能时代的编程之旅(4S型编程学习模式)

数学建模。即,将待解决的问题转化为数学问题

举个例子,我们想要用计算机的扬声器(俗称喇叭)和输入按钮(很多种形式,譬如键盘)设计一个电子琴(  )。即,“电子琴(  )模拟器”的问题。如何将这个问题转化为数学问题?

电子琴的关键功能部件是琴键和喇叭。简谱由7个基本音调(Do-Re-Mi-Fa-Sol-La-Si)组成,那么我们至少需要7个琴键。计算机模拟的电子琴就需要7个输入,每一个输入对应一种音调,每一个输入就是一个“琴键”。当某一个“琴键”被按下时,计算机必须产生对应音调的声音信号输出给喇叭并播放出来。不同的音调,关键区别就是频率。

电子琴模拟器对应的数学问题就是,7个独立的“琴键”输入,当某个输入有效时则产生对应频率的声音信号。声音信号的频率不同,则音调不同。

确定数据(结构)和算法。即,将数学问题转化为计算机程序问题

为电子琴模拟器建立7个“琴键”输入的状态,每一个状态对应一种特定频率(音调)。事实上,电⼦琴只有一个喇叭,而不是每一个琴键对应一个喇叭。那么,我们就需要一个算法 (算法1):

根据给定的频率,产生相应的声音信号(音调)

在计算机的二进制世界里,与喇叭连接的电路引脚输出不同频率的“1-0-1-..”信号,喇叭就会产生不同的音调。

最后,我们还需要一个算法 (算法2):

当“Do键”按下时,播放“Do”音调(即与喇叭连接的电路引脚输出频率f=262Hz的频率信号)

当“Re键”按下时,播放“Re”音调(即与喇叭连接的电路引脚输出频率f=294Hz的频率信号)

...

当“Si键”按下时,播放“Si”音调(即与喇叭连接的电路引脚输出频率f=494Hz的频率信号)

编写代码解决问题。即,将数据(结构)和算法转化为程序代码

编程圆的外部接口正好有7个触摸盘,分别标记着A1~A7的符号,分别作为“Do键”、“Re键”、 ..和“Si键”。根据前面的算法,打开MakeCode在线编程平台,用拼图方式编写程序代码。

点击“INPUT”类积木,可以看到“on pin A1 click”积木块。这个积木块的执行效果是,当“pin A1”触摸盘被触摸时,执行一些指令。其中“pin A1”是参数化的,可以在相应下拉菜单中选择“pin A2”或“pin A3”等触摸盘。

按照算法2,当“pin A1”触摸盘被触摸时,播放“Do”音调。 MakeCode编程环境已经帮我们把简谱中的7个基本音调都准备好了,我们不必专门写程序来实现算法1。点击“music”类积木,可以看到“play tone at Middle C for ½ beat”。这个积木块的执行效果是,播放“中音C调”(即中音Do音符)并持续“½ 拍”时间后停止播放。其中“Middle C”是参数化的,可以从相应的下拉菜单选择“Middle D”或“Middle E”等音调。

验证。即,让计算机执行程序以检验问题是否得到解决

程序代码编写完毕之后,点击“Download”按钮,弹出新窗口提示你按照图中三步即可将程序代码下载到编程圆上,验证“电子琴模拟器”是否正确。下载程序的第一步,使用USB将编程圆和你的编程计算机USB连接;第二步,按编程圆的复位按钮(在编程圆的中心处),确保所有彩灯都变成绿色,说明编程圆已经进入下载程序阶段;第三步,将Download时生成的*.uf2文件拖放到CPXR1BOOT磁盘中。

现在可以试试你的“电子琴”,用手依次触摸编程圆上标记有“A1-A1-A4-A4-A5-A5-A4”的触摸盘,然后再依次触摸“A5-A5-A4-A4-A3-A3-A2”。你能猜出这个旋律的名字吗?

如果你觉得这个电子琴不够cool,那就找一些细铜丝和纸板,将铜丝一端固定在纸板上,另一端固定在Ax触摸盘上。很快你就做出一把吉他[  ],或者一把古琴,或者一把xx乐器,皆随你愿。还想更酷一点?不需要增加任何材料,只要修改程序,你还可以让你的乐器跟随你弹唱的旋律发出不同的色彩。随着深入学习和探索,或许你还会迸发出更酷的创意。现在就开始创作吧!