? 工具栏
工具栏上有若干快捷按钮,使用起来很方便。各快捷按钮的作用如下图所示:
? JC代码编辑窗口
在JC代码编辑窗口中,可以同时打开多个JC程序进行编辑(在菜单栏“窗口”选项卡中选择“层叠”、“水平平铺”或“垂直平铺”选项)。支持剪贴板功能,自动缩进,关键字颜色显示,双击选词。
图3-6 JC程序编辑窗口
? 交互信息窗口
交互信息窗口可以显示编译结果、机器人程序中的全局变量、函数名列表、机器人正在运行的进程表、交互输入语句的执行结果,如图3-7所示。
JC语句交互输入区 结果输出区
图3-7 交互信息窗口
输出项目选择列表 如果下载的JC程序有语法错误,在结果输出区会显示出来。用鼠标双击“编译结果”窗口中的编译错误,光标会自动跳转到出错的JC语句所在行,如图3-8所示。
16 图3-8 编译结果信息
? 两个界面之间的切换
在流程图编辑界面中,点击工具栏上“编辑JC代码”快捷按钮编辑界面。
在JC代码编辑界面中,点击工具栏上“流程图窗口”快捷按钮
,可以切换到流程,会切换到JC代码
图编辑界面。
任何时候,通过“窗口”菜单可以直接选择JC代码编辑界面或者流程图编辑界面。 使用键盘上的“F12” 键可以快速地在两个界面之间来回切换。
17 第二节 快速入门
―― 走四边形的机器人 ――
4.2.1编程思路
机器人走四边形,就是让机器人完成“前进→转弯→前进→转弯→前进→转弯→前进→转弯”的动作,也就是说机器人需要完成四个“前进→转弯”动作。
而要让机器人完成一个“前进→转弯”,需要启动电机,使机器人以一定的速度向前运行一段路程,然后停下,旋转90°,再停下。这样就走完了四边形的一边。
要让机器人走四个边,有一个简便的方法,这就是循环。上述步骤循环4次,机器人就能够走出一个四边形了。
4.2.2程序编写
1.1.1 流程图编程
进入VJC1.6的流程图编辑界面,编写此程序的步骤如下: 用鼠标点击左边“控制模块库”,从中选择“多次循环”模块。将它拖到流程图生成区,与“主程序”相连,如图4-1(a)所示。鼠标右键点击此模块,就会出现图4-1(b)所示对话框,在对话框中将循环次数写为4,这意味着下面的循环体要重复执行4次。
4
(a) (b)
图4-1 多次循环
点击“执行器模块库”,从中选择“直行”模块(如图4-2(a)所示),连接在流程图中。在模块上右击鼠标,打开参数设置对话框(图4-2(b))。在对话框中可设置速度和时间,根据要求选择合适的值,机器人就可以完成走一条边的任务。
18
(a)
图4-2 直行
((b)
再点击“执行器模块库”,选择“转向”模块(如图4-3(a)所示),连接在流程图中,在模块上点击鼠标右键打开参数设置对话框,在“速度”和“时间”状态栏内,分别填写适当的值,使机器人向右旋转90°(图4-3(b))。
(a) (b)
图4-3 转向
最后,打开程序模块库,将“结束”模块添加上去,放在循环体外,就完成了走四边形的流程图的编写(图4-3(a))。
程序编写完毕,接下来就要下载到机器人里运行、调试了。首先把机器人和计算机用串口通信线连接起来,打开机器人电源开关,然后点击工具栏中的“下载”快捷按钮
,就
会出现一个“智能下载程序”对话框,并显示下载进程,待看到“下载成功”等字样时,说明程序已经下载到机器人中。
运行程序时,拔下串口通信线,将机器人带到开阔平坦的地方,按下机器人身上的“运行”键,机器人就开始走四边形了。也许你会发现机器人走的不很规则,转弯的角度不正确??,那么就需要修改“直行”和“转向”模块中的参数,对机器人进行反复调试,最后
19 他一定能走个漂亮的四边形!
1.1.2 JC代码编程
接下来让我们看看JC代码编程的相关知识。在流程图编辑界面中,点击菜单栏中的“文件”选项卡,在下拉菜单中选择“新建”,这时就会出现一个可供选择的对话框,请选择“JC代码程序”,确定,就进入了JC代码的编辑界面,在编辑窗口中键入:
void main()
{
int i;
for(i=0 ; i<4 ; i++) {
drive( 80 , 0 ); wait( 0.500000 ); stop();
drive( 0 , 80 ); wait( 0.100000 ); stop(); } }
这就是走四边形的JC代码程序,与前面的流程图是一致的。下面我们就来看看该程序中JC代码的含义。
1) main是系统定义的一个函数,每一个JC程序总是从main函数开始执行的;所以
第一句就可以理解为一个程序的“开头”;main函数的开始和结尾分别有个“{”和“}”;
2) void可以理解为“不带返回值”; 3) 程序中每一句结尾都要加“;”这是C语言语法规定! 4) for(i=0 ; i<4 ; i++)
{ 循环体 }
这是一个循环语句,4是循环次数,只要循环次数没有达到4次就执行{}中的语句(称为循环体),执行完4次循环体之后,就去执行{}后面的语句。在这个例子中,我们是要机器人走一个四边形,因此执行完4次就可以结束了。
5) drive( 80 , 0 );drive(a , b)是让机器人移动的库函数,可以决定左右电机的
速度,左电机速度=a+b,右电机速度=a-b。本句的意思是让机器人以80的速度向前直行; wait( 0.500000 );wait(t)是让机器人延续时间的库函数,与上句结合起来可以理解为让机器人向前走0.5秒;
stop();这是让机器人停止的库函数,上面三句意为让机器人以80的速度向前走0.5秒然后停下来;
库函数drive(a , b)和wait(t)中的参数a、b和t可以由你根据编程的需要自行设定。
20