关于EV3编程模块的理解

关于EV3编程模块的理解

在EV3软件中文使用帮助中,对EV3软件中的每个模块都进行了较为详细的简述

动作模块

关于EV3编程模块的理解

中型电机:此模块是专门用来控制中型电机,并且可以设定各种转动模式、速度、持续方式以及制动和滑行等参数。可以用于机器人机械手臂、发射器、打陀螺等许多功能,优点在于转速比大型电机快,缺点在于扭力不如大型电机。

大型电机:此模块是专门用来控制单个大型电机,并且可以设定各种转动模式、速度、持续方式以及制动和滑行等参数。主要用来控制机器人向前、向后或者单电机驱动机器人模型等用途,优点在于扭力比中型电机大,但是无法设定左右转弯(注:通过机械结构模型的设计在不改变电机内外部结构的情况下,可以实现某些机器人模型的转向)。

移动转向:用来专门控制两个大型电机,并且可以设定各种转动模式、行走方式、速度、持续方式以及制动和滑行等参数。用来欧诺个只机器人向前、向后、左右转向或停止等功能。优点在于一次可以控制两个电机的转向,缺点在于无法控制单个电机的速度。

移动槽:同移动转向模块不同之处在于它可以控制单个电机的速度,暨通过两个大型电机的不同转速,来达到直行、左右转动等效果。优点可以控制单个大型电机的运转,如果通过其他模块的输出值当做速度的来源的时候,需要连接两个端口的数据类型。

显示:在EV3主机显示文字、图形和绘图等功能,可以制作各种马赛克黑白图,显示各种数据值,实际大小是X的坐标值范围是(0.177),Y的坐标值范围是(0.127)。

声音:通过EV3主机内的喇叭发出声音音效,可以制作各种钢琴谱发出音律等。可以利用音效来表示当前运行的各种状态,比如倒车时候的雷达声,看家狗的叫声等。


程序块状态灯:通过EV3主机的按钮面板显示红色、橙色和绿色的光效果,利用光亮效果来表示目前的各种状况,比如暂时停车的闪烁灯。

流程模块

 

开始:启动执行EV3拼图程式的按钮。注意:在同一支程式(程序)中,可以有多个开始模块,但是要注意多工同步的问题。

等待:用来设定等待某一特定时间被触发时,再继续执行下一个动作。注意如果电机先运转,后才进入到等待状态时,此时,机器人的电机会在等待过程中,保持开启状态。

循环:用来重复执行某一段程序。比如机器人执行正方形的路线。

切换:依照不同的触发条件来执行不停的路径,当条件成立时,则执行上面部分的区域,否则就执行下面部分的区域。两个条件或者多个条件时均可使用,比如机器人的颜色传感器在侦测到不同的颜色时发出不同的声音。

循环中断:用来中断指定编号的循环模块。

传感器模块


程序块按钮:利用主机按钮方块控制机器人的各个动作。比如控制另外一台EV3机器人的前后左右及停止动作。

颜色传感器:通过侦测发出的反射光、颜色及环境光强度,可以读取周围环境及不同颜色的反射光,以让机器人进行不同的动作。比如机器人巡线、太阳能车和蟑螂车(注:手电筒照射装死不动)等等。

陀螺仪传感器:用来侦测机器人在行走中的倾斜程度。目的在于维持机器人平衡,比如步行机器人行走斜坡。

红外传感器:它具有三大功能:测距离(功能与超声波传感器类似,都是用来检测前方距离远近的)、灯塔模式(类似自动吸尘器当没有电力时,会自动寻找到充电处,暨红外线发射器IR的摆放处)和远端遥控模式(类似动力机械组装中的透过红外线遥控器)。比如机器人遥控车。

电机旋转:用来读取大中型电机转动的角度、速度和圈数。目的侦测电机是否有转动,依照某个特定度数或者圈数来转动电机等。

温度传感器:用来侦测环境所在的温度。依照不同的温度进行不同的行为,比如当摄氏度超过28°时,机器人自动开启电风扇手臂功能。

计时器:用来取得EV3主机内部的计时资料。计算执行某一事件的时间长度,比如测量机器人绕一个正方形所需要的时间。

触动传感器:用来感测机器人是否有触碰到目标物或者障碍物。类似按钮式的开关功能,用来感测机器人前后方等是否有障碍物。被压下时回传值为1,否则回传0。比如机器人碰碰车、线控车、计数器、珠宝防盗器等。

超声波传感器:类似人体的眼睛,可以侦测距离的远近。可分为英寸(inch)和公分(cm)两种不同的距离单位。比如走迷宫,欢迎/谢谢光临侦测,避障车等。

能源测量:从能量表中读取资料。用来侦测能量表中的伏特、安培和瓦特等资讯。比如侦测目前太阳光照射时的强度。

NXT声音传感器:它就是机器人的耳朵,可以用来侦测机器人周边的声音大小,以让机器人做出不同的动作。比如声控车或者噪音检测器等。

数据模块

关于EV3编程模块的理解
变量:是指其内容会随着程式的执行而改变,想象成容量专门用来储存资料的地方。拥有读取和写入两种模式,比如计算1加到10之间的和。

常量:是指其内容不会随着程式的执行而改变,用来储存不会改变的值。有文字、数值、逻辑、数字排列、逻辑排列等五种资料形态模式。比如存储π的大概值为3.14。

阵列运算:是指一群具有相同名称及资料形态的变数之集合。提供附加元素、读取索引、写入索引、计算阵列的长度等模式。比如每一小时侦测一次环境的温度,并且存储到阵列中,以便进一步分析每天的温度变化曲线。

逻辑运算:用来判断两个逻辑值,在进行逻辑运算之后的结果。AND(且)、Or(或)、XOR(互斥或)和Not(非/反向)四种逻辑关系。逻辑结果的回传值为是/否。比如机器人向前驱动,直至压下了触碰传感器或者颜色传感器检测到黑色就会停止。

数学计算:指将输入的两个或者多个数值资料进行各种数学运算。提供了加减乘除、绝对值、平方根、指数和高级运算等计算方式。比如了解机器人模型转动角度及行走距离,完成一个直角三角形路线的行走。

舍入:用来读取某一数值的近似值,提供了四种模式,暨四舍五入(4.75→5)、无条件进位(4.1→5)、无条件舍位(4.99→4)和设定小数点的位数(4.75→4.7,舍去小数点后一位)。可用实例比如利用颜色传感器检测反射光值,以四舍五入模式显示在屏幕中。

比较:用来比较两个数值之间的关系,提供了等于、不等于、大于、大于等于、小于、小于等于等比较关系,回传值为是/否。比如利用颜色检测到第三条黑色就停止。

范围:用来判断输入的数值是否符合某一范围或者超出范围。有两种类型,暨合法范围和超出范围。回传值为是/否。比如利用颜色传感器检测反射光值是否为50-80%。

文本:用来合并两个或者以上的字串资料,其中字串也可以是数字。比如同时显示多个传感器检测数值资料。

随机:是指在最小值与最大值之间随机产生某一乱数值,或者随机概率逻辑值。

高级模块(从左到右的顺序)(注:相对较少应用)

关于EV3编程模块的理解
文件存取:将数据以文本的形式保存到EV3中,并且可以导入到客户端,以Excel形式打开查看。

数据日志:同测试实验密切结合,将各种数据值保存,在实验窗口打开,进行数据分析,也可以通过数据实验分析驱动机器人模型。

消息传递:两个EV3之间进行消息的传递发送或者接收都需要使用这一模块。使用之前也可以在EV3中设置蓝牙连接,数据类型有文本、数字和逻辑等。要发送接收消息之前必须先将蓝牙模块连接到EV3程序块。

蓝牙连接:开启关闭蓝牙功能,或者进行连接、清除连接等。不是所有的蓝牙设备都可以同EV3进行连接,一个主EV3程序块最多可以连接到7个从属EV3程序块。只能主EV3程序块发送消息给从EV3程序块,不能从EV3程序块发送消息给主EV3程序块。

保持活动:保证机器人在运行时不因设置的原因而进行关机。如果程序需要等待的时间长于EV3程序块睡眠设置,则使用此模块。睡眠设置使用EV3程序块界面进行配置。注意:小心电池电量。

原始传感器值:常见于第三方传感器模块的使用,输出未经修正的传感器检测值,使用之前最好进行数据检测校正。根据收集的数据可以进行对数据进行分析,设定期间的各种线性函数关系等。

未校准电机:和常规中型电机模块和大型电机模块未不同,未调整电机模块不包括自动电机控制。这表示不会包括任何针对电机功率的自动调整。指定“功率”输入是用于控制电机的输入。功率控制将补偿电机遭遇的任何阻力或空转。功率控制还会在可能时尝试补偿电池电量。(来源EV3中文使用帮助)

反转电机:将电机的运转反向发生改变。电机方向反转之后,它会保持反转状态,直至另一个反转电机模块使用等于“伪”的反转将其改回。

停止程序:立即终止所有编程模块序列并结束程序。

注释:对EV3程序模块进行注释,在机器人运行时不会显示和运行。