Think.Create.Build.Amaze.Vex.VEX机器人软件编程教程目录一一、使用注意事项八、Inputs主控输入:1、碰撞开关传感器bumperswitch2、光敏传感器lightsensor3、限位开关limitswitch4、巡线传感器LineFollower5、编码器OpticalShaft6、超声波传感器UltrasonicSensor7、数字输入DigitalInput8、模拟输入AnalogInput二、主界面三、工具栏模块四、编程区五、I/O定义模块六、变量设置模块七、接口说明目录二九、Outputs主控输出:1、马达控制MotorModule2、伺服控制ServoModule3、数字输出DigitalOutput十、ProgramFlow程序流程控制:1、单向选择结构If2、Else-If嵌套选择结构模块3、Else模块4、双向选择结构If-Else3、当循环WhileLoop4、多次循环ForLoop5、定时器Timer6、悬空等待Wait7、表达式赋值Assignment8、中断Break9、继续Continue10、返回Return11、屏幕输出PrintToScreen12、程序注释Comment13、自定义代码UserCode目录三十一、RCControl遥控通道控制:1、遥控器按键说明2、遥控器的基本操作3、遥控接收器接法示意图4、遥控最优系统搭配5、单杆控制双马达Arcade-2motor6、单杆控制四马达Arcade-4motor7、双杆控制双马达Arcade-2motor8、双杆控制四马达Arcade-4motor9、单杆控制单马达MotorModuleRx10、单杆控制伺服器ServoModuleRx11、遥控通道RxInput12、脉宽调制PWMControl13、用户自定义函数UserFunctions14、在线控制模式十二、自动程序和遥控程序结合范例十三、下载线接法十四、下载线端口查看方法十五、中文版程序下载步骤十六、英文版下载步骤一、使用注意事项如果是没有购买序列号的用户,安装了软件,打开软件时会弹出一个注册的窗口,中文版点暂不注册按钮便可以试用。英文版点RuninEvaluationMode按钮便可试用;1.0版本的软件只能试用30天,2.0英文版本只能试用7天;2.0中文版有10天;如果是购买了序列号的用户,在注册的时候需要联网注册,每个序列号也只能在一台电脑上使用,英文版如果换了电脑再使用该序列号注册,那么该系列号就不可用了,2.0中文版一个序列号也只能一台电脑注册,如要换电脑注册可以点菜单栏→帮助→注销,然后在另一台电脑上就可以再次使用该序列号了;如果是没有购买序列号的用户,只要一装上软件,便自动与系统硬件绑定,试用期到了以后即使把软件卸载了在重装也不能继续试用,建议先用备份工具备份系统,然后才安装英文版软件,这样软件过期了以后,只需要把系统还原,在重装VEX软件即可继续试用;英文版软件比中文版软件稳定,中文版软件存在一些错误,所以一般建议使用英文版软件;VEX编程软件有中文版和英文版两个版本(中文和英文分别都有1.0版本和2.0版本),两个版本不能混用,不要既下载中文版编的程序到主控器,又下载英文版编的程序到主控器,这样会损坏主控器的底层程序,严重时会导致主控器的某些芯片不可用,从而导致主控器不能使用;中文版和英文版的程序和代码都不能用对方的的软件相互打开并编辑,既:英文版只能打开用英文版软件编的程序和代码,中文版只能打开用中文版软件编的程序和代码;中文1.0版软件编好的程序不能保存到C盘(包括桌面),否则会导致程序不能打开或者出现错误;中文1.0版软件在每次下载程序之前都要先保存→编译→链接→然后再下载,然后选择端口;查看下载线使用的COM口的方法是:我的电脑→右键→属性→硬件→设备管理器→端口(COM和LPT)→ProlificUSB-to-SerialCommPort(com3)最后这一项的com3就是当前VEX下载线使用的端口;然后再在软件里面选择相应的端口即可下载程序到主控器,具体方法后面有详细介绍;1.0版本软件不能定义子程序,2.0版本软件可以定义子程序;1.0版本的软件所有变量都是全局变量;2.0版本软件中可以定义全局变量和局部变量;1.0版本的软件没有中断、继续、返回模块,2.0版本软件中有。当主控器出现执行程序混乱的情况时,说明有可能是主控器的底层程序不正常,那么只需要从新下载一次底层程序即可,中文版2.0为,菜单栏生成→下栽初始化程序二、主界面工具栏菜单编程区C语言代码区链接编译区模块区三、工具栏模块(英文版)新建工程:创建一个新的工程调试和下载:下载你当前窗口的程序到主控器打开工程:打开你保存在电脑上的程序或代码文件终端窗口:选择下载线和电脑连接的COM端口保存工程:保存一个工程在线窗口:开始在线检测窗口工程窗口:显示和隐藏工程窗口入门级别:在工程窗口显示基本的函数模块输出窗口:显示和隐藏输出窗口高级级别:在工程窗口显示先进(高级)的函数模块控制器配置:打开控制器配置对话框专业级别:在工程窗口显示所有可利用的函数模块程序变量:打开程序变量对话框放大:增大流程图显示的比例尺寸编译工程:编译打开的工程代码缩小:减小流程图显示的比例尺寸工具栏模块(中文版1.0)新建工程:创建一个新的工程打开工程:打开你保存在电脑上的程序或代码文件编译工程:编译打开的工程代码链接工程:链接打开的工程代码下载:下载你当前窗口的程序到主控器放大:增大当前窗口显示的比例尺寸缩小:减小当前窗口显示的比例尺寸关于我们:显示版本信息工具栏模块(中文版2.0)新建工程:创建一个新的工程打开工程:打开你保存在电脑上的程序或代码文件保存工程:保存当前的工程代码项目浏览:关闭和打开模块区输出窗口:关闭和打开编译链接代码输出显示区主控器设置:设置主控器的I/O口全局定义:定义全局变量编译:对当前打开的程序进行编译查错编译并下载:对当前打开的程序进行编译并下载到主控器四、编程区对于1.0版每一个新的程序都会有一个I/O定义模块,变量定义模块(Variables),开始模块(BEGNI)和结束模块(END)。2.0版则增加了局部变量定义模块;I/O模块和变量定义模块应当在开始编程之前定义。在每一个程序里,开始模块标识程序模块代码的第一个模块;结束模块标识程序模块代码的最后一个模块。你必须放置所有的模块在这两个模块之间。插入模块:在模块区用鼠标左键点住相应模块,拖动到编程区的开始和结束模块之间,放开鼠标,然后只要设置好模块的属性就行了。编辑模块(Edit):左键双击修改,也可单击右键。英文版是点右键,选择粘贴编辑。复制模块(Copy):中文版2.0是ctrl+c复制模块,也可单击右键;英文版是按住ctrl键,拖拽模块。将复制的模块放到你需要放置它的位置。也可单击右键。剪切模块(Cut):中文版2.0是ctrl+x剪切模块,也可单击右键;英文版是先选中模块,再点右键选择剪切。粘贴(Paste):中文版2.0是ctrl+v粘贴模块,也可单击右键;英文版是点右键,选择粘贴。删除模块(Delete):中文版2.0是Delete键删除模块,也可单击右键;英文版是点右键,然后选择删除。右键单击任何一个模块,可以对该模块进行编辑、复制、剪切、删除、粘贴等操作。五、I/O定义模块双击I/O图标或点鼠标右键(I/O定义模块),你能够配置控制器的I/O端口。模拟/数字端口(共16个口)(ANALOG/DIGITAL):波浪线表示模拟端口(默认为1~4),箭头表示数字端口;箭头向左的表示信号是由外部输入到主控器(默认为5~10),箭头向右的表示信号是由主控器内部输出(默认为11~16),模拟和数字端口可以互换,数字端口的输入输出也可以更改;中断端口(INTERRUPTS)(共6个口):不能更改;马达端口(MOTORS)(共8个口):不能更改;六、变量设置模块(1.0版)双击变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的变量;这里数据类型一般都选择int,变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值全局变量设置模块(2.0版)双击全局变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的全局变量;这里数据类型一般都选择int,变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值,也可以不设置。1.选择变量类型,一般都选int(整型变量)2.键入变量名字,要求必须是英文字母组成这里可以键入变量的值,要求必须是英文数字组成,也可先不定义变量的值这里可以删除整行不需要的变量局部变量设置模块(2.0版)双击局部变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的局部变量;这里数据类型一般都选择int,变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值1.选择变量类型,一般都选int(整型变量)2.键入变量名字,要求必须是英文字母组成这里可以删除整行不需要的变量这里可以键入变量的值,要求必须是英文数字组成,也可先不定义变量的值变量定义表七、接口说明接口功能马达端口MOTORS共有8个口主控器上标有MOTORS字样的端口,用来接马达和伺服器中断端口INTERRUPTS共有6个口主控器上标有INTERRUPTS字样的端口,用来接超声波传感器的OUTPUT端和编码器模拟/数字端口ANALOG/DIGITAL共有16个口主控器上标有ANALOG/DIGITAL字样的端口,默认1~4为模拟/数字通用端口,可接巡线、光敏、碰撞、行程,默认5~10为数字输出端口,可接碰撞、行程,默认11~16为数字输入端口,接超声波的Input端,都可以自行更改接口说明电源开关电池插口接收器/线控插口1接收器/线控插口2程序下载线插口八、Inputs主控输入1、碰撞开关传感器bumperswitch碰撞开关是数字式的传感器。它有两种状态:即开和关;当碰撞开关断开的时候,定义为1。当碰撞开关闭合的时候,定义为0。打开位于TestCode的文件夹中的BUMPERTEST.ECP工程,看其示范怎样编写碰撞开关程序。1.选择碰撞开关连接在主控器上的通道2.选择一个预先定义的碰撞开关变量对当前模块注释,将帮助你阅读程序和理解模块的功能。3.设置好以后点OK碰撞开关传感器bumperswitch碰撞开关程序范例:右边每一个模块的属性在后面的注释里面都有说明首先在变量定义模块(Variables)里面定义了一个变量a,然后拖入一个碰撞检测模块,接着拖入一个当循环模块对当前碰撞变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个碰撞检测模块,属性和当循环外面的碰撞检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的功能就是:当a=1即是碰撞开关没碰到时,就不停的启动马达1正转,反之a=0则是当碰撞开关碰到时,就跳出当循环,停止马达1。2、光敏传感器lightsensor光敏传感器是模拟式的传感器,它是用来检测周围环境光线的亮暗的传感器;把光线由亮到暗的范围定义在0到1024。值越小表示光线越亮,值越大表示光线越暗;打开位于TestCode文件夹中的LIGHTTEST.ECP工程,看其示范怎样编写光敏传感器程序。1.选择光敏传感器连接在主控器上的通道2.选择一个预先定义的光敏传感器变量对当前模块注释,将帮助你阅读程序和理解模块的功能。3.设置好以后点OK光敏传感器lightsensor光敏传感器程序范例:右边每一个模块的属性在后面的注释里面都有说明首先在变量定义模块(Variables)里面定义了一个变量a,然后拖入一个光敏检测模块,选择变量a,接着拖入一个当循环模块对当前亮度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个光敏检测模块,属性和当循环外面的光敏检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这