VEX机器人编程软件入门新版课件_第1页
VEX机器人编程软件入门新版课件_第2页
VEX机器人编程软件入门新版课件_第3页
VEX机器人编程软件入门新版课件_第4页
VEX机器人编程软件入门新版课件_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、think. create. build. amaze. vex.12目录一一、使用注意事项一、使用注意事项八、八、inputsinputs主控输入:主控输入:1、碰撞开关传感器 bumper switch2、光敏传感器 light sensor3、限位开关limit switch4、巡线传感器 line follower5、编码器 optical shaft6、超声波传感器ultrasonic sensor7、角度传感器potentiometer kit8、数字输入 digital input9、模拟输入 analog input二、主界面二、主界面三、工具栏模块三、工具栏模块四、编程区四、

2、编程区五、五、i/oi/o定义模块定义模块六、变量设置模块六、变量设置模块七、接口说明七、接口说明3目录二目录二九、九、outputsoutputs主控输出:主控输出:1、马达控制 motor module2、伺服控制 servo module3、数字输出 digital output9、继续continue10、返回return11、屏幕输出print to screen12、程序注释comment13、自定义代码user code十、十、program flowprogram flow程序流程控制:程序流程控制:1、单向选择结构if2、 else-if嵌套选择结构模块3、 else模块4、

3、双向选择结构 if-else3、当循环while loop4、多次循环for loop5、定时器timer6、悬空等待wait7、表达式赋值assignment 8、中断break4目录三目录三十一、十一、rc controlrc control遥控通道控制:遥控通道控制:1、 遥控器按键说明2、 遥控器的基本操作3、 遥控接收器接法示意图4、 遥控最优系统搭配5、 单杆控制双马达arcade-2 motor6、 单杆控制四马达arcade-4 motor7、 双杆控制双马达arcade-2 motor8、 双杆控制四马达arcade-4 motor9、 单杆控制单马达motor module

4、 rx10、单杆控制伺服器servo module rx11、遥控通道rx input12、脉宽调制pwm control13、用户自定义函数user functions14、在线控制模式十二、自动程序和遥控程序结合范例十二、自动程序和遥控程序结合范例十三、下载线接法十三、下载线接法十四、下载线端口查看方法十四、下载线端口查看方法十五、中文版程序下载步骤十五、中文版程序下载步骤十六、英文版下载步骤十六、英文版下载步骤附录一、变量命名附录一、变量命名附录二、变量类型附录二、变量类型附录三、常用运算符附录三、常用运算符附录四、常用操作符运算优先级附录四、常用操作符运算优先级5一、使用注意事项一、使

5、用注意事项v vex编程软件有中、英文版(中、英文版各自都有1.0版和2.0版),中、英文版不能混用,最好不要既下载中文版编的程序到主控器,又下载英文版编的程序到主控器,这样会损坏主控器内部芯片中的底层程序,严重时会导致主控器的某些芯片不可用,从而使主控器不能使用;v 如果是没有购买序列号的用户,打开软件时会弹出一个注册窗口,中文版点暂不注册即可试用。英文版点run in evaluation mode按钮即可试用;中、英文1.0版的都可试用30天,英文2.0版可试用7天;中文2.0版可试用15天;v 购买了序列号的用户,需联网注册, 英文版的序列号只能在一台电脑注册一次,如更换电脑安装,需在

6、软件的注册页面填写一些资料发送给美国first公司,经其审核通过后便会回发一个新的序列号,也可向本公司购买;中文2.0版的如需更换电脑安装,先点菜单栏 帮助 注销,然后在另一台电脑使用该序列号联网注册便可继续使用了;v 没有购买序列号的用户,一旦安装软件,软件便自动与系统硬件绑定,试用期满后即使把软件卸载重装也不能继续试用,解决办法为在系统未安装vex软件时,先用备份工具备份系统,然后再安装英文版软件,当软件过期后,只需把系统还原,在重装vex软件即可继续试用;v 英文版软件比中文版软件稳定,中文版软件存在一些bug;6使用注意事项使用注意事项v 中文版及英文版编写的程序和代码不能相互用对方的

7、软件打开和编辑(英文版只能打开用英文版软件编的程序和代码,中文版只能打开用中文版软件编的程序和代码);v 中文1.0版软件编写的程序不能保存到c盘(包括桌面),否则会导致程序不能打开或者出现未知错误;v 中文1.0版软件在每次下载程序的步骤为:保存编译链接下载,然后选择端口;v 查看下载线使用的com口的方法是:我的电脑右键属性硬件设备管理器端口(com和lpt) prolific usb-to-serial comm port (com3)最后这一项的com3就是当前vex下载线使用的端口;然后在软件里选择相应的端口即可下载程序到主控器,具体方法后面有详细介绍;v 1.0版软件不能定义子程序

8、,2.0版软件可定义子程序;v 1.0版软件所有变量都是全局变量;2.0版软件中可定义全局、局部变量;v 1.0版的软件无中断、继续、返回模块,2.0版软件中有;v 使用英文网络版2.0时,请烧录v7版底层程序;v 当机器人不按照编写的程序动作时,如果仔细检查程序都未发现错误,则说明可能是主控器的底层程序不正常,那么需要对底层程序作一次修复,中文版2.0为,菜单栏生成下载初始化程序7二、主界面二、主界面工具栏菜单编程区c语言代码区链接编译区模块区8三、工具栏模块(英文版)三、工具栏模块(英文版)新建工程 :创建一个新的工程调试和下载 :下载你当前窗口的程序到主控器打开工程: 打开你保存在电脑上

9、的程序或代码文件终端窗口:选择下载线和电脑连接的com端口保存工程:保存一个工程在线窗口 :开始在线检测窗口工程窗口:显示和隐藏工程窗口入门级别:在工程窗口显示基本的函数模块输出窗口 :显示和隐藏输出窗口高级级别 :在工程窗口显示先进(高级)的函数模块控制器配置 :打开控制器配置对话框专业级别 :在工程窗口显示所有可利用的函数模块程序变量 :打开程序变量对话框放大 :增大流程图显示的比例尺寸编译工程 :编译打开的工程代码缩小 :减小流程图显示的比例尺寸9工具栏模块(中文版工具栏模块(中文版1.0)新建工程 :创建一个新的工程打开工程: 打开你保存在电脑上的程序或代码文件编译工程 :编译打开的工

10、程代码链接工程 :链接打开的工程代码下载 :下载你当前窗口的程序到主控器放大 :增大当前窗口显示的比例尺寸缩小 :减小当前窗口显示的比例尺寸关于我们 :显示版本信息10工具栏模块(中文版工具栏模块(中文版2.0)新建工程 :创建一个新的工程打开工程: 打开你保存在电脑上的程序或代码文件保存工程 :保存当前的工程代码项目浏览 :关闭和打开模块区输出窗口 :关闭和打开编译链接代码输出显示区主控器设置 :设置主控器的i/o口全局定义 :定义全局变量编译 :对当前打开的程序进行编译查错编译并下载:对当前打开的程序进行编译并下载到主控器11四、编程区四、编程区v对于1.0版每一个新的程序都会有一个i/o

11、定义模块,变量定义模块(variables),开始模块(begni)和结束 模块(end)。 2.0版则增加了局部变量定义模块;vi/o模块、全局变量定义模块、局部变量定义模块应当在开始编程之前定义。v 在每一个程序里,开始模块表示程序的第一个模块;结束模块表示程序的最后一个模块。 你必须放置所有的模块在这两个模块之间。v下面介绍一些常用操作:下面介绍一些常用操作: v插入模块:插入模块:在模块区用鼠标左键点住相应模块,拖动到编程区的开始和结束模块之间,放开鼠标,然后只要 设置好模块的属性就行了。 需要说明的是传感器模块必须先定义其变量才能插入到编程区内。v编辑模块(编辑模块(edit):):

12、左键双击修改,也可单击右键。英文版是点右键,选择编辑。v复制模块(复制模块(copy):):中文版2.0是ctrl+c复制模块,也可单击右键;英文版是按住ctrl键,拖拽模块,然后将复制的模块放到你需要放置的位置。也可单击右键。v剪切模块剪切模块(cut):):中文版2.0是ctrl+x剪切模块,也可单击右键;英文版是先选中模块,再点右键选择剪切。v粘贴粘贴(paste) :中文版2.0是ctrl+v粘贴模块,也可单击右键;英文版是点右键,选择粘贴。v删除模块(删除模块(delete):):中文版2.0是delete键删除模块,也可单击右键;英文版是点右键,然后选择删除。v右键单击任何一个模块

13、,可以对该模块进行编辑、复制、剪切、删除、粘贴等操作右键单击任何一个模块,可以对该模块进行编辑、复制、剪切、删除、粘贴等操作 。v编译下载:编译下载:f5为编译程序,f6为编译并下载程序12五、五、i/oi/o定义模块定义模块v双击i/o图标或点鼠标右键(i/o定义模块),你能够配置控制器的i/o端口。v模拟/数字端口(共16个口)(analog/digital):波浪线表示模拟端口(默认为14),箭头表示数字端口;箭头向左的表示信号是由外部输入到主控器(默认为510) ,箭头向右的表示信号是由主控器内部输出(默认为1116),模拟和数字端口可以互换,数字端口的输入输出也可以更改;v中断端口(

14、interrupts) (共6个口):不能更改;v马达端口(motors) (共8个口):不能更改;13六、变量设置模块(六、变量设置模块(1.01.0版)版)双击变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的变量;这里数据类型一般都选择int(整型,它存储21474836482147483647之间的整数),变量名称:英文字母或字母加数字,不能以数字开头且变量名不能与软件中使用到的单词相同(如变量的类型),变量取值处可预先设置变量的值,也可在后面的条件中设置其值14局部变量设置模块(局部变量设置模块(2.02.0版)版)双击局部变量设置图标,打开程序变量定义对话框。你能设置程

15、序需要使用到的局部变量;局部变来那个指只能在部分区域使用的变量;这里数据类型一般都选择int(整型,它存储21474836482147483647之间的整数),变量名称:英文字母或字母加数字,不能以数字开头且变量名不能与软件中使用到的单词相同(如变量的类型),变量取值处可预先设置变量的值,也可在后面的条件中设置其值1.选择变量类型,一般都选int(整型变量)2.键入变量名字,要求必须是英文字母组成这里可以删除整行不需要的变量这里可以键入变量的值,要求必须是英文数字组成,也可先不定义变量的值15全局变量设置模块(全局变量设置模块(2.0版)版)双击全局变量设置图标,打开程序变量定义对话框。你能设

16、置程序需要使用到的全局变量;全局变量指在该程序的所有模块中都可以使用该变量;这里数据类型一般都选择int(整型,它存储21474836482147483647之间的整数),变量名称:英文字母或字母加数字,不能以数字开头且变量名不能与软件中使用到的单词相同(如变量的类型),变量取值处可预先设置变量的值,也可在后面的条件中设置其值1.选择变量类型,一般都选int(整型变量)2.键入变量名字,要求必须是英文字母组成这里可以键入变量的值,要求必须是英文数字组成,也可先不定义变量的值这里可以删除整行不需要的变量16七、接口说明七、接口说明接口功能马达端口“motors”共有8个口主控器上标有“motor

17、s”字样的端口,用来接马达和伺服器中断端口“interrupts”共有6个口主控器上标有“interrupts”字样的端口,用来接超声波传感器的output端和编码器模拟/数字端口“analog/digital”共有16个口主控器上标有“analog/digital”字样的端口,默认14为模拟/数字通用端口,可接巡线、光敏、碰撞、行程,默认510为数字输出端口,可接碰撞、行程,默认1116为数字输入端口,接超声波的input端,都可以自行更改17马达端口马达端口motorsmotors1-8可接:马达、伺服器18中断端口中断端口interrupts1-6可接:编码器、超声波传感器标有outpu

18、t字样的线19模拟模拟/ /数字端口数字端口analog/digitalanalog/digital1-4可接:光敏传感器、寻迹传感器、碰撞开关、限位开关、角度传感器11-16可接:超声波传感器标有input字样的线、气缸5-10可接:碰撞开关、限位开关20接口说明接口说明21指示灯说明指示灯说明22八、八、inputs主控输入主控输入v这里需要先解释一下数字和模拟这两个概念,它们是电路中信号传输的两种方式;v简单解释为:v数字电路传输的信号的波形在示波器上显示为方形,称为方波,其波形高低一致,高的用1表示,低的用0表示;v模拟电路传输的信号的波形在示波器上显示为波浪形,称为正弦波,其波形高低

19、起伏不一致,所以它是连续的,表示它的数字也是大小变化不定的;v通俗的讲数字信号传输的信号用1和0表示;v模拟信号传输的信号用0、5、10、50、18、33 100等等这样大小不定的数字表示;v数字电路与模拟电路的信号要互相交换传输就必须采用数模转换电路转换以后才能传输;vvex机器人中的传感器也分数字传感器和模拟传感器,简单解释为:v数字传感器是指传感器传输的是数字信号,即传感器只有两种状态,这两种状态在软件里面用1和0表示v模拟传感器是指传感器传输的信号会随外界环境条件的改变以及人为的因素而改变,即它们的状态是不确定的,那么在软件里面表示其状态的数字也是大小不变的(但也规定了一个范围);23

20、1、碰撞开关传感器 bumper switchbumper switchv碰撞开关是数字式的传感器。v它有两种状态:即开和关;v当碰撞开关断开的时候,定义为1。v当碰撞开关闭合的时候,定义为0。v打开英文版位于test code的文件夹中的bumpertest.ecp工程,看其示范怎样编写碰撞开关程序。 1.选择碰撞开关连接在主控器上的通道2.选择一个预先定义的碰撞开关变量对当前模块注释,将帮助你阅读程序和理解模块的功能。 3.设置好以后点ok24碰撞开关传感器 bumper switchbumper switch碰撞开关程序范例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义

21、模块(variables)里面定义了一个变量a,然后拖入一个碰撞检测模块,接着拖入一个当循环模块对当前碰撞变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个碰撞检测模块,属性和当循环外面的碰撞检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当 a=1即是碰撞开关没碰到时,就不停的启动马达1正转,反之a=0则是当碰撞开关碰到时,就跳出当循环,停止马达1。25碰撞开关碰撞开关 bumper switch组装示意图组装示意图262、光敏传感器、光敏传感器 light sensor v光敏传感器是模拟式的传感器,它是用来检测周围环境光线的亮

22、暗的传感器;v把光线由亮到暗的范围定义在0到1024。值越小表示光线越亮,值越大表示光线越暗; v打开英文版位于test code文件夹中的lighttest.ecp工程,看其示范怎样编写光敏传感器程序。 1.选择光敏传感器连接在主控器上的通道2.选择一个预先定义的光敏传感器变量对当前模块注释,将帮助你阅读程序和理解模块的功能。 3.设置好以后点ok27光敏传感器光敏传感器 light sensor光敏传感器程序范例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,然后拖入一个光敏检测模块,选择变量a,接着拖入一个当循环模块对当前亮

23、度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个光敏检测模块,属性和当循环外面的光敏检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当 a=800则是光线比较暗时,就跳出当循环,停止马达1。283、限位开关、限位开关limit switch v限位开关是数字式的传感器。和碰撞开关类似;v它有两种状态:即开和关;v当限位开关断开的时候,定义为1v当限位开关闭合的时候,定义为0v打开英文版位于test code的文件夹中的limittest.ecp工程,看其示范怎样编写行程开关程序。 1.选择限位开关连接在主控器上的通道

24、2.选择一个预先定义的限位开关变量对当前模块注释,将帮助你阅读程序和理解模块的功能。 3.设置好以后点确定29限位开关限位开关limit switch限位开关程序范例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,然后拖入一个限位检测模块,接着拖入一个当循环模块对当前限位变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个限位检测模块,属性和当循环外面的限位检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当 a=1即是限位开关没闭合时,就不停的启动马达1正转,反之a=0则

25、是当限位开关碰到时,就跳出当循环,停止马达1。30限位开关限位开关limit switch组装示意图组装示意图314、巡线传感器 line follower1.选择巡线传感器连接在主控器上的通道2.选择一个预先定义的巡线传感器变量对当前模块注释,将帮助你阅读程序和理解模块的功能。 3.设置好以后点确定v巡线传感器是模拟式的传感器,它是用来检测颜色的传感器;v把颜色的深浅由白到黑的范围定义在0到1024。值越小表示颜色越白,值越大表示颜色越黑; v打开英文版位于test code的文件夹中的linefollower.ecp工程,看其示范怎样编写巡线传感器程序。 32巡线传感器 line foll

26、ower巡线传感器程序范例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,然后拖入一个巡线检测模块,接着拖入一个当循环模块对当前灰度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个巡线检测模块,属性和当循环外面的巡线检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当 a=800则是颜色比较黑时,就跳出当循环,停止马达1。335、编码器 optical shaft encoderv编码器是一个数字式的传感器。它能够用来测量和定义马达转动的圈数或者路程。v编码

27、器一般插在中断端口(interrupts)v编码器旋转(360 度)等于90个编码脉冲。v编程时,模块需要放三次到编程区,第一次选择开始,第二次选择预设,第三次选择取值。 v打开英文版位于test code的文件夹中的encodertest.ecp工程,看其示范怎样编写编码器程序。 1.选择开始,告诉编码器开始记录编码脉冲2.选择编码器连接在主控器上的端口34编码器 optical shaft encoder6.选择取值,开始把编码脉冲的值反馈给变量7.选择编码器连接在主控器上的端口8.选择一个预先定义的变量3.选择预设,为编码器清零4.选择编码器连接在主控器上的端口5.选择固定值,设为0,表

28、示编码器的初始值为0,为编码器清零对当前模块注释,将帮助你阅读程序和理解模块的功能。 35编码器 optical shaft encoder编码器程序范例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,然后拖入三个编码器检测模块,第一个选择开始,第二个选择预设,第三个选择取值;接着拖入一个当循环模块对当前路程变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个编码器检测模块,属性和当循环外面设置取值的那个编码器检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当

29、 a30则是马达转动的路程达到30时,就跳出当循环,停止马达1。36编码器安装示意图编码器安装示意图376、超声波传感器、超声波传感器ultrasonic sensor 1.选择开始,开始命令告诉超声波开始记录声波。 2.选择超声波传感器连接在主控器上的中断端口3.选择超声波传感器连接在主控器上的输出端口4.选择取值,取值命令允许用户将来自超声波的值反馈给一个变量。 5.选择超声波传感器连接在主控器上的中断端口6.选择超声波传感器连接在主控器上的输出端口7.选择一个预先定义的变量v超声波传感器利用高频率的声波来探测障碍物。它发射一个超声波信号,声波被外界物体反射回来。然后超声波传感器就可以根据

30、接收到的信号的时间和强弱计算出离障碍物的距离v超声波传感器有两根连接线v确保标有output标签的线连接到主控器的中断端口。v确保标有input标签的线连接到主控器的数字输出端口(默认的为1116)。v超声波的取值范围是:2100v小于2cm是超声波的盲区,在2cm以内就检测不到任何物体。v打开英文版位于test code的文件夹中的ultrasonictest.ecp工程,看其示范怎样编写超声波传感器程序。 38超声波传感器超声波传感器ultrasonic sensor超声波传感器程序范例:编程时,模块需要放三次到编程区,第一次选择开始,第二次选择预设,第三次选择取值。v右边每一个模块的属性

31、在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,然后拖入两个超声波检测模块,第一个选择开始,第二个选择取值;接着拖入一个当循环模块对当前超声波变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个超声波检测模块,属性和当循环外面设置取值的那个超声波取值模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;v程序功能:当 a20即是当前超声波和障碍物的距离没有达到20时,就不停的启动马达1正转,反之a=20则是超声波与障碍物之间的距离达到20和20以内时,就跳出当循环,停止马达1。如发现超声波第一次检测很好,

32、而第二次检测就不准确了可尝试在第一次检测后在加上一个超声波模块,属性设置为停止,起到清空它检测后的数据的作用397 7、角度传感器、角度传感器potentiometer kitpotentiometer kitv这是一个测量角度的传感器,它是一个模拟传感器,主要是用来控制伺服电机转动角度,可以替代伺服器,并比伺服器的角度要精确,它基本上不受电量的影响,也不受传动结构的限制,在某些场合可以替代编码器或者伺服器的功能,它需要与马达、伺服电机、传动结构用轴连接在一起使用,其转动的角度大约是260度,主要可以用在一些只需要转动一定角度的机械结构中。v角度传感器由于是一个模拟传感器,它的编程模块在vex

33、2.0中文版中可以使用光敏传感器模块、寻线传感器模块以及模拟输入模块来进行编程,通道是插模拟/数字口的模拟口(默认14)。v经测试,它在软件里面显示的数值是一组数据,其范围是0到1023,在实际编程的时候由于马达有一定的惯性,所以最好不要设置单个的数据,这样通常会转过设置的数值,所以一般都设置一个范围,如小于某个数值的时候,让马达转或停,大于该数值让马达停或转,这样就能很好的应用该传感器。v把角度传感器标有vex字样的一面正对自己,然后顺时针转动它的中心孔,此时的数值是由小变到大,逆时针转动则为由大变到小。v该传感器具有记忆功能,比如把中心孔转动到数值500的位置,关闭电源,只要它的中心孔位置

34、不变,无论什么时候再次打开电源,它的数值仍是500,即使更换它的通道数值也不变;如调到数值500,关闭电源,再转动了它的孔的位置,那么在打开电源后,它的数值就不再是500,而是你当前位置的数值,这个数值通过屏幕输出可以测试到。40角度传感器角度传感器potentiometer kitpotentiometer kit角度传感器程序范例:v首先把角度传感器插在模拟端口1,定义一个类型为int的变量a;v接着放入巡线模块设置通道和选择变量a;v然后放入当循环,设置a小于200,在当循环里面放入马达1正转,在次赋值,在当循环外面放一个停止马达;v程序功能:角度传感器的值小于200就启动马达1正转,大

35、于等于200就停止马达1;418、数字输入 digital input1.选择端口,一般默认为数字/模拟口5102.选择选择预先定义好的变量v数字输入 digital input模块可以代替所有数字式的传感器模块429、模拟输入 analog input1.选择端口,一般默认为数字/模拟口142.选择选择预先定义好的变量v模拟输入 analog input 模块可以代替所有模拟式的传感器模块43九、九、outputs主控输出主控输出441、马达控制、马达控制 motor module1.选择马达连接在主控器上的端口2.选择255表示马达以最快的速度正转3.选择127表示马达以停止4.选择0表示

36、马达以最快的速度反转5.选择用户自定义则表示用户自己设置马达的速度0127之间的数字都是反转,越接近127速度越慢,127255之间的数字都表示正转,越接近127速度越慢6.设置好以后点确定v马达的输出轴正对自己,顺时针表示正转,逆时针表示反转;v箭头图标向上暗示马达正转。v箭头图标变成一个黄色的点暗示马达停止。 v箭头图标向下暗示马达反转。45马达控制马达控制 motor modulev马达控制编程范例1:右边每一个模块的属性在后面的注释里面都有说明v首先拖入一个马达模块,选择正转,再拖入一个悬空等待模块,设置为1000,表示一秒,然后再拖入一个马达模块,选择停止;v程序功能:马达1正转一秒

37、后停止。需要注意的是你启动了几个马达那么在停止的时候就要加多少个停止马达。v马达控制编程范例2:右边每一个模块的属性在后面的注释里面都有说明v首先拖入一个当循环模块,条件设置为1,表示永远循环;然后再当循环里面拖入一个马达模块,选择正转;v程序功能:马达1永远正转。46马达安装示意图马达安装示意图双马达小车双马达小车四马达小车四马达小车三马达小车三马达小车或或47马达方向辅助图表马达方向辅助图表假设一部假设一部vex机器人小车上装了两个马达,左右各一个,来给小车提供动力,那么小车的运动机器人小车上装了两个马达,左右各一个,来给小车提供动力,那么小车的运动情况如下表情况如下表小车前进小车前进小车

38、后退小车后退小车以两个轮子的中心点为圆心向左转小车以两个轮子的中心点为圆心向左转弯(也可一个马达转一个马达不转,这弯(也可一个马达转一个马达不转,这样以一个马达为圆心转弯)样以一个马达为圆心转弯)小车以两个轮子的中心点为圆心向右转小车以两个轮子的中心点为圆心向右转弯(也可一个马达转一个马达不转,这弯(也可一个马达转一个马达不转,这样以一个马达为圆心转弯)样以一个马达为圆心转弯)482、伺服控制 servo modulev伺服器和马达有区别,马达能转动360度,而伺服器只能转动一定的角度,大约120度v伺服器的输出轴正对自己,顺时针表示正转,逆时针表示反转;v箭头图标向下暗示伺服器正转。v箭头图

39、标变成一个黄色的点暗示伺服器停止。 v箭头图标向上暗示伺服器反转。1.选择伺服器连接在主控器上的端口2.选择255表示伺服器正转最大的角度3.选择127表示伺服器停止4.选择0表示伺服器反转最大的角度5.选择用户自定义则表示用户自己设置伺服器的角度0127之间的数字都是反转,越接近127角度越小,127255之间的数字都表示正转,越接近127角度越小6.设置好以后点确定49伺服控制伺服控制 servo module伺服器控制编程范例:v右边每一个模块的属性在后面的注释里面都有说明v首先拖入一个伺服器模块,选择正转,再拖入一个悬空等待模块,设置为1000,表示一秒;然后再拖入一个伺服器模块,选择

40、停止;v程序功能:伺服器1正转一秒后停止。v需要注意的是你启动了几个伺服器那么在停止的时候就要加多少个停止伺服器。50马达、伺服器与离合器安装方法马达、伺服器与离合器安装方法离合器:它是用来保护马达、伺服器内部的齿轮或电机,当外部扭力过强超过了马达、伺服器的承受能力,此时会首先损坏安装在马达或伺服器外部的离合器,从而起到保护马达或伺服器的作用。但缺点是安装不到位、松动等会导致连接在离合器外面的传动结构脱落或导致马达无法传动外部机械结构。51马达、伺服器齿轮更换方法马达、伺服器齿轮更换方法52马达、伺服器齿轮更换方法马达、伺服器齿轮更换方法533、数字输出 digital output1.选择端

41、口,默认为数字/模拟口11162.这里可自定义一个值也可选择预先定义好的变量v使用数字输出功能模块用来控制数字输出的状态。 v你能够利用数字输出端口打开或者关闭像一个发光二极管或一个螺线管这样的设备。 v数字输出能够设置1或0固定的值,它同样能够设置成一个预先定义的变量。 v缺省情况下所有的数字输出值设置为1(或者0)54数字输出 digital output数值输出程序例子(输出数字信号来控制气缸伸缩):v由于气缸的动作就只有伸缩两个动作,所以它的状态可以用1和0来表示,我们用1表示它伸出去,0表示它缩回来;v首先用数字输出模块输出一个固定值1,控制气缸伸出去,如在后面加悬空等待,则可以控制

42、气缸伸出去的时间,不设置时间则表示它一直伸出去;v同样输出一个0来控制气缸缩回来,如在后面加悬空等待,则可以控制气缸缩回来的时间,不设置时间表示它瞬间缩回来又伸出去,因气缸的初始状态是伸出去的,所以它缩回来会马上伸出去,保持该状态;v接着永远循环进入遥控程序,把从控制器传给气缸插的端口11所得到的信号赋给变量a,接着由接收通道1的接收器接收由遥控器的1通道发出来的控制信号,并将该信号赋给a,传给控制器,通过控制器来控制气缸的伸缩;v程序功能:由于气缸的自动程序的两个模块之间没有其他程序隔开,且控制他们伸缩的两个模块后都没有加悬空等待,所以打开电源后气缸只迅速的伸缩就进入遥控程序了,如在自动的两

43、模块之间有延时或其他程序则是先伸出去,在运行其他程序,在缩回来,在回位,当没按遥控器时,气缸会一直伸出去,如按遥控,气缸会缩回来;55十、十、program flow程序流程控制程序流程控制561、单向选择结构、单向选择结构ifvif-条件,汉语也称“如果”的意思,即如果满足设定的条件,那么就运行if模块所包含的程序,如果不符合设定的条件,它将跳过if条件语句的部分,运行其后面的程序模块。 1.选择变量2.选择变量运算符号3.设置变量的表达式57单向选择结构单向选择结构ifif模块编程范例:以编碰撞开关程序为例;v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variabl

44、es)里面定义了一个变量a,接着拖入一个当循环模块,条件设置为数字1,构成永远循环,然后拖入一个碰撞检测模块,再拖入if 模块,在if条件里面设置a=0,在if 语句里面拖入一个马达模块设置为正转和一个悬空等待模块设置为2秒;然后停止马达;v程序功能:当碰撞开关碰到时马达一正转两秒,然后停止;当没碰到时则不运行任何程序。582、 else-if嵌套选择结构模块嵌套选择结构模块velse-if条件,必须与if模块结合才能使用,表示和if模块的条件相反,也可自定义条件1.选择变量2.选择变量运算符号3.设置变量的表达式593、 else模块模块velse条件,必须与if模块结合才能使用,默认表示和

45、if模块的条件相反,不能自定义条件1.只能注释604、双向选择结构、双向选择结构 if-elsevif-else既if模块和else模块的结合体,只要符合设定的条件,将运行if里面的程序。如果不符合设定的条件, 它将跳过表达式if条件部分,执行else里面的程序v它只执行一次程序,没有循环功能 2.选择变量运算符号1.选择变量3.设置变量的表达式61双向选择结构双向选择结构 if-elseif-else条件编程范例:以编碰撞开关程序为例:v右边每一个模块的属性在后面的注释里面都有说明v首先在变量定义模块(variables)里面定义了一个变量a,接着拖入一个当循环模块,条件设置为数字1,构成永远循环,然后拖入一个碰撞检测模块,再拖入if-else模块,再if条件里面设置a=1,在if语句里面拖入一个马达模块设置为正转;v在else语句里面拖入一个马达模块设置为停止;v程序功能:当碰撞开关没碰到时马达一正转,当碰撞开关碰到时就执行else里面的停止马达623、当循环、当循环while loopv只要符合设定的条件,当循环将不停的重复执行其语句内部的程序。如果不符合设定的条件,它将跳出循环,执行循环外部的模块。v给它设置条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论