ev3超声波传感器 「老丁教乐高EV3基础编程」学完练完本课,足矣应付70%的编程要求
「老丁教乐高EV3基础编程」学完练完本课,足矣应付70%的编程要求
本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。
本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。
之前的三节课,大家看的有点累。我写的也有些。因为在实际的教学中,其实对于思维方法的讲解,很费力。
不过这东西有点像开窍,并且没有那么难开,一通百通。
今天我们把上三节课的内容给混合在一起,实际操作一番。
一个很简单的题面,我们可以用很多种方法来完成。并且,如果能够把每一种都“说清楚”,就会知道以后我们编复杂的程序时,哪一种方法会更加合理。
要求:
让小车直线前进,当超声波传感器探测到前方距离小于50时,停止,并结束程序。
看着很容易吧,
那么到底我们可以编写出多少种程序呢?
这些程序会有什么不同的特点?
我们在实际操作中该使用哪种方式呢?
让我们一起进入今天的课程。
1
顺序编法1从题面上来看,我们可以看到,这个程序其实就是一个很简单的顺序流程。最方便的编写方法当然就是根据题面的要求直接放模块啦!
上面这个程序,是一个典型的“动作”+“流程”模块的组合。
前进 —— 调取传感器数据 —— 停止
中间的“等待”模块,是一个流程模块 ,它在这个时候其实是作为前一个模块的“条件”存在于这个程序中 。
我们看一下下面这个图,“电机开启” 。这个模块是不可以单独运行的。还记得我们前面几节课说过的,“条件不完整”吗?
虽然这个模块控制了电机开启这个动作,但是开启多久?或者转多少圈? 等等,这些条件的不完整,会让EV3摸不着头脑,只知道开始不知道什么时候结束这个模块的运行。
于是单独运行这个模块,其实是达不到“执行前进”的目的的。机器的表现会是一动不动。
而我们现在这个程序,在“电机开启”后增加了一个等待模块。
解释为:“电机开启”直到超声波传感器探测到前方距离小于50cm时,执行下一动作。
这个时候,条件是定义“开启电机”这个动作模块的。
想一想
同样是调取超声波传感器的数据,下图这种编写方法对吗?为什么?可以自己动手试一试,看看是一个什么情况呢?
(答案我们继续上完这节课,就会知道了)
2顺序编法2
上面的那个编法主要是让一个“条件”伴随着“动作” 而达到题面的目的。
我们如果使用循环流程 ,也可以达到同样的效果。但理解上会有一些不同。如下图:
这个时候,我们在“电机开启”的动作上套了一个循环,我们可以试一下,只要这个循环状态保持,这个程序也是成立的。
因为这个时候,其实条件是完整的。
即,电机保持开启运作 。这个时候是不需要去设置额外的结束条件的。
所以我们这个时候,其实是在确定这个动作停止循环的条件 。
解释为:循环保持电机开启状态,当前方距离小于50cm时,停止循环,并执行下一动作。
这个时候,条件是定义“循环”这个模块的结束要求的。
3顺序编法3
我们在上面的“想一想” 中,直接使用黄色的传感器模块,是一个严重的错误。
因为传感器模块只提供数据,不提供“流程”或者“动作”。 它只是一个调取数据的工具。所以,我们直接放到一个流程里,其实它没有实际的功能。
如果要使用这个模块,我们需要把这个数据给调用出来。如下图。
这个时候,我们专门针对传感器的“工作状态”进行了定义。
传感器模块的“逻辑”被调用到了流程模块中。它所提供的数据,成为了这个循环流程模块的结束条件!
所以,这个时候,程序就成立了。
解释为:开启电机,同时超声波传感器探测前方距离,当小于50cm的时候,停止超声波传感器的探测功能,执行下一步动作。
同理,我们可以这样来专门针对传感器进行操作,其实道理是一样的。
解释为:循环开启电机和传感器,当超声波传感器探测到前方小于50cm时,终止循环,执行下一步操作。
这个两种时候,我们是保持传感器的开启,并直接调用其数据,来控制循环模块的结束逻辑。
以上三种是用顺序,解决题面。
我们下面再用判断来解决一下这个问题。
4判断 编法
虽然效果一样,但判断编法的思维模式,跟顺序不太相同。
我们要使用判断模块,首先要思考两种情况。
即:符合条件的情况下,我们希望怎么运行;不符合条件的情况下,我们希望怎么运行。
这两个思考的结果,都要在程序中有体现。
那么我们首先把判断模块移上去,然后在左下方设定判断的条件。
把符合条件、不符合条件的动作分别移到不同的位置。
这样,我们的基本程序就完成了。
解释为:当超声波传感器探测前方距离,大于50时,电机开启直行;小于50时,电机关闭。
再外层套上循环模块,这样就可以让这个程序持续运行。
但是! 这个程序完成的结果跟我们的题面有出入。
我们会发现,这个程序这样编写的话,它将一直保持循环状态,程序不会结束。
而我们题面的要求,是程序触发程序停止后,整个程序结束运行 。
怎么办?
很简单,我们能确定的一点是,程序结束的触发点 ,是在电机关闭的情况下。所以,我们只要在电机关闭之后的位置上,加上一个“循环停止”模块。这个程序就自然结束运行啦。如下图。
5选择合理的编写方式
虽然我们用不同的方式,可以编写出同样的效果,但它们各自有各自的特点。
本课中提到的第一种,它的特点是:清晰,简单。
在我们编写复杂的程序时,对于很多目的清晰的要求,需要清晰简单,这样会省去很多不必要的麻烦,也不容易出错 。
本课中提到的第二种,它的特点是:可以加入更多的动作。让机器完成更复杂的要求。
这种程序在“动作”扩展上 ,会很方便,我们可以不断增加更多的需要循环的动作进去。
本课中提到的第三种,它的特点是:可以处理数据,让数据条件可以设置的更复杂。
这种程序在遇到有复杂的数据处理要求时,会非常的方便,我们可以加入各种不同的数据运算、分类等等处理方法进去,让数据的扩展性变得更强。
最后一种,它的特点是:条件清晰,条理清晰。
这种程序在遇到多情况的状态下,可以根据很多不同的情况作出对应的动作。 让它们并列共存。
好了,今天的课就到这里。这节课是前三节课内容的总结和实操。
希望大家能够感受到这些同样效果的程序不同的区别。
学会在不同的要求下,选择最适合的编程方法,才是关键哦!
课后,大家可以用不同的传感器,都来练习一下。
学会了这些,你已经可以很轻松的面对70%以上的编程要求了。
我们下期,再见!
重点总结
结合三大流程的内容,实际操作。
更好的理解不同编程流程,所对应的各种优点。争取学会“合理编程”
乐高EV3机器人 篇二:NXT和EV3比对
作者:孤独醉酒
嗯呐,上次的是开箱,这次来对比,当NXT碰撞EV3,谁更牛逼呢?
网上的什么恐龙,BB-8,不如自己定制一台独一无二的机器人,自己编出你想要做的动作,一手打造而成的成就感那是一个爽啊
EV3搜索
EV3在亚马逊的搜索
NXT搜索
提供乐高官网
有兴趣的筒子可以去看看,这里面有网友晒的制作好的机器人哦。
恩,言归正传,第一个里面说到了EV3开箱,接下来就是EV3和NXT的对比了~(≧▽≦)/~啦啦啦。说实话,你们准备好了24K钛金眼了吗,别被闪瞎了。。
上图
主控
不说啥了,这两个真的是亲兄弟,不过是老王和老李的功劳吧显示屏经过了更改,EV3显示效果比NXT更好,且有保护(PS:吐槽EV3的主控按键贼难按,NXT是橡胶的,但是有的时候会失灵)
主控底部(马达接口)
在这里有改变啦,EV3比NXT的马达接口多了一个,而且EV3配套使用的马达多了一种小型号的,用来带动齿轮,更加的灵活。EV3的数据接口也有了修改,从以前的方口转为了T口,看起来更好看写了,黑不溜秋的一个洞在那里是个什么事嘛。。。
主控顶部(辅助传感器接口)
嗯哼,这里是没有变化的,都还是4个,这是触控,颜色,超声波等等的接口,这里的接口和上面的马达接口都是一样的,但是辅助传感器接口都是阿拉伯数字标记,马达接口都是以字母标记,所以很容易区分啦。
侧面图(相比多了两个口,一个是USB,另一个是SD卡,用来外接)
侧面的扬声器,基本没有变化(没有AUX接口,不然可以当小音箱)
背面(这里用的是电池盖,里面需要6颗5号电池)
电池正面(除了卡扣、外观改了,其余的基本没变,充电的电压从NXT的9-12V交流电变为EV3的10V直流电)
电池反面(这里也是外观卡扣改变,唯一可以注意的是EV3的毫安量变为2200mAh,比NXT的多了800mAh)
侧边(指示灯依旧没变,但是充电接口更换,从大变小)
莫名想笑。。。都是突出了一部分,这是什么?_?(突出部分是不怎么规则的,对于搭建还是有一定影响的)
来个电池和电池盖的合拍,感觉用电池盖比较好,省空间
马达(三观尽毁,从NXT开始玩起的我看到EV3,感觉有点方)
从以前的圆形设计到现在的棱角设计,这是天和地的差别啊,刚到手真的有点受不了。
马达的侧面(上面多了一排的孔,但是没啥卵用,而且是被截取了一半出口的孔,这样上不上下不下让我这个强迫症患者受不了)
超声波传感器(这里的改变就是外形,EV3更加萌有没有,黑配红比灰配橙好些有没有)
触控(从圆形的变成了四四方方的,感觉精干了不少)
左边两个是颜色传感器和光线传感器,最后一个是EV3的颜色传感器(这里变化特别大,EV3整合了NXT的两种传感器,二合一的优点是省空间)
上面那个是EV3的陀螺仪,下面的是NXT的声控(好像EV3是删掉了声控,增加了陀螺仪)
主控开机图
手机实在渣。。。闪光灯一开,整个人都不好了。整个来说,EV3是NXT的升级版,大部分的都升级了,尤其是EV3的系统,从以前的小分类到现在的大分类,并且更好的浏览文件,更加的人性化,但是相应的也更加的复杂。。大家有兴趣可以去找找,如果是想要入手需要谨慎谨慎谨慎,入了坑的别找我。
最后附图一张来镇文
用NXT搭建的机器狗
用NXT搭建的机器人可以跳舞哦
至于为啥不用EV3,因为是新的比赛设备,所以说就不拉来搭展示机,至于视频啥的,太麻烦了,不弄了。。。
相关问答
ev3超声波传感器 有杂音?EV3超声波传感器有杂音可能是因为传感器没有正确安装或存在灰尘和污垢。可以尝试以下方法解决:确保传感器正确安装并固定在车头上,避免松动或摇晃。清洁传...
EV3 如何才能用遥控器遥控_土巴兔装修问答先下载EV3编程软件,里面有马达的转动选项,还有传感器选项,可以通过传感器达到你想达到某种效果,配合马达的转动;和以前的NXT伺服电机没什么太大区别...
乐高积木编程需要哪些模块?积木编程需要以下模块:1.乐高编程软件:乐高编程软件是乐高积木编程的核心工具,它可以让用户通过图形化编程界面来控制乐高积木机器人的动作和行为。乐...
谁帮忙回答一下!口碑好的汗蒸箱家用品牌,汗蒸箱家用什么牌...[回答]当时在网上找了好多信息,也找了很多朋友了解,问了很多,最后选了合肥拓威进出口有限公司,还好没有失望,价格也合理。1、烤箱的大小:一般家用烤箱的...
帮个忙老师们,跪求!广东东莞有几家宠物店能美容、救治、寄...[回答]产品很好,服务态度也好,东莞市宠爱多宠物医院有限公司。驾车路线:全程约22.5公里起点:东莞市1.从起点向正西方向出发,行驶220米,右前方转弯2.行驶1...