等待模块

等待模块使程序在继续执行序列中的下一个模块之前等待某种事件。可以等待特定时间量、传感器达到特定值或是传感器值更改。
提示和技巧
等待模块不会使机器人停止。如果有任何电机在模块开始时开启,则这些电机会在等待过程中保持开启状态。
选择“等待”模式


模式选择器
输入

使用模式选择器可选择“等待”模式。选择“时间”模式可等待指定时间量(以秒为单位)。选择传感器类型和“比较”模式可等待传感器达到特定值。选择传感器类型和“更改”模式可等待传感器更改为新值或按特定量更改。

可用输入会因模式而异。
时间


在“时间”模式中,等待模块等待在秒数输入中指定的时间量。从等待模块开始时测量时间。
提示和技巧
可以在秒数中包含小数点。例如,2.5 秒会等待两秒半。
请参见显示模块“使显示的项目保持可见”部分中的编程示例。
传感器比较模式
等待模块中列出的每种传感器类型都具有一个或多个“比较”模式。“比较”模式会从传感器连续读取数据,并等待它达到指定值。

某些类型的传感器数据可以与阈值进行比较,其他类型可以与某些特定值进行比较。
等待传感器阈值
在具有阈值输入的传感器比较模式中,等待模块会连续从传感器读取数字数据,并将其与指定的阈值进行比较。模块在阈值比较为“真”时停止。例如,可以等到颜色传感器检测到小于 50 的反射光线强度值。



模式选择器
端口选择器
“比较类型”输入
“阈值”输入
“测量值”输出

使用模式选择器可选择具有阈值输入的传感器比较模式。如果模式使用端口,则使用端口选择器确保端口与传感器或电机连接到的 EV3 程序块上的端口匹配。

比较类型列表中选择要使用的比较类型,然后输入阈值。等待模块会等到阈值比较为“真”。
提示和技巧
如果指定比较已在等待模块开始时为“真”,则程序会立即继续执行下一个模块。
最终传感器值在测量值中输出。可以使用此模式确定使阈值测试为“真”的准确传感器数据值。

有关使用不同传感器类型及它们提供的数据的更多信息,请参见“使用传感器”帮助文章。
等待特定传感器值
等待模块的以下“比较”模式允许您等待特定传感器值:

程序块按钮 - 比较 - 程序块按钮
颜色传感器 - 比较 - 颜色
红外传感器 - 比较 - 远程
触动传感器 - 比较 - 状态
超声波传感器 - 比较 - 存在
消息传递 - 比较模式
程序块按钮 - 比较 - 程序块按钮


可以等待一个或多个程序块按钮受到按压、松开或碰撞。例如,可以等待中按钮受到按压。有关程序块按钮的更多信息,请参见使用程序块按钮

在输入程序块按钮 ID 集合中选择一个或多个程序块按钮,然后选择“松开”、“按压”或“碰撞”作为“动作”。等待模块会等待,直至任何一个所选按钮执行所选动作。测量值输出指示最后按压的按钮(如果有)。
示例
此程序使机器人向前驱动,直至中按钮受到按压,然后停止并发出声音。
颜色传感器 - 比较 - 颜色


可以等待颜色传感器检测到一个或多个指定颜色。例如,可以等待颜色传感器检测到黑色。有关“颜色”模式中的颜色传感器的更多信息,请参见使用颜色传感器

颜色集合输入中选择一个或多个颜色。模块会等待,直至检测到所选颜色中的任何一个。检测到的颜色会在测量值中输出。
红外传感器 - 比较 - 远程



可以等待在 IR 信标上按压了按钮。有关红外传感器的更多信息,请参见使用红外传感器“远程”模式

在“远程按钮 ID 集合”中选择一个或多个按钮,并为 IR 信标输入频道编号。模块会等待,直至按压了所选按钮中的任何一个。受到按压的按钮的 ID 在测量值中输出。
示例
此程序在按压 IR 信标上的按钮 1 时使电机开始转动,然后在松开该按钮时停止转动。通过等待没有按压任何按钮(按钮 ID = 0)来检测松开。
触动传感器 - 比较 - 状态


可以等待触动传感器受到按压、松开或碰撞。有关更多信息,请参见使用触动传感器

在状态输入中选择“松开”、“按压”或“碰撞”。模块会等待触动传感器处于所选状态。
超声波传感器 - 比较 - 存在


可以等待超声波传感器检测到来自附近另一个超声波传感器的信号。模块会等到检测到超声波信号。有关更多信息,请参见使用超声波传感器
消息传递 - 比较模式


可以等待收到与指定比较匹配的消息。有关更多信息,请参见消息传递
传感器更改模式
更改
等待模块中列出的每种传感器类型都具有一个或多个“更改”模式。“更改”模式会从传感器连续读取数据,并等待它更改为另一个值,或按指定量更改。

可以等待某些类型的传感器数据按特定更改,以及等待其他类型更改为另一个值。
等待传感器按特定量更改
在具有输入的传感器更改模式中,等待模块会在模块开始时从传感器读取起始值,然后连续从传感器读取数据,并等待值相对于起始值更改了指定。可以选择所需的更改方向(“增加”、“减少”或“任意”)。例如,可以等待来自颜色传感器的环境光强度值增加 10。



模式选择器
端口选择器
“方向”输入
“量”输入
“测量值”输出

使用模式选择器可选择具有输入的传感器更改模式。如果模式使用端口,则使用端口选择器确保端口与传感器或电机连接到的 EV3 程序块上的端口匹配。

方向中选择要等待的更改方向类型(“增加”、“减少”或“任意”),然后输入更改。为方向选择“任意”会使机器人等待传感器值增加或减少指定量。

最终传感器值在测量值中输出。
示例
此程序在驱动之前等待来自颜色传感器的环境光强度值增加 10。可以使用此方法在开启房间灯或将手电筒照射到传感器时,使机器人开始驱动。
等待传感器更改为任何不同值
等待模块的以下“更改”模式使您可以等待传感器更改为与模块开始时的值不同的任何值:

程序块按钮 - 更改 - 程序块按钮
颜色传感器 - 更改 - 颜色
红外传感器 - 更改 - 远程
触动传感器 - 更改 - 状态
消息传递 - 更改模式
程序块按钮 - 更改 - 程序块按钮


“程序块按钮 - 更改 - 程序块按钮”模式等待按压或松开了任何一个程序块按钮。按压或松开的按钮的按钮 ID 在更改的按钮中输出。有关程序块按钮的更多信息,请参见使用程序块按钮
颜色传感器 - 更改 - 颜色


“颜色传感器 - 更改 - 颜色”模式等待“颜色”模式中的颜色传感器检测到的颜色编号 (0-7) 更改。检测到的最终颜色在颜色中输出。有关使用“颜色”模式中的颜色传感器的更多信息,请参见使用颜色传感器
红外传感器 - 更改 - 远程


“红外传感器 - 更改 - 远程”模式等待来自 IR 信标的按钮 ID 更改。在大多数情况下,如果按压或松开了 IR 信标上的任何按钮,则按钮 ID 会更改。在更改之后测量的按钮 ID 在测量值中输出。有关更多信息,请参见使用红外传感器“远程”模式
触动传感器 - 更改 - 状态


“触动传感器 - 更改 - 状态”模式等待触动传感器的状态更改。如果在模块开始时松开(而不是按压)了传感器,则它会等待受到按压。如果在模块开始时按压了传感器,则它会等待松开。最终状态会在测量值中输出。有关更多信息,请参见使用触动传感器
消息传递 - 更改模式


“消息传递 - 更改”模式等待收到具有指定类型和消息标题并且值与最后一个匹配消息类型不同的消息。

“消息传递 - 更新”模式等待收到具有匹配类型(文本、数字或逻辑)和消息标题的消息。消息值在“消息”中输出
输入与输出
可用于等待模块的输入取决于所选模式。可以将输入值直接输入到模块中。或者,可以通过数据线从其他编程模块的输出提供输入值。
输入类型备注
秒数 数字在“时间”模式中要等待的秒数。
比较类型数字具有阈值的传感器比较模式的比较类型。
0:=(等于)
1:≠(不等于)
2:>(大于)
3:≥(大于或等于)
4:<(小于)
5:≤(小于或等于)
阈值数字对于具有阈值的传感器比较模式,要将传感器数据与之进行比较的值。
方向 数字数字传感器值进行更改的方向。
在具有“量”输入的传感器更改模式中使用。
0 = 增加
1 = 减少
2 = 任意
数字在传感器更改模式中传感器值要更改的量
(各种传感器类型的输入)有关传感器数据的更多信息,请参见各种传感器类型的帮助。
对于传感器比较或传感器更改模式,等待模块的输出是等待结束时测量的传感器值。要使用该输出,请使用数据线将其连接到循环内部或之后的编程模块。
输出类型备注
(各种传感器类型的输出是不同的)有关传感器数据的更多信息,请参见各种传感器类型的帮助模式。
测量值 数字等待之后的传感器值。
等待
快速链接