小小云提示:教程作者caterpillar是来自台湾的programmer,所以在一些专有名词的使用上会和我们这边使用的不太一样啦,不过作者也有标注出英文名称,大家自行转换哟(⁎⁍̴̛ᴗ⁍̴̛⁎)
在〈mBlockArduino(13)使用摇杆控制Scratch猫咪〉中谈过摇杆,Makeblock也有提供摇杆模组,不过,没有压下摇杆作为开关的功能,因此,在外接的接孔上,只有四个,除了VCC与GND之外,另外就是X与Y的讯号值:
在图中可以看到,Me摇杆模组上头已标示出X、Y正值方向,你可以使用Makeblock的“摇杆”方块来操作它。
在实际测试之下,未操作摇杆前,X电压值为502左右,Y电压值为475左右,操作摇杆下,X电压值向右最大为980左右,向左最小为0,Y电值向上最大为980左右,向下最小值为0。
因此,若要如〈mBlockArduino(13)使用摇杆控制Scratch猫咪〉中使用摇杆操作猫咪,可以将摇杆接至连接埠6,然后如下撰写程式:
在〈mBlockArduino(22)使用MeRGBLED模组打地鼠〉,我们使用键盘上的方向键来打地鼠,在这边,可以改用摇杆来打地鼠,线路连接上,只要先如〈mBlockArduino(22)使用MeRGBLED模组打地鼠〉连接好MeRGBLED模组以及蜂鸣器,然后,将摇杆模组接至连接埠6就可以了。
我们可以使用〈mBlockArduino(22)使用MeRGBLED模组打地鼠〉中的程式为基础进行修改,只不过,当时是使用键盘事件,那么要怎么建立摇杆事件呢?
mBlock中可以发布特定广播,而流程在订阅广播讯息时,可以指定感兴趣的讯息,当特定讯息到来时,就会触发流程。
因此,我们可以建立一个回圈,不断地侦测摇模的状态,在这边设计为,只要X值大于900或小于10,Y值大于900或小于10,都会发送指定的广播讯息:
这个侦测摇杆动作的流程,本身也是在收到“游戏开始”广播讯息时触发,由于我们使用了countDown在计数,因此,运用了countDown为0时,当作停止侦测摇杆动作流程,有了这个侦测摇杆动作的流程,就可以修改一下订阅键盘事件的部份为订阅广播讯息:
当然,记得在游戏开始时发送“游戏开始”广播,这样才会触发侦测摇杆动作的流程:
程式其他部份就不需要修改,接下来就可以按下绿旗,直接使用摇杆来打地鼠啰!
感谢CodeData用户:caterpillar的贡献著作权归作者所有
整理:宁波家电物联网云平台,中科极动云
CONTACTUS: