友情提示:380元/半年,儿童学编程,就上码丁实验室。
本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。
本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。
说真的,在EV3这块的教学上,我认为很多人的重点是不明确的,这点让我比较失望。
在我的号里,我希望各位家长和老师们,都可以明确,基础教学教的就是“基础”。
注意是明确的、可阐述的!
含糊其辞的教学目标解释,本身对基础阶段必须掌握的技能没有帮助,更是达不到引导学生“创造力”的根本目的的。
之前的几节课我们都在阐述关于“流程”的课题。
大家一定要知道,流程是一个程序框架结构的实际产物,这比起对于单纯“命令”和“脚本”(软件里面我们称为模块)。对这个版块内容的理解,其实是非常重要的。
所以,没有好好看上几期课的同学,请认真回顾。
点击公众号内的“学”菜单,里面成系列的课程都在。
那接下去我们讲什么呢?
1、 继续延伸强化一下理解
2、 数据处理
1
程序阻塞
程序阻塞这个词,是我经常使用的,算是一个小发明吧。就像交通环境,车子是一辆一辆排队的。
我们所使用的模块可以这样理解它们的分类:
阻塞模块
信号模块
“阻塞模块”——就是马路上的车子,前面一辆不走,后面一辆就不会走。
“信号模块”——就是马路上的交通标志,本身其实不影响车子走或者不走,但起到“规范”作用。
这样一来是不是就很好理解了?
我们的阻塞模块有:
动作模块、流程模块、以及一些其他对程序流有直接影响的模块。
我们的信号模块有:
传感器模块、数据处理模块、以及一些其他对程序进行运行“要求”制定的模块。
比如下面这个程序。
我们如果把所有阻塞模块单独拿出来,那么程序也是成立的。这时就像一条马路,没有了红绿灯;没有了标志标线,虽然车还是可以开,但很容易出“交通事故”,于是造成交通的瘫痪。
而加上了信号模块后,这些“阻塞模块”的运行,就有了“交通法规”。这样我们的道路交通就会变得有条理,道路也会变得通畅。
那么,如何制定这个法规呢?
2
数据处理
黄色的“传感器”模块属于信号模块,用于数据采集和输出,但并不阻塞“交通”。如果单纯的放在那,则毫无意义。
就像法律如果没有监管,则法律本身对行为是没有约束力的,只是一张白纸。
一旦我们把黄色模块的数据用线连接到了另一个阻塞模块上,这个时候,这个“法律”才是形成了实际作用。
生活中的法律,就是社会规则。
让“规则”——数据规则,来“要求”阻塞模块的行为,我们有三种形式。
分别是:数据传输、文本传输、逻辑传输。这个在编程软件里面是三种颜色的线。
黄线 —— 很简单,数据传输,意思就是传输数据,让数据直接应用在阻塞模块上。
红线 —— 数据本身都是一种“值”,让这种值变成文本,以便让我们可见,可视。(简单理解下,就是让数据变成某种符号,这种符号不仅仅只是数字和文字,也可能是图形)
小知识:比如我们平时说话的语言,这个其实是抽象的,无形的,无色的。但我们把语言变成了文字符号,那么就可以记录下来,形成“文本”。文者,物象之本。我们中国传说最早的“系统文本”是仓颉发明的——仓颉造字。
绿线 —— 逻辑,这个在前几节课里面有提过。简单再说一下,xx大于xx,xx小于xx,这就是一种逻辑的体现。
有了这三样东西,我们就可以从这三种角度对“规则”进行“执行”!
3
数据转化的功能
上面说的三根线,只要拉到对应的模块,就等于把数据实际的进行了应用。
但数据是多样性的。
我们能够采集到的各种值,其实都是基础值,在很多情况下,这些值需要进行转化,才能真正适合我们的使用要求。这样我们才能制定出合理的“规则”。
现在,我们就需要“红色”模块的帮助了!
今天我们先讲一个最简单的,下期课,我们开始加强难度。
数学模块(简单应用)
即,可以让我们把数据进行各种数学运算。
通过各种运算法则,可以让我们数据变成我们想要“值”,或者想要的“取值区间”。
举个简单的例子,通过这个模块,我们可以进行四则运算。这个基本的运算法则,就可以对数据进行很基本的转化。
我们来实际操作一下:
让基础小车往前走50cm。
这个题面看似很简单,但我们仔细思考一下,要求是一个精确的厘米数。但我们电机上只能设置:秒数、圈数、度数。
秒数肯定不是最方便的控制精确距离的条件。
圈数和度数本质上其实是一样的,度数比圈数更精确。
注意,这里控制的是电机的转动,而不是轮子的转动!
如果我们的电机是通过不同大小的齿轮连接到轮子上的时候,我们还需要计算齿轮比!
在基础小车的结构中,因为轮子直接装在电机上,所以电机转动一圈,轮子也转动一圈。
这样一来,我们只需要知道轮子的周长,就可以知道电机需要转动多少角度了。
基础小车的轮子直径是5.4cm,所以轮子的周长是:
C=πd≈3.14*5.4≈16.956cm
那么轮子转动的圈数就是:50/16.956≈2.95圈
一圈等于360度,所以度数就是:2.95*360=1062度
按照我们计算的数据,程序就应该这样编写。(左或右)
当我们使用数学模块,就可以让这件事情变得很方便。
我们把上面的计算思路,直接放到红色模块里面。把常量给确定好。
这样,机器就可以自动完成上面的计算。我们如果要换轮子,也只需要改动一下轮子的直径长度,而不需要重新去计算了。
可以看到,这就是一个很简单的数据应用。
信号模块本身其实没有作用,但通过“数据线”的连接,把“规则”给到了阻塞模块。这样就是一种从制定到“实际执行规则”的过程。
而这一基础,是基于对数据的作用、结构的判断等等综合理解的前提下才能实际领会并应用的。
下节课,我们开始把红色的模块拉出来开讲!这样,我们就可以把“规则”制定的更为详细和准确了!
敬请期待!
重点总结
巩固一下流程的概念,加强理解阻塞和信号模块的作用。为后续课程的学习做铺垫。