变量模块使您可以在程序中读取或写入变量。还可以创建新变量并进行命名。
变量是 EV3 程序块内存中可以存储数据值的位置。可以写入变量以存储数据 值。在程序后面部分中,可以从变量进行读取以访问存储的值。
每个变量都具有类型和名称。这些不同类型有数字、逻辑、文本、数字排列和逻辑排列。可以选择变 量的名称,这用于标识变量。
有关变量的不同类型的更多信息,请参见数据类型。
在程序运行期间,可以更改变量的值。每次写入变量时, 任何以前的值都会擦除并替换为新值。例如, 可以使用名为“Max Light”的变量跟踪机器人迄今为止从颜色传感器测量的最高光线强度。每次机器 人检测到较高值时,可以将新值写入“Max Light”变量。
要将新变量添加到项目,请执行以下操作:
1.插入或选择变量模块。
2.使用模式选择器选择“写入”模式。
3.选择变量类型(数字、逻辑、文本、数字排列或逻辑排列)。
4.单击模块顶部的模块文本字段并选择“添加变量”。“新变量”对话框会出现,如下所示。
5.在“新变量”对话框中,为变量输入名称并单击“确定”。变量名称可以是单个字母、一个单词、 几个单词或任何字母和数字序列。
【提示和技巧】
• 选择较短变量名称可以在程序中使用变量时更方便地查看整个变量名称。
• 选择的名称应有助于记住变量含义以及与程序中其他变量的不同之处。
• 添加了某个变量之后,该变量可在项目中的任何程序中使用。
6.添加了变量之后,可以在“写入”模式中使用变量模块为变量输入初始值。
写入
“写入”模式使您可以选择已添加到程序的变量(请参见添加新变量)并在其中存储值。 要写入变量,请执行以下操作:
1.使用模式选择器选择“写入”模式
2.选择变量的类型。
3.单击模块文本字段可显示弹出菜单。
4.选择要使用的变量的名称。
【提示和技巧】
在从弹出菜单选择变量名称之前,必须从模式选择器选择变量类型。弹出菜单仅列出与所选类型匹配 的变量。
5.现在可以使用值输入将值存储到变量中。可以将值直接输入到值输入中,也可以使用数据线。
【提示和技巧】
可以按所需次数写入变量,但是只会保留最后一个值。写入变量会擦除以前的变量值并将其替换为新 值。
读取
“读取”模式使您可以选择已添加到程序的变量(请参见添加新变量)并获取其中存储的值。 要读取变量,请执行以下操作:
1.使用模式选择器选择“读取”模式和变量的类型。
2.单击模块顶部的文本字段以显示弹出菜单,并选择要使用的变量的名称。
【提示和技巧】
在从弹出菜单选择变量名称之前,必须从模式选择器选择变量类型。弹出菜单仅列出与所选类型匹配 的变量。
3.现在可以从值输出获取变量的值,并通过数据线在程序中使用此值。
【提示和技巧】
如果读取从未向其写入值的变量,则结果对于数字变量会为 0,对于逻辑变量为“伪”,对于文本变量 为空文本,对于数字排列或逻辑排列变量为空排列。
示例 1:存储值并在以后使用它
此程序在“写入”模式中使用变量模块将来自颜色传感器的数据值存储在名为“Light”的变量中,然后 在“读取”模式中使用变量获取该值并在程序的后面部分中使用它
此程序旨在使机器人向外驱动并后退。在后退过程中, 机器人会在至少与启动时所处的颜色一样深的 颜色上停止。
【提示和技巧】
上面的程序还可以使用较长数据线而不是变量来执行,不过对于较长程序,通过使用变量存储值可以 更方便地处理程序。
示例 2:对触动传感器按压进行计数
此程序对按压触动传感器的次数进行计数,并在 EV3 显示屏上显示计数。它使用名为“Presses”的 数字变量跟踪按压触动传感器的次数。
“写入”模式中的变量模块在程序开始时将“Presses”的初始值设置为 0。在循环中, 程序在每次触动 传感器受到碰撞时将变量中存储的值加 1。实现方式是使用“读取”模式中的变量模块获取当前值,使 用数学模块和数据线加 1,然后使用“写入”模式中的变量模块将结果写入回变量。最后, 使用另一个 “读取”模式中的变量模块获取当前值并进行显示。
在“写入”模式中,变量模块具有单个输入。可以将输入值直接输入到模块中。或者, 可以通过数据线 从其他编程模块的输出提供值。
输入 |
类型 |
备注 |
值 |
(取决于模块模式) |
要存储到变量中的值 |
在“读取”模式中,变量模块具有单个输出。要使用该输出, 请使用数据线将其连接到另一个编程模块。
输出 |
类型 |
备注 |
值 |
(取决于模块模式) |
所选变量的值 |