最新消息:

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

乐高 少儿编程 4319浏览 0评论
ev3基础编程01

本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。

本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。

十一休息了一阵子,代价是,假期结束后工作堆的满满当当。现在如何合理安排时间变成课题了……但号里面的课还是要发,免得大家等急了。感谢耐心等待哦。

1

认识模块

今天我们首先认识下所有在Mindstorms软件中的程序模块。

如下图。

 

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上) 

这些模块经过各种组合和设计,就可以完成一项程序的编写。

 

在《基础篇》我们主要接触的模块类别有:

绿色:动作模块

橙色:流程模块

黄色:传感器模块(我一般叫数据采集模块)

 

另外涉及:                                 

红色:数据操作模块

中的一部分功能的使用。

这部分的内容将在未来的进阶课程中大发神威。

 

可以这样说,我们熟练使用了《基础篇》课程内教学的内容,基本上就已经可以解决绝大多数的日常EV3功能操作了。

 

而从熟练到精通,则不是每个人光凭兴趣就可以达到的了。需要很多付出。所以我们先掌握基础为主。

 

2

模块理解与学习重点

 

对于模块的理解,很简单。

动作——执行

流程——控制执行的步骤

数据采集——提供做动作和流程方向的各种条件。

 

那么我们先学哪个?是动作模块?

事实上,动作不需要多学习。我相信大多数同学对于做“动作”本身不会有什么觉得困难的地方。

 

比如,以50速度,双电机同时转动,直行前进2秒。

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上) 

这样一个模块就能够完成这个程序,这些并不是我们研究的重点。

 

对于编程本身,我们首先就要学习,流程

3

了解程序的三种流程

可以这样说,世界上我们能见到的程序,无论多么复杂,其流程永远逃不开3种。

 

1、 顺序

2、 判断

3、 循环

 

你看到几千行的代码,其实也是这三种流程而已。所以,学习如何规划程序流程,是一个第一必要的基础。

 


顺序——就像一条笔直的公路,按照每一条指令的排列顺序,一步步走下去。

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

这个很好理解,比如这样的程序就是一个顺序。从开始,到程序完全结束,一眼便知。

顺序是不可逆的,一旦启动了,机器就会自动一条条运作下去。


 

判断——就像是一个路口,通向2个或更多的方向的公路。

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

很多时候我们会因为各种各样的条件要求而需要同步改变我们行进的路线。再让程序沿着某一个正确的顺序执行下去。

判断可以是通往两条顺序,也可以是通往多条顺序。这个看我们具体的需要了。


 

循环——重复的顺序反复执行。

【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

当我们的程序中某部分需要反复执行的时候,我们不可能复制无限次同样的模块,这个时候用循环流程就可以了。

至于循环多少次,什么时候结束循环,这些我们都可以进行设定。

 


编程中最难的就是安排流程。这个类似于我们常说的各种规划什么学业规划,事业规划,人生规划之类的。

反正只要是“规划”都是难的。城市规划难不难?难。国家发展建设规划难不难?难到没边。对不对?

 

那么我们如何合理的来进行一个程序的规划呢?

其实规划也是有各种方法的。但万变不离其中的是,我们要学会分析问题。

 

4

顺序流程

分析问题的过程,就像是在寻找某个关键的点。

我们学习EV3时,即涉及硬件的使用,也涉及软件的使用。这其中又是相辅相成的。

 

首先我们要选择合适的硬件。

比如:

超声波传感器——测距

颜色传感器——测光

等等……这些在我们基础硬件篇有更详细的介绍,没学的同学可以先去了解一下。

 

选择了合适的硬件,等于我们为程序创造了合适的数据基础。也就是动作执行的各种条件。

 

有了这些条件的帮助,我们基本就可以完成一个顺序流程了。

 

比如:小车以50的速度往前走,直到前方距离小于或等于30cm时,停止。

 

这句话里面的所有的条件,我用不同颜色的字表示出来了,如图,这些条件都是要设定的。

而这句话从左到右,就是一个顺序流程

 【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

我们在程序中间使用了橙色的“等待”模块。有些同学可能会疑问,为什么不用黄色的“传感器”模块呢?

 

这里,我们简单理解一下。上文中对于黄色模块的描述——“数据采集模块”

 

虽然橙色的模块中,一般我们也可以调取传感器的功能。但这些功能大多数是用于完成某个流程的,而不是为某个动作提供数据。

 

也就是说:

当我们所需要的传感器数据是用于“流程”本身的时候,优先选用流程模块。

当我们所需要的传感器数据是用于“动作”条件的时候,必须选用传感器模块。

 

我们回头来看一下上面那句话:

小车以50的速度往前走,直到前方距离小于或等于30cm时,停止。

 

这里面“直到前方距离小于或等于30cm时”是对于流程的一种描述。而不是动作。所以,这个时候我们直接选择流程模块调取传感器数据即可。

 

同理,我们也可以用超声波传感器模块来实现这个程序的编写,不过看上去是不是会复杂的多呢?

如下图中,红色我框出来的部分,其实就等于上面程序中的等待模块设置

 【EV3基础编程 第二课】机器人编程的基础,先要学这些(上)

顺序是编程最基本的形态,就是一个个模块的执行。

我们今天就先讲到这里。下次我们继续讲另外的流程和其他同步知识。

重点总结

了解程序的三大流程,理解顺序流程

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