- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NBC中文翻译4
―――――――――――――――――――――――――――――
修改记录
2009/4/22 由flexitime增加翻译内容
完成原文 16、17页的最初翻译。
2009/4/19 由flexitime增加翻译内容
完成原文 12到15页的最初翻译。
2009/4/18 由flexitime增加翻译内容
完成原文 10到12页的最初翻译。
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秒,最后关闭它。
你可能会注意到输入程序时的颜色,它们自动出现,编辑器通常会用颜色及样式高亮显示特定的语法。
运行程序
一旦你写好了程序,程序就需要编译(这是将它改变成
文档评论(0)