LEGO MINDSTORMS EV3 使用计时器

计时器可以用于测量时间间隔。计时器的用法类似于传感器,但是它位于 EV3 程序块内部,无需传感器端口。例如,可以使用计时器测量机器人移动特定距离所需的时间量。

EV3 具有八个计时器,因此可以一起对多达八个不同事件进行计时。可以在程序中的任何位置将计时器重置为零,它会从该处开始计时。

提示和技巧

如果只是希望在程序中等待特定时间量,则可以使用“等待时间”模式的等待模块。使用计时器可以在程序中的不同位置重置计时器和测试计时器。

计时器数据

计时器提供以下数据:

数据 类型 备注
经过时间 数字 自计时器上次重置以来经过的时间(以秒为单位)。

提示和技巧

提示:使用小数、以秒为单位测量时间。十分之一秒的间隔会形成 0.1 秒的经过时间。

重置计时器

可以使用“重置”模式的计时器模块,在程序中的任何位置将计时器重置为零(0.0 秒)。在计时器重置之后,它会立即从零再次开始计时。所有八个计时器都会在程序开始时自动重置,并始终运行。

提示和技巧

如果测量从未重置的计时器,则会获得自程序开始以来的经过时间。

计时器使用示例

下面演示了有关在程序中如何使用计时器的示例。

示例 1:每秒使电机移动一次

file

此程序每秒使电机精确转动 45 度一次,如同嘀嗒作响的时钟一样。此程序使用中型电机模块使电机转动 45 度,这会需要一点时间,但是少于 1 秒。随后此程序需要等待 1 秒间隔的剩余时间结束,然后再次移动电机。为此,此程序会使用“重置”模式的计时器模块在启动电机之前启动计时器 1。随后在电机停止之后,“计时器 - 比较 - 时间”模式的等待模块会等待计时器 1 达到 1 秒。这会形成总间隔 1 秒,包括电机移动时间和停止时间。

示例 2:测量按入触动传感器的时间长度

file

此程序测量每次按压触动传感器时按入的时间长度,以秒为单位的结果显示在 EV3 显示屏上。此程序使用等待模块等待触动传感器按压,然后再次等待松开。在按压之后,使用“重置”模式的计时器模块重置计时器 1。在松开之后,使用“测量 - 时间”模式的计时器模块测量计时器 1 的经过时间。生成的数字会连线到显示模块以便以秒为单位显示该数字。

计时器模块和模式

下表显示可以与计时器一起使用的所有编程模块和模式。

模块 模式 用途
等待 计时器 - 比较 - 时间 等待计时器达到特定值。
等待 计时器 - 更改 - 时间 等待计时器按特定量更改。
循环 计时器 - 时间 重复模块序列,直至计时器达到特定值。
切换 计时器 - 比较 - 时间 根据计时器在两个模块序列之间进行选择。
计时器 测量 - 时间 读取计时器,并通过数字数据线获取以秒为单位的结果。
计时器 比较 - 时间 将计时器与阈值进行比较,并通过逻辑数据线获取结果。
计时器 重置 将计时器重置为零。计时器会立即再次开始计时。

提示和技巧

计时器的简单用法还可能能够使用以下模块和模式:

模块 模式 用途
等待 时间 等待特定时间量。
循环 时间 在特定时间量内重复模块序列。
黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代