最新消息:

Micro:bit创意课程系列:光影魔术手

Micro Bit 少儿编程 2853浏览 0评论

 

Micro:bit创意课程系列:光影魔术手

 

Micro:bit可有多方面的创意应用,魔术也是其中之一。今天就教大家如何运用Micro:bit主板上的光线传感器,设计出「光影魔术手」这个有趣的魔术专案。

先来看看「光影魔术手」的影片:

 

步骤

Step1:为了之后主程序的需要,宣告两个变量「light」和「magic」。先从基本积木柜中,拉出「当启动时」积木,然后从变量积木柜中,拉出两个「变数⋯⋯设为」积木,将它们接上「当启动时」积木。接上后,将第一个变量积木名称改为「light」,值仍维持0;将第二个变量积木名称改为「magic」,然后从逻辑积木柜中拉出「false」积木,将它接上「magic」积木。

 

Micro:bit创意课程系列:光影魔术手

 

读者们是否有注意到在前面影片中,操作者的手第一次在Micro:bit主板前挥动时,Micro:bit并没有任何反应,是在他按了Micro:bit主板上的按钮A(左边那一颗)后,主板上的LED灯才开始出现图样。为达成这样的效果,必须在程序中设定一些条件。

Step2:让我们从输入积木柜中拉出「当按钮A被按下」积木,然后复制「变量magic设为false」积木,把它接上「当按钮A被按下」积木,并把「false」改为「true」。

 

Micro:bit创意课程系列:光影魔术手

 

Step3:复制Step2的建构的积木,并把按钮A改成按钮B,以及true改成false

 

Micro:bit创意课程系列:光影魔术手

 

Step4:复制Step3建构的积木,并把按钮B改成按钮A+B。删除「变数magic设为false」积木,并从基本积木柜中点选「更多」,拉出其中的「清空画面」积木,接上「当按钮A+B被按下」。

 

Micro:bit创意课程系列:光影魔术手

 

这样,变量和条件就设定好了,接下来就要进入到主程序。

Step5:先从基本积木柜中拉出「重复无限次」积木,接着从逻辑积木柜中,拉出「如果true⋯⋯那么」积木,并接上「重复无限次」积木。然后从变量积木柜中,拉出变量「magic」积木,接上「如果true」那边。这代表,如果变量magic的值为true的话,就可以触发一些程序。于是便可从此了解,为什么前面的步骤要设定「当按钮A被按下」的条件,是为要让主程序运作。

 

Micro:bit创意课程系列:光影魔术手

 

Step6:继续建构主程序。复制「变量light设为0」积木,把它接上「如果magic⋯⋯那么」积木的「那么」部分。从输入积木柜中拉出「光线感测值」积木,并接在「变数light设为0」积木的0那边。这样的意思是,当变量magic的值为true,变数light的值就会从0,变成接收光线感测值。

 

Micro:bit创意课程系列:光影魔术手

 

Step7:为要做进一步的条件设定,需要再从逻辑积木柜中,拉出「如果true⋯⋯那么」积木,并接在「变量light设为光线感测值」下方。接着,从逻辑积木柜中,拉出一个「小于」积木,接在true那边。再从变量积木柜中,拉出变数「light」积木,把它放入「小于」积木前面那一个0那边,然后把后面那一个0改成70

补充说明

在此需注意的是,70这个值是当时所处环境的光线临界值。实际以根据所处环境正常时的光线值,以及用手遮住光传感器时的光线值,将此两个数值平均,作为临界值。

 

Micro:bit创意课程系列:光影魔术手

 

Step8:接下来,要在「那么」的地方加入一个「方法」。先把积木接口切换成JavaScript程序代码。

 

Micro:bit创意课程系列:光影魔术手

Micro:bit创意课程系列:光影魔术手

 

if (light<70){的下方加入红框框内的程序代码

Step9:切换回程序积木画面,可看见如下图。「光影魔术手」程序至此大功告成!

 

Micro:bit创意课程系列:光影魔术手

 

补充说明

在此要说明的是,为何不直接用基本积木柜中的showIcon积木就好了?因为如果用showIcon积木,就无法使用Math.random()方法。Math.random()方法会根据括号内所写入的数字,随机出现等于或小于该数字的正整数(包括0)。例如,这里写入的数字为39Math.random()方法便会随机出现039的数字。

至于为什么数字是39呢?因为showIcon积木内建了40个图案,编号是从039,透过Math.random()方法,以及最外面的「重复无限次」积木,当操作者的手挥过Micro:bit主板时,程序会随机自这40个图案中出现一个。若您对于写程序代码不熟悉,您也可直接使用基本积木柜中的showIcon积木,然后指定一种图案即可。

按钮B的用处是什么?

原来,魔术师有时总是要找观众上来体验一下,若要让观众上来尝试,魔术师必须先偷偷按下按钮B,这样,观众再怎么试图案都不会改变;当魔术师要施展魔术时,则要偷偷按下按钮A就可以开始施展光影魔术了。

赶快来玩玩看「光影魔术手」吧!

您必须 登录 才能发表评论!