所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
《mind+冬季挑战赛》第一轮 :互动游戏《充气球》
珠韵 2019-01-14 21:26:54
1
1
简单

        前段时间在教学生玩mind+,孩子们对软件中的实时模式非常感兴趣。用mind+和arduino做了好多互动游戏,其中有一个游戏叫做《充气球》,非常好玩,我把它拿过来,作为第一轮的作业。

         这个项目的工作原理很简单:用arduino+模拟声音传感器模块来获取环境声音变化,每检测到一次超过设定值,mind+舞台上的气球就增大一点,渐渐的最后将气球充爆。一开始,我们采用大喊的方法来玩充气球,感觉太吵,就改用对着模块吹起,又觉得不卫生。那用什么方法更好玩呢?我们想到了打气筒,可是手里没有。最后我们是怎么来玩的呢?请继续阅读。

projectImage

造物过程:

         一、材料准备: 我们准备了好多材料,主要是用来测试。 主要材料有micro:bit板,Micro:Mate,Boson扩展板,造物粒子触摸传感器,造物粒子声音传感器,arduino板,小颗粒积木等。 

        特别材料:吹气球(摄影包里找出来的),软管(雾化面罩里连接雾化机和面罩的导管,刚好看到有一根全新的,就拿来用了) 

        二、搭建积木,给传感器摆好位置。如图,软管的一头对准声音传感器的咪头,另一端插上吹气球。然后用积木把声音传感器盖上,目的是不要让人家看出来里面藏的是声音传感器,否则就没有神秘感了。 再把触摸开关装在上面,用来触发开始游戏。 把两个传感器分别接入Boson扩展板的P1和P2口,扩展板插上micro:bit。 

projectImage
projectImage

        三、调试测试。 我打开mind+,扩展选择micro:bit,连接上,进入实时模式开始测试。我在测试的时候,发现接板子的两个传感器,触摸开关反应不灵敏,声音传感器的数值显示也不是很稳定,但是板子的AB键确很灵。为此,我更换了另外一块扩展板Micro:Mate板(micro:bit板也更换一块),情况依旧如此。一时找不出原因,但是交作业的时间快到了,没办法,只能换成arduino。 

         我们把触摸开关接在D9口,声音传感器接在A0口。经过测试,一切能正常。 接下来开始编写程序。 

projectImage

四、编写程序。

         先添加角色,角色是气球,然后在造型中增加一个爆的造型。 再添加背景,网上找了一张卡通背景。

         然后编写程序。 本程序用了“声音”“气球大小”“用时”三个变量。“声音”记录了声音传感器的数值变化。“气球大小”记录了气球角色的大小,当这个值大于300的时候,气球就爆掉。“用时”这个变量记录从开始吹气到气球吹爆所耗的时间。 

projectImage
projectImage

        程序如上:

         简单解释一下:点击绿色旗帜,开始运行,计时器、气球造型、角色大小初始化。 当检测到数字引脚9被接通,发出广播,运行下一段程序。 下一段程序的功能是: 检测模拟引脚A0的数值变化,如果超过600(这个值是通过测试得出的,吹气的时候声音传感器的值超过600了,平时在600一下),角色增大10,计时器更新显示。当角色大小超过300的时候,切换造型,更新计时显示。最后设置气球大小为300,主要是考虑到变量“用时”不会再更新。 如果要再玩一次,只需手指触摸一下开关即可。 

projectImage

怎么样,很有意思吧,看看下面的实拍视频,由于一只手在捏吹气球,一只手拿手机拍摄,画面有点晃。

本范例源码已经上传到码云

https://gitee.com/zslqg/chongqiqiu.git

Makelog作者原创文章,未经授权禁止转载。
1
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]