上周给大家带来了“奔跑吧苹果”的体感游戏,有好些用户在我们后台留言:这个功能太棒啦,虚实结合可以说是很有意思了!不过,有的慧编程资深玩家向我们提出了一个疑问:这个案例,作者用的是“上传模式广播”,我“在线模式”下使用“广播”积木块就可以实现呀!

为这位资深玩家点赞!确实,我们上周的案例用“广播”积木块也可以实现案例效果。但“上传模式广播”更厉害的地方在于,它可以实现以Arduino为主板的硬件设备与慧编程舞台角色、慧编程舞台中的AI、IoT类扩展互动,同时还允许进行巡线、呼吸灯等对运行效率高要求的项目。

好啦,一起来看看我们今天要讲解的案例吧~

特色功能

上传模式广播:在慧编程里使用这一功能,我们可以让支持该功能的设备和舞台上的角色发生互动,从而引导学生利用课堂上学到的编程知识自制有趣的软硬件结合的作品。

特别注意:根据默认设置,你需要先开启“上传模式”,设备和舞台角色才可以互动哦~

在“设备”模块下切换到“上传模式”,并添加“上传模式广播”扩展:

在“角色”模块下添加“上传模式广播”扩展:

案例介绍

将mBot通过USB数据线或蓝牙适配器连接电脑,利用“上传模式广播”功能,实现mBot与舞台角色的互动:

mBot可以一边巡线,一边向舞台报告自己的当前车况:

如,当mBot侦测到正行驶在黑色轨道时,舞台上的小车报告“前进”并做出相应动作;当mBot侦测到向右(左)偏离黑色轨道时,舞台上的小车报告“左(右)转”并做出相应动作;当mBot侦测到已经完全离开黑色轨道时,舞台上的小车报告“后退”并做出相应动作。

同时,如果mBot侦测到前方有障碍物,舞台上的小人报告“前方xx厘米处有障碍物”;如果没有障碍物,则小人报告“前方正常”。

物料清单

1、硬件要求

mBot、USB数据线或蓝牙适配器

2、软件要求(以下方式二选一)

· 下载并安装慧编程PC端

· 打开慧编程网页端

注:目前慧编程APP暂未支持mBot的上传模式广播功能,敬请期待!

实现方式

使用慧编程软件,添加上传模式广播功能,编写程序,并将程序上传至mBot。

“上传模式广播”对应的积木块如下:

脚本说明

1. 当“mBot启动”事件发生时,进行“重复执行”命令的执行,判断“板载按钮已按下”的条件是否满足。

2. 我们先来完成mBot遇到障碍物的程序。类似上周的案例,我们依然规定,当 “超声波传感器距离cm”小于20时,发送上传模式广播obstacle并附加值“超声波传感器距离cm”,表示mBot已经侦测到了有障碍物。否则,当不满足小于20cm时,发送上传模式广播normal,表示前方无障碍物,可继续通行。

3. 接下来我们来完成巡线的程序。mBot巡线总共会遇到4种情况:

A.当mBot侦测到正行驶在黑色轨道时,它会继续前进;

B.当mBot侦测到向右偏离黑色轨道时,它会左转回到轨道上;

C.当mBot侦测到向左偏离黑色轨道时,它会右转回到轨道上;

D.当mBot侦测到已经完全离开黑色轨道时,它会后退以寻找到黑色轨道。

因为我们希望mBot能和舞台上的小车进行互动,所以添加了对应的“发送上传模式广播xx”。

4. 在舞台角色小人的程序中,因为我们希望超声波传感器侦测到有障碍物的时候, 能通过小人报告出来。因此,当接收上传模式广播obstacle,说“前方xx厘米处有障碍物”;当接收上传模式广播normal,说“前方正常。

5. 在舞台角色小车的程序中,设置小车接收到上传模式广播的信息后,做出相应的动作,并报告。

小技巧:在前期的调试过程中,因为不确定小车在舞台上转多少度或移动多少步会比较合适,所以我们设置了一个变量speed。这样的话,只要修改变量的设置值,就可以快速修改程序效果了。

知识要点

问:“在线模式”下的广播和“上传模式广播”有什么区别?

答:两者都支持在对应的模式下进行广播,让支持该功能的设备和舞台角色产生互动。

区别在于:

1、 上传模式广播不支持角色和角色之间的通讯,广播支持;

2、 进行设备和舞台角色互动时,上传模式广播可以带附加值,广播则不行;

3、上传模式广播可以让硬件设备实现一边巡线一边和舞台互动的效果,尤其是能在和舞台互动的同时,还允许进行巡线、呼吸灯等对运行效率高要求的项目;

4、上传模式广播还可以实现硬件设备与慧编程舞台中的AI、IoT类扩展互动,同时还允许进行巡线、呼吸灯等对运行效率高要求的项目。

问:上传模式广播的附加值能做什么?

答:在设备和舞台角色进行通讯的时候,能够告诉对方信息的类型和数值:1、广播是这样喊的:声音 70、声音 60、声音 50,舞台收到的是三个字符串,无法识别出具体内容。2.上传模式广播:声音 70、声音 60、声音 50,舞台收到的是一个变量的三个数值,声音(70、60、50),从而可以实现对于声音变量值的接收。

问:巡线传感器原理?

答:巡线传感器位于mBot的下方(见附图),由两个传感器Sensor1和Sensor2构成,每个传感器又由一个红外发射器和一个红外接收器组成(如附图)。由于其经常被用来控制机器人沿着线走,故被称作巡线传感器。检测范围为1到2厘米。红外发射器在mBot行驶过程中不断向地面发射红外光:若红外光被反射(如遇到白色或其他浅色平面),则接收器收到红外信号,输出数值1(此时可观察到巡线传感器背面对应的蓝色LED指示灯亮起);若红外光被吸收或无法被反射,则接收器收不到红外信号,输出数值0。根据下表中的说明,可知巡线传感器的值只有4种情况:0、1、2、3。

问:在编写程序的时候,我分不清究竟mBot该向左转还是右转?

答: