当前位置:首页 >> 学科竞赛 >>

NBC中文翻译1


――――――――――――――――――――――――――――― 修改记录

2009/4/17 由 flexitime 增加翻译内容 完成原文 8 到 9 页的最初翻译。 2009/4/16 flexitime 创建本文档 完成原文 5 到 7 页的最初翻译。 ――――――――――――――――――――――――――― Programming Lego Robots

using NBC (Version 1.0, June 11, 2007) Requires NBC 1.0.1.b30 or greater

一.写你的第一个程序 在这一章里面,我将会向你展示如何写出一个最简单程序,我们打算安排机器人向前移动 4 秒,然后向后移动 4 秒,最后停下来,没有其它令人瞩目的地方,但它会向你介绍编程的基 本概念, 同时它会向你展示这是多么的简单。 在我们写程序之前, 我们首先需要一个机器人。 搭建机器人 我们将使用“Tribot”机器人来贯穿整个教程,它的搭建指南在你的 NXT 套件当中。如果你 不熟悉 LEGO 的机器人。我建议你按照 Lego 的教程来制作它。同时使你开始知道 NxT 能 干些什么。你的机器人应该像这个样子 [P5 图片] (注意:你可能已经将感兴器及收集杆安装上去了,如果是你应该暂时先将它们移除掉。因 为当连接它们时会有一些的例子是不能正常工作的) 启动 Bricx Command Center 我们将使用 Bricx Command Center 来写程序,通过双击就可以启动它。 (我假设你已经安装 了 Bricx Command Center,如果没有,请从网页上下载并安装)程序会询问你,机器人在那 里,打开你的机器人,并点击 OK,程序会自动的找到机器人,现在你就会看到用户介面出 现在你的面前。 [P6 图片] 用户介面看起来像一个标准的文本编辑器, 有普通的菜单, 有打开, 保存, 打印等等的按钮。 这里也有一些特殊的菜单,如编译、下载程序到机器人和从机器人中收集信息。你现在可以 怱略这些。我们打算写一个新的程序,因此点击 New File 按钮来创建一个新的空窗口。 写程序 现在输入下面的程序:

thread main OnFwd(OUT_B,100) OnFwd(OUT_C,100) wait 4000 OnRev(OUT_BC,100) wait 4000 Off(OUT_BC) exit endt 这些东西开始看起来有点复杂。 因此让我们一起来分析它。 NBC 的程序都是由线程 (threads) 来组成,我们的程序就含一个线程,名字叫做 main,每个一程序都必须含有一个叫 main 的 线程,它是由机器人来调用的,你会在第五章中学到更多有关线程的知识。一个线程是由一 堆的命令所组成的,通常也叫做语句(?),每个语句占用一行,因此一个线程(原文用 task, 估计是从 NXC 中抄过来的)看起来通常会像这样: thread main statement1 statement2 endt 让我们逐行来看程序 OnFwd(OUT_B,100) 这个语句是告诉机器人启动 B 输出口, 连接在标记为 B 输出口的电机会向前移动 (转动?) , 100 是指速度的百分比值,在这里它会以最大的速度移动。 OnFwd(OUT_C,100) 同样的语句,不过现在我们启动的是电机 C,经过这两条语句后,两个电机都将运行。而机 器人也会向前移动。 wait 4000 现在是时候让它停下来一会儿。 这个语句告诉我们会停 4 秒, 给出的参数是以毫秒为单位的。 (1/1000 秒) ,因此你能非常精确的告诉程序要等待的时间长度。在这 4 秒中,程序什么都 不干,而机器人将继续向前移动。 OnRev(OUT_BC,100) 机器人现在已经走得够远的了,因此我们告诉它往相反的方向走,这就是向后走。注意,我 们能够使用 OUT_BC 作为参数来同时设置两个电机。我们当然也能将前面两个语句通过这 种方式合并。我们也能使用 OnFwd(OUT_BC,-100).来实现。 wait 4000 再次等待 4 秒。

Off(OUT_BC) 最后,我们关闭两个电机。 exit 这个语句告诉 NXT 这个线程结束了,不过这个不是必须出现在线程结尾的,只是推荐这样 做。注意,它经常出现在线程的别的地方。 这就是整个程序,它会驱动两个电机向前 4 秒,然后向后 4 秒,最后关闭它。 你可能会注意到输入程序时的颜色, 它们自动出现, 编辑器通常会用颜色及样式高亮显示特 定的语法。 运行程序 一旦你写好了程序,程序就需要编译(这是将它改变成机器人能认识和执行的代码) ,和使 用 USB 或蓝牙发送到设备上(叫“downloading”程序) 。在做这些之前,你需要命名你的程 序,你保存它到你的硬盘上就行了。当你保存时,一定要保证文件的扩展名是“nbc” ,告诉 Bricx Command Center 这是一个 NBC 的程序。 [P8 图片 上]

保存完文件后, 你可以编译和简单的点击下载按钮下载它。 假设你在录入程序时没有犯任何 的错误,它就会正确地被编译和下载(如果你的程序中有错误,你会得到一些通知,看下面 的图)现在你能够运行程序,按这样做:在 NXT 中选择“Software Files” ,查找“1-simple” , 再使用橙色的键来运行它。另一种方法是,你可以通过 Bricx Command Center 来运行它, 在你的窗口中点击绿色的运行按钮 (看上面的图片) 。 机器人能按你预期工作吗?如果没有, 电缆可能连接得不正确。 程序中的错误 当你录入程序时,会有一些合理的情况使你犯下错误,编译器会注意到这些错语,并会在窗 体的下方报告这些错误,就是以下的图片所示。 [P8 图片 下] 它会自动选择第一个错误(我们打错了电机的名字) ,当有不止一个错误的时候,你可以点 击这些错误的信息去找到错误的地方,注意,第一个错误经常会引起其它地方的错误,因此 你最好只改正最前面的一些错误然后再编译一次。 ****通常也要注意的是语法高亮在很多情况下会帮助避免错语,例如在我们输入的最后一 句。Of 应该是 Off 才对,因为编辑器不认识这个命令,所以它没有高亮,因此你们可以在 你编译程序之前发现到它们, 这里还有一些错误是编译器不能找到的, 如果我们输入 OUT_B 的话,它是不会被发现的,因为那个电机是存在的(尽管我们没有在机器人中使用它) ,如 果你的机器个展现出非预期的动作时,这大概可能大概是你的程序中那个地方错了 改变速度: 可能你会发现,机器人的移动速度相当快,默认的情况下,机器人是以它最快的速度来移动

的, 如果要改变速度, 只要在 OnFwd 中使用不同的参数值就行了。 动力是一个介于 0 到 100 的数值,是一个最大动力的百分比值,这里是我们新版本中的程序,这个机器人移动速度会 较慢。 thread main OnFwd(OUT_BC,25) wait 4000 OnRev(OUT_BC,25) wait 4000 Off(OUT_BC) exit endt 在这个例子中,你可以看到速度的值以及等待时间的值都是重复的,如果你要修改它们,你 必须在好几处地方去修改它,而你很可能会漏掉一个。因此在 NBC 中(原文中有错) ,你 可以定义一个常量值,就像下面所示的程序: #define SPEED 25 #define MOVE_TIME 4000 thread main OnFwd(OUT_BC, SPEED) wait MOVE_TIME OnRev(OUT_BC, SPEED) wait MOVE_TIME Off(OUT_BC) exit endt 现在如果你需要改变速度,你只要修改一个地方即可。 增加注释 为了使你的程序更具可读性,最好是增加注释,只要你在行里输入//时,行剩下的地方就会 被怱略这样它就成为了注释。 如果是长的注释, 你可以把内容放在 /*和 */之中, 注释在 Bricx Command Center 中是会被高亮显示的,整个程序看起来会像下面的样子:


相关文章:
NBC中文翻译2
NBC中文翻译2_学科竞赛_高中教育_教育专区。今日推荐 68份文档 新...2014年1月1日起“驾照新规”出炉 科目三实际道路驾驶考试注意事项 驾考新题抢先...
翻译NBC_tutorial
翻译NBC_tutorial_教学研究_教育专区。乐高机器人编程 NBC (版本 1.0,2007 年 6 月 11 号) (nbc1.0.1.b30 或更高) 由罗斯克劳福德 由约翰汉森修改 前言...
SY-DW04BDW08BDW16B中文-印刷
G2130印刷手册(中文) 暂无评价 2页 10财富值 印刷中文论文翻译 8页 1财富值...NBC 1 路 BNC,1 路 VGA 4路 1路 4 4 路报警输入 8 路报警输入 1 路...
外文资料及中文翻译
外文资料及中文翻译_英语学习_外语学习_教育专区。中文译文 从新型葡萄籽 IH636...最近的一项研究表明从 IH636 葡萄籽中提取的低聚原花青素与 NBC 一起使用能...
美剧大看台
(National Broadcasting Company,简称为 NBC)总部设在纽 约(New York)成立于 ...由于人多,所以他们的翻译机制 是一个小组翻一部剧,幵丏采用认领的斱式。YDY ...
商务印书馆2004年第一季度所有图书书目信息
NBC 空中交响乐》,这使他培养出一种深入浅出,...作品虽好,但翻译之中错误仍然在所难免,希望音乐界...对同一位作者或同一篇文章的不同中文译名,则尽量在...
爱国情怀去追求专业主义在对抗中寻找平衡
·阿内特被该公 司解雇.在 NBC《今日》节目里,NBC位官员宣读了份声明...·穆罕默德,25 岁,库尔德人,英国广播公司(BBC)的一名翻译, 在美军战机误炸美国...
外研社新版三年级英语下册第一模块测评
YZ D. nbc 出卷人___郑明翠___学校___ 班级___ 二、听音连线。 (10 ...(8 分) 十、判断下列句子的翻译是否正确,打√或×。(12 分) 1. What’s...
全国2013年1月自考《新闻摄影》试题
全国2013 年 1 月自考《新闻摄影》试题绝密★考试结束前 全国 2013 年 1 月...NBC、ABC 的中文全名是 A、全国广播公司 B、美国广播公司 C、纽约广播公司 D...
中英对照演讲文稿及视频
(一个半小时) 口译现场:李毅中在人大两会中发言(...(英文同传版+中文温家宝版+中英文档) 口译现场:09....现场翻译(附音频) 妮可基德曼“口译”面试 NBC 版本...
更多相关标签:
nbc中文 | nbc2006中文完整版 | 兰登阅读1中文翻译 | nest1e中文翻译 | qt中文中含 1翻译 | 1到9数字翻译成中文 | 战地1中文翻译 | 黑暗之魂1 中英文翻译 |