注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

启睿教育——张铭炜

启睿机器人科技活动中心——知之者不如好之者,好之者不如乐之者

 
 
 

日志

 
 

NXT2.0编程系列---循环模块  

2010-07-16 11:37:47|  分类: NXT编程指导 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

使用此模块可重复代码的序列。 设置循环结束的条件: 经过时间、重复次数、逻辑信号或传感器。 也可设置循环永不停止。

显示设置

向循环模块添加模块

移动循环模块

配置循环模块


显示设置

image of Loop block, empty when dragged from palette; infinity symbol marked with number 1

Image of Loop block, containing a motor block and set for light sensor conditional; counter marked with number 2; sensor icon marked with number 3


当“循环”模块的动作属性设置为“永久”时,将在模块尾部的底部显示无穷大符号 (∞)。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。 也可以使用当前计数控制循环本身。 (请参见如下“配置循环模块”部分的“计数”设置)。
如果选择一个传感器控制循环,“循环”模块的尾部尺寸将增大,显示所选传感器的图标。 例如,选择了“光线传感器”控制循环,将在模块扩大的部分显示“光线传感器”图标。 此外,任何有关所选属性的相关信息将在模块的底部显示。

向循环模块添加模块

如果在序列束中放置一个“循环”模块,序列束较短的部分将显示在“循环”模块内;拖至序列束此部分上的编程模块将与之对齐。 任何拖入已经含有编程模块的新模块将导致框向两侧扩大。 这将扩大空间以使新的模块与序列束对齐。


移动循环模块

仅可以单击模块本身以选择并移动“循环”模块;单击周围的框或框内的模块没有作用。


配置循环模块

可使用“控制”属性下拉菜单中的五个主要影响循环的条件来进行选择:


永久[默认]
时间
传感器(这将激活第二个下拉菜单)
触动传感器
光线传感器
声音传感器
超声波传感器
NXT 按钮
(内置)圈数传感器
计时器
接收消息

LEGO MINDSTORMS 教学 NXT 软件


触动*传感器
光线*传感器
圈数*传感器
温度传感器
计数
逻辑

永久

Image of configuration pane for the Loop block, set to Forever

如果选择“永久”,循环内任何编程模块将永久重复,没有中断。


选择“显示计数器”复选框将循环的数量用作另一模块的输入。 (示例: 要增加“电机”模块的电源。)

时间

Image of configuration pane for the Loop block, set to Time

如果选择“时间”,循环内的编程模块将重复直至已超过特定的秒数。 在达到时间期限时,循环将结束。


使用此框键入循环将运行的秒数。 例如,如果选择了 5 秒,循环将在经过 5 秒后结束。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

触动传感器

Image of configuration pane for the Loop block, set to Touch Sensor

如果选择“触动传感器”,循环内的编程模块将重复直至触动传感器受到碰撞、按压或释放。 然后循环将结束,程序将继续。


选择触动传感器连接的端口。
使用单选按钮指定是否希望触动传感器受到碰撞、按压或释放时结束循环。 如果希望模块在触动传感器被快速的按压和释放时触发(持续时间不超过 0.5 秒),则选择“碰撞”。 如果希望模块在触动传感器被按压时触发,则选择“按压”。如果希望模块在触动传感器被释放时触发,则选择“释放”。
可使用反馈框测试触动传感器。 当机器人上的传感器被激活时,将在此处显示编号“1”。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

声音传感器

Image of configuration pane for the Loop block, set to Sound Sensor

如果选择“声音传感器”,循环内的编程模块将重复直至声音传感器检测到特定范围内的声音。


选择声音传感器插入的端口。默认情况下,模块会将端口 2 设置给声音传感器。
可使用滑块或在输入框中键入值来指定触发值。 如果希望声音强度高于触发值时结束循环,则选择滑块右侧的单选按钮;如果希望声音强度低于触发值时结束循环,则选择左侧的单选按钮。 也可以使用下拉菜单设置将结束循环的滑块部分。
反馈框显示当前声音读数(0-100%)。 可使用其验证不同的触发值。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

光线传感器

Image of configuration pane for the Loop block, set to Light Sensor

如果选择“光线传感器”,循环内的编程模块将重复直至光线传感器检测到特定强度的光线。 然后循环将结束,程序将继续。


选择光线传感器插入的端口。默认情况下,模块会将端口 3 设置给光线传感器。
可使用滑块或在输入框中键入值来指定触发值。 如果希望光线强度高于触发值时结束循环,则选择滑块右侧的单选按钮;如果希望光线强度低于触发值时结束循环,则选择左侧的单选按钮。 也可以使用下拉菜单设置将结束循环的滑块部分。
如果选择了“发光”复选框,光线传感器将开启自身小光源并检测是否光被反射回来。
反馈框将显示当前光线读数。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

超声波传感器

Image of configuration pane for the Loop block, set to Ultrasonic Sensor

如果选择“超声波传感器”,循环内的编程模块将重复直至超声波传感器检测到特定距离内的物体。


选择超声波传感器插入的端口。默认情况下,模块会将端口 4 设置给超声波传感器。
可使用滑块或在输入框中键入值来指定触发值。 如果希望超声波传感器检测到的物体距离小于触发值时结束循环,则选择滑块右侧的单选按钮;如果希望超声波传感器检测到的物体距离大于触发值时结束循环,则选择左侧的单选按钮。 也可以使用下拉菜单设置将结束循环的滑块部分。
选择读数值,单位:厘米或英寸。
反馈框将显示当前超声波传感器的读数。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

NXT 按钮

Image of configuration pane for the Loop block, set to NXT Buttons

如果选择“NXT 按钮”,循环内的编程模块将重复直至所选 NXT 按钮受到碰撞、按压或释放。


选择哪一个 NXT 按钮在激活时将发出“真”信号(并结束循环)。
如果希望所选按钮在快速按压并释放后激活,则选择“碰撞”。 如果希望所选按钮在按钮被按压时激活,则选择“按压”。如果希望所选按钮在按钮被释放时激活,则选择“释放”。
反馈框将在所选 NXT 按钮碰撞、按压或释放时显示“1”(根据设置的配置)。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

(内置)圈数传感器

Image of configuration pane for the Loop block, set to Built-in Rotation Sensor

如果选择“读取”圈数传感器,循环内的编程模块将重复直至圈数传感器达到特定值;然后循环将结束且程序将继续。 如果选择“复位”圈数传感器,传感器将在每个循环之后复位为零;模块将继续循环直至圈数传感器在循环中达到触发值。


选择电机连接的端口。
选择读取或复位圈数传感器。
使用单选按钮设置所需的方向: 向前或向后。
使用下拉菜单选择计数“圈数”或“角度”。
键入希望在循环结束前进行的圈数或角度(允许程序继续)。
反馈框将显示当前的圈数或角度。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

计时器

Image of configuration pane for the Loop block, set to Timer

如果选择“读取”计时器,循环内的编程模块将重复直至 NXT 的一个内置计时器达到特定时间值;然后循环将结束且程序将继续。 如果选择“复位”计时器,计时器将在每个循环之后复位为零;模块将继续循环直至计时器在循环中达到触发值。


选择希望受到监控的 NXT 计时器。
选择读取或复位计时器。
在输入框中键入时间值(单位:秒)。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

接收消息

Image of configuration pane for the Loop block, set to Receive Message

如果选择“接收消息”,循环内的编程模块将重复直至 NXT 收到特定的蓝牙消息。 然后循环将结束,程序将继续。


可使用下拉菜单选择希望收到的消息类型(文本、数字或逻辑)。
要将测试消息与传入的消息进行比较,在输入测试文本或数字(如果已选择文本或数字作为格式),或使用单选按钮选择测试逻辑值(真或伪)。
选择传入消息存入的邮箱号码。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

触动*传感器

Image of configuration pane for the Loop block, set to old Touch* Sensor – callouts 1-3

如果选择“触动*传感器”,循环内的编程模块将重复直至触动*传感器受到碰撞、按压或释放。 然后循环将结束,程序将继续。


选择触动*传感器连接的端口。 默认情况下,模块会将端口 1 设置为触动传感器。
使用单选按钮指定是否希望触动传感器受到碰撞、按压或释放时结束循环。 如果希望模块在触动传感器被快速的按压和释放时触发(持续时间不超过 0.5 秒),则选择“碰撞”。 如果希望模块在触动传感器被按压时触发,则选择“按压”。如果希望模块在触动传感器被释放时触发,则选择“释放”。
可使用反馈框测试触动传感器。 当机器人上的传感器被激活时,将在此处显示编号“1”。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

光线*传感器

Image of configuration pane for the Loop block, set to old Light* Sensor – callouts 1-3

如果选择“光线*传感器”,循环内的编程模块将重复直至光线*传感器检测到特定强度的光线。 然后循环将结束,程序将继续。


选择光线*传感器插入的端口。默认情况下,模块会将端口 3 设置给光线*传感器。
可使用滑块或在输入框中键入值来指定触发值。 如果希望光线强度高于触发值时结束循环,则选择滑块右侧的单选按钮;如果希望光线强度低于触发值时结束循环,则选择左侧的单选按钮。 也可以使用下拉菜单设置将结束循环的滑块部分。
反馈框将显示当前光线读数。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

圈数*传感器

Image of configuration pane for the Loop block, set to old Rotation* Sensor – callouts 1-6

如果选择“读取”圈数*传感器,循环内的编程模块将重复直至圈数传感器达到设定的标度数量(16 标度至一圈);然后循环将结束且程序将继续。 如果选择“复位”圈数*传感器,传感器将在每个循环之后复位为零;模块将继续循环直至圈数*传感器在循环中达到触发值。


选择电机连接的端口。
选择读取或复位圈数*传感器。
使用单选按钮设置所需的方向: 向前或向后。
键入希望在循环结束之间进行的标度(16 标度至一圈)。
反馈框将显示当前的标度数量(16 标度至一圈)。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

温度传感器

Image of configuration panel for the Loop block, set to Temperature Sensor – callouts 1-5

如果选择“温度传感器”,循环内的编程模块将重复直至温度传感器测到特定的温度。 然后循环将结束,程序将继续。


选择温度传感器插入的端口。默认情况下,模块会将端口 4 设置给温度传感器。
可使用滑块或在输入框中键入值来指定触发值。 如果希望温度高于触发值时触发模块,则选择滑块右侧的单选按钮;如果希望温度低于触发值时触发模块,则选择左侧的单选按钮。 也可以使用下拉菜单设置滑块的“真”部分。
选择读数值,单位:摄氏或华氏。
反馈框将显示当前的温度读数。
如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。

计数

Image of configuration pane for the Loop block, set to Count

如果选择“计数”,循环内的编程模块将重复直至计数器达到设定的重复数量。


1使用此框键入将结束循环的重复数。 例如,如果键入“2”,循环将在循环中编程模块运行两次后结束循环。
2选择“显示计数器”复选框以便可将循环的左侧连接至右侧(这里将显示“计数”接头)。 当左侧与右侧连接时,程序将能够计数完成的循环数量,并在计数达到设定数量时结束循环。

逻辑

Image of configuration pane for the Loop block, set to Logic

如果选择“逻辑”并将输入数据线连接至“循环”模块的尾部,循环中的任何编程模块将重复直至“循环”模块通过数据线收到真或伪逻辑信号。 当收到指定的逻辑信号,循环将结束。


1选择将结束循环的逻辑信号类型,真或伪。
2如果选择了配置面板中的“显示计数器”复选框,将显示一个接头,通过该接头可使用完成的循环数量作为程序中其它位置的输入(如果从接头连接数据线至另一模块的数据中心)。
  评论这张
 
阅读(1100)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017