easyC v4使用说明4.0_第1页
easyC v4使用说明4.0_第2页
easyC v4使用说明4.0_第3页
easyC v4使用说明4.0_第4页
easyC v4使用说明4.0_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

1、Think. Create. Build. Amaze. Vex. 东莞市博思电子数码科技有限公司 VEX 机器人软件编程教程机器人软件编程教程 Network Optimization Expert Team VEX 机器人软件编程教程 软件相关注意事项、界面介绍 1 Program Flow程序流程控制模块 2 Inputs主控输入模块 3 Outputs主控输出模块 4 5 5 遥控控制模块 5 5 竞赛程序说明 Network Optimization Expert Team 1.1、使用注意事项 v 如果是没有购买序列号的用户,安装了 软件,打开软件时会弹出一个注册的窗 口如何右图。

2、 v 如果是购买了序列号的用户,在注册的 时候需要联网注册, 每个序列号只能在 一台电脑上使用。如果换了电脑再使用 该序列号注册,那么该系列号就不可用 了。此软件共有三种激活方法:Online、 E-mail、Manual Unlock。 v 如果是没有购买序列号的用户,只要一 装上软件,便自动与系统硬件绑定,试 用期到了以后即使把软件卸载了在重装 也不能继续试用,建议先用备份工具备 份系统,然后才安装软件,这样软件过 期了以后,只需要把系统还原,在重装 VEX软件即可继续试用; v easyC V4 for Cortex编程软件编写的 程序只能下载到ARM7主控器。 Network Opti

3、mization Expert Team 1.2、主界面 编程区 工具栏菜单 C语言代码区 输出任务区 模块区 项目资源 管理器 如何调出C 语言代码区: 鼠标光标移 到编程区右 边缘,出现 移动符号, 向左拖动即 可。 Network Optimization Expert Team 1.3、工具栏模块(easyC v4) 新建工程 :创建一个新的工程编译工程 :编译打开的工程代码 新建工程:创建竞赛模式工程 调试和下载 :下载你当前窗口的程序到主 控器 打开工程: 打开你保存在电脑上的程序 或代码文件 保存工程:保存一个工程 起始窗口:显示或隐藏起始窗口 功能模块区窗口 :显示和隐藏模块区

4、虚拟场控 项目资源管理器:显示和隐藏项目资源 管理器 搜索 输出任务区:显示和隐藏输出任务区放大 :增大流程图显示的比例尺寸 控制器配置 :打开控制器配置对话框缩小 :减小流程图显示的比例尺寸 程序变量 :打开程序变量对话框缩放:缩放比例显示 Network Optimization Expert Team 1.4、编程区 每一个新的程序都会有一个I/O定义模块,变量定义模块(Globales、Variables),开始模块(BEGIN)和结 束模块(END)。 I/O模块和变量定义模块应当在开始编程之前定义。 在每一个程序里,开始模块标识程序模块代码的第一个模块;结束模块标识程序模块代码的最

5、后一个模块。 你必须放置所有的模块在这两个模块之间。 插入模块:插入模块:在模块区用鼠标左键点住相应模块,拖动到编程区的开始和结束模块之间,放开鼠标,然后只要设 置好模块的属性就行了。 编辑模块(编辑模块(Edit):):左键双击修改,也可单击右键,选择Edit Block。 复制模块(复制模块(Copy):):单击右键,选择copy;或者按住ctrl键,拖拽模块。将复制的模块放到你需要放置它的位 置。 剪切模块剪切模块(Cut):):单击右键,选择cut。 粘贴粘贴(Paste) :单击右键,选择Paste。 删除模块(删除模块(Delete):):选定需要删除的模块单击右键选择Delete

6、。 Network Optimization Expert Team 1.5、配置模块 双击config图标或单击 配置相 关参数。 模拟端口(ANALOG)共8个口; 数字端口(DIGITAL)共12个,有 输入和输出之分,鼠标左键单击即 可更改。 马达端口(MOTORS) 共10个口 (其中端口1与10为2线马达端口) Network Optimization Expert Team 1.6.1、变量设置模块( easyC v4 ) 定义:在程序的运行过程中其 值可以被改变的量,变量变量 一定要一定要先定义后先定义后 使用使用 双击变量设置图标,打开程序 变量定义对话框。你能设置程 序需要

7、使用到的变量; 这里数据类型一般都选择int, 变量名称是英文字母,其它的 可以不填 也可以在变量取值处设置变量 的值 Network Optimization Expert Team 1.6.2、全局变量设置模块(设置模块( easyC v4 ) 双击全局变量设置图标,打 开程序变量定义对话框。你 能设置程序需要使用到的全 局变量; 这里数据类型一般都选择int, 变量名称需要是英文字母, 其它的可以不填 也可以在变量取值处设置变 量的值,也可以不设置。1.选择变量类型, 一般都选int(整 型变量) 2.键入变量 名字,要求 必须是英文 字母组成 这里可以键入变量的值,要求 必须是英文数字

8、组成,也可先 不定义变量的值 这里可以删除整行不需要的变量 注释说明 Network Optimization Expert Team 1.6.3、局部变量设置模块( easyC v4 ) 双击局部变量设置图标,打 开程序变量定义对话框。你 能设置程序需要使用到的局 部变量; 这里数据类型一般都选择int, 变量名称需要是英文字母, 其它的可以不填 也可以在变量取值处设置变 量的值 1.选择变量 类型,一般 都选int(整 型变量) 2.键入变量 名字,建议 字母组成。注释说明 这里可以键入变 量的值,要求必 须是英文数字组 成,也可先不定 义变量的值 这里可以删 除整行不需 要的变量 Net

9、work Optimization Expert Team 1.6.4、变量定义表 Network Optimization Expert Team 1.7.1、接口说明 接口功能 马达端口 MOTORS 共有10个 口 主控器上标有MOTORS字样的端 口,用来接马达和伺服器 模拟端口 ANALOG 共有8个口 主控器上标有INTERRUPTS字样 的端口,用来接超声波传感器的 OUTPUT端和编码器 数字端口 DIGITAL 共有12个 口 主控器上标有DIGITAL字样的端 口,可接巡线、光敏、碰撞、行程。 指示灯 ROBOT、VEXNET、GAME三个 指示灯。 马达、 伺服器 接口

10、指示灯 模拟信号 端口 数字信号 端口 Network Optimization Expert Team 1.7.2、接口说明 电源开关 电池插口 信号插空1 信号插空2 备用电 池插空 配置插 空 Network Optimization Expert Team 2、Program Flow程序流程控制模块 VEX 机器人软件编程教程 Network Optimization Expert Team 2.1.1、单向选择结构If If-条件,只要符合设定的 条件,将运行if语句内部 的程序。如果不符合设定 的条件,它将跳过表达式 if条件语句的部分,运行 下一个程序模块。 1.选 择变 量

11、2.选 择变 量运 算符 号 3.设 置变 量的 表达 式 Network Optimization Expert Team 2.1.2、单向选择结构If If模块编程范例: 以编碰撞开关为例; 右边每一个模块的属性在后面的注释 里面都有说明 首先在变量定义模块(Variables)里 面定义了一个变量a,接着拖入一个当 循环模块,条件设置为数字1,构成永 远循环,然后拖入一个碰撞检测模块, 再拖入If 模块,在if条件里面设置a=0, 在if 语句里面拖入一个马达模块设置为 正转和一个悬空等待模块设置为2秒; 然后停止马达; 那么这个程序的功能为:当碰撞开关 碰到时马达运转两秒,然后停止;当

12、 没碰到时则不运行任何程序。 Network Optimization Expert Team 2.1.3、 Else-If嵌套选择结构模块 Else-If条件,必须与IF模 块结合才能使用,表示和 IF模块的条件相反,也可 自定义条件 1.选择 变量 2.选择 变量运 算符号 3.设置变 量的表达 式 Network Optimization Expert Team 2.1.4、 Else模块 Else条件,必须与IF模块 结合才能使用,默认表示 和IF模块的条件相反,不 能自定义条件 1.只能 注释 Network Optimization Expert Team 2.1.5、双向选择结构

13、 If-Else IF-Else既IF模块和 Else模块的结合体, 只要符合设定的条 件,将运行if里面的 程序。如果不符合 设定的条件, 它将 跳过表达式IF条件 部分,执行Else里 面的程序。它只执 行一次程序,没有 循环功能 2.选 择变 量运 算符 号 1.选 择变 量 3.设 置变 量的 表达 式 Network Optimization Expert Team 2.1.6、双向选择结构 If-Else If-Else条件编程范例: 以编碰撞开关为例: 右边每一个模块的属性在后面 的注释里面都有说明 首先在变量定义模块 (Variables)里面定义了一个 变量a,接着拖入一个当

14、循环 模块,条件设置为数字1,构 成永远循环,然后拖入一个碰 撞检测模块,再拖入If-Else模 块,再if条件里面设置a=1,在 if语句里面拖入一个马达模块设 置为运转; 在else语句里面拖入一个马达 模块设置为停止; 那么这个程序的功能为:当碰 撞开关没碰到时马达运转,当 碰撞开关碰到时就执行Else里 面的停止马达 Network Optimization Expert Team 2.2.1、当循环While Loop 只要符合设定的条件,当循环将不停的重复 执行其语句内部的程序。如果不符合设定的 条件,它将跳出循环,执行循环外部的模块。 给它设置条件时,它构成的时条件循环,即 不满

15、足条件的时候,它还能跳出该循环; 当把条件设置成数字1的时候,它则构成了一 个永远循环,即永远都运行其内部的程序。 在遥控编程的时候需要用到永远循环。 1.选 择变 量 2.选 择变 量运 算符 号 3.设 置变 量的 表达 式 Network Optimization Expert Team 2.2.2当循环While Loop 当循环模块编程范例1: 以编碰撞开关为例: 右边每一个模块的属性在后面的注 释里面都有说明 首先在变量定义模块(Variables) 里面定义了一个变量a,然后拖入一 个碰撞检测模块,再拖入当循环模 块,条件里面设置a=1,表示碰撞 开关处在断开的状态,在当循环里

16、面拖入一个马达模块设置为运转, 再拖入一个碰撞检测模块,属性和 当循环外面的碰撞检测模块的属性 一样,; 在当循环外面拖入一个马达模块设 置为停止; 那么这个程序的功能为:当碰撞开 关没碰到时马达到家转,直到碰撞 开关碰到时,马达才停止 Network Optimization Expert Team 2.3.1、多次循环For Loop 1.选择变量,并设 置变量的初始值, 如变量是a,初始值 为0,那么这里就该 设置:a=0 2.设置循环次数,表示需要 运行FOR语句里面的程序多 少次,如变量是a,要循环运 行一段程序10次,那么这里 就该设置:a=10 3.选择运算符号,这里选 择+,意

17、思是:使变量做 自加运算,即变量运行完 一次,便在原来的基础上 在加1,加1以后,程序就 会在运行一次,直到运行 完前面设置的10次,它才 停止自加运算;如变量是a, 那么这里里就该设置:a+ Network Optimization Expert Team 2.3.2多次循环For Loop 多次循环For Loop模块编 程范例: 右边每一个模块的属性在 后面的注释里面都有说明 首先在变量定义模块 (Variables)里面定义了 一个变量a,然后拖入一 个FOR模块,条件设置为 for条件设置为 a = 0; a = 3; a + ,表示变量a 初始值为0,做自加运算, 直到a的值等于3

18、才跳出 for条件;接着拖入一个 悬空等待模块,设置为5 秒,最后拖入一个马达模 块,停止马达. Network Optimization Expert Team 2.4.1、定时器Timer 定时器Timer 相当于一个预先放置 在主控器内部的时间 传感器,它需要预先 定义变量才能使用, 可以控制程序的执行 时间,悬空等待只能 延续马达的启动时间 定时器的单位为毫秒 100表示0.1秒 1000表示1秒 10000表示10秒 以此类推 1.选择开始,“开 始”命令定时器开 始计时。 2.选择定时 器的编号 Network Optimization Expert Team 2.4.2、定时器T

19、imer 3.选择预设,“预 设”命令允许用 户给定时器预设 一个固定的值或 预先定义好的变 量。 6.选择取值,“取 值”命令允许用 户把来自定时器 的反馈值赋给一 个变量。 4.选择编号 5.选择预设 值 7.选择编号 8.选择变量 Network Optimization Expert Team 2.4.3、定时器Timer 定时器Timer编程范例: 右边每一个模块的属性在后 面的注释里面都有说明 首先在变量定义模块 (Variables)里面定义变 量a,然后拖入一个定时器 模块选择开始,赋值给变量 a;接着拖入一个定时器模 块,选择预设,值为0;再 拖入一个定时器模块,选择 取值,

20、赋值给变量a;然后 拖入一个当循环模块,条件 设置为a=5000表示定时器 变量小于等于5秒,当循环 里面拖如一个马达模块,运 转1秒,然后停止1秒,最 后在次赋值; 这个程序的功能为:定时器 时间小于等于5秒就执行其 内部的马达运转1秒然后停 止1秒,当定时器的时间大 于5秒时就跳出当循环 Network Optimization Expert Team 2.5.1、悬空等待Wait 悬空等待模块,在指定的时间段 里,延长上一个模块的执行时间。 这段时间以微秒计时。 即 100表示0.1秒 1000表示1秒 10000表示10秒 以此类推 Network Optimization Exper

21、t Team 2.5.2、悬空等待Wait 悬空等待Wait模块编程范例: 下边每一个模块的属性在后面的注释里面都有说明 以编马达为例, 首先拖入一个马达模块,设置为运转;然后拖入以个悬空等待模块,设置为1秒, 最后拖入一个马达模块设置为停止; 那么该程序的功能为:马达运转1秒停止。 Network Optimization Expert Team 2.6、表达式赋值Assignment 表达式赋值Assignment模 块相当于一个通用模块, 你可以在里面输入任何条 件对变量进行运算或者输 入任何代码来代替任何模 块的功能; 你能够为一个变量设置一 个明确的值,例如: bumper=0 你能

22、够定义一个数学表达 式,例如: x + y=z Network Optimization Expert Team 2.7.1、中断Break 中断模块功能常用在当循 环或者IF条件中,表示当程 序运行到中断模块处,不 管它后面还有没有模块, 或者不管满不满足条件, 它都会跳到当循环或IF条件 的后面,执行它们后面的 程序 只能对该模块做对 你修改和查阅程序 有帮助的注释说明 Network Optimization Expert Team 2.7.2、中断Break 中断Break编程范例: 虽然程序一开始设置的是 一个永远循环,理论上是 永远都运行当循环里面的 程序,永远都跳不出来, 但是加

23、了中断模块以后, 程序的功能就变化了; 该程序功能为:程序进入 当循环,启动马达运转2秒, 然后停止2秒,接着就马上 中断当循环条件,跳到当 循环的下面,执行下面的 马达运转2秒,然后停止。 跳出循环 Network Optimization Expert Team 2.8.1、继续Continue 继续Continue:跳到 循环的条件判断处, 从新判断 只能对该模块做对 你修改和查阅程序 有帮助的注释说明 Network Optimization Expert Team 2.8.2、继续Continue 继续Continue模块编程范例: 首先在变量定义模块 (Variables)里面定义

24、了一个 变量a,首先拖入一个碰撞检测 模块,然后拖入一个当循环模 块,设置为a=1,表示碰撞开 关断开,然后拖入一个马达模 块,马达2,设置为运转,在拖 入一个悬空等待模块,设置为2 秒,在停止马达,在拖入一个 继续模块,然后拖入马达3,设 置为运转,延时2秒,然后停止; 那么该程序的功能为:当碰撞 开关没碰到的时候就进入循环, 然后马达2运转2秒停止,接着 就跳到当循环的条件判断处, 从新判断,而不执行继续模块 后面的马达3运转3秒这段程序。 返回到条件判断处,不会执行下面程序 Network Optimization Expert Team 2.9.1、返回Return 返回模块的功能是跳

25、到程 序的结尾处,不管它后面 有没有程序,它都不执行, 直接跳到程序的结束位置 Network Optimization Expert Team 2.9.2、返回Return 返回Return编程范例: 虽然程序一开始设置的是一 个永远循环,理论上是永远 都运行当循环里面的程序, 永远都跳不出来,但是加了 返回模块以后,程序的功能 就变化了; 该程序功能为:程序进入当 循环,启动马达运转3秒, 接着就马上执行返回模块, 跳到程序的结束位置。当循 环外面的程序也不会执行了。 但是由于在返回前面没有停 止马达,所以返回执行以后, 马达仍然会继续转动 Network Optimization Exp

26、ert Team 2.10.1、屏幕输出Print To Screen 屏幕输出模块(Print To Screen)主要是用来 显示用户需要检测的和主控器连接在一起的电 子元件的当前参数; 变量:选择屏幕 输出模块要检测 的变量,既是说 要把哪一个变量 的值显示到屏幕 上 选择格式,这一项是具 有C语言编程经验的用 户的一个选项。对于大 多数的用户只需要选择 %d。 选择类型,这一项也是 具有C语言编程经验的 用户的一个选项。对于 大多数的用户只需要选 择int。 信息 输入 Network Optimization Expert Team 2.10.2、屏幕输出Print To Scree

27、n 屏幕输出Print To Screen模块编程范例1: 首先在变量定义模块(Variables)里面定义了一个变量a,然后拖入一个当循环模块,条件为数字1,然 后在当循环里面拖入一个碰撞检测模块,选择变量a,然后拖入一个屏幕输出模块,屏幕输出模块的变量 为预先定义的变量a,格式一般为%d,类型为int,输出内容为a= 把该程序下载到主控器后,不关闭电源,也不取掉下载线,然后跳到Termianl,就可以显示当前碰撞检 测到的数据,如下图: Network Optimization Expert Team 2.11、程序注释Comment 对程序做对你修 改和查阅有帮助 的说明或注释, 源码注

28、释被编译 器忽略。 Network Optimization Expert Team 2.12、自定义代码User Code 自定义代码User Code: 可以替代任何模块,比如马达 模块的代码是SetMotor ( 2 , 255 ) ;那么只要在自定义代码 User Code模块里面键入马达 的代码,那么它就表示一个马 达模块; 这个模块为熟悉C语言的用户 设计。为了编译器能够正确编 译代码,你必须正确使用语法。 对于C 语言的信息请自行参阅 C 语言的相关指导书。 键入自定义 的代码 Network Optimization Expert Team 3、Inputs主控输入模块 VEX

29、 机器人软件编程教程 Network Optimization Expert Team 3.1.1、碰撞开关传感器 bumper switch 碰撞开关是数字式的传感器。 它有两种状态:即开和关; 当碰撞开关断开的时候,定义为1。 当碰撞开关闭合的时候,定义为0。 1.选择碰撞 开关连接在 主控器上的 通道 2.选择一个预 先定义的碰撞 开关变量 对当前模块注释, 将帮助你阅读程 序和理解模块的 功能。 3.设置好 以后点OK Network Optimization Expert Team 3.1.2、碰撞开关传感器 bumper switch 碰撞开关程序范例: 首先在变量定义模块(Var

30、iables)或(Globass)里面定义了一个变量a,然后拖入一个碰撞检测模块,接着拖入 一个当循环模块对当前碰撞变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个碰撞检测模 块,属性和当循环外面的碰撞检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一 个马达控制模块; 那么这个程序的功能就是:当 a=1即是碰撞开关没碰到时,启动马达,反之a=0则是当碰撞开关碰到时,就跳 出当循环,停止马达。 变量一定要先定义再使用!变量一定要先定义再使用! Network Optimization Expert Team 3.2.1、光敏传感器 light sensor 光

31、敏传感器是模拟式的传感器, 它是用来检测周围环境光线的亮 暗的传感器; 把光线由亮到暗的范围定义在0到 1024。值越小表示光线越亮,值 越大表示光线越暗; 1.选择光敏 传感器连接 在主控器上 的通道 2.选择一个预 先定义的光敏传 感器变量 对当前模块注释, 将帮助你阅读程序 和理解模块的功能。 3.设置好 以后点OK Network Optimization Expert Team 3.2.2、光敏传感器 light sensor 光敏传感器程序范例: 首先在变量定义模块(Variables)或(Globals)里面定义了一个变量a,然后拖入一个光敏检测模块,选择变量 a,接着拖入一个当

32、循环模块对当前亮度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模 块,再拖入一个光敏检测模块,属性和当循环外面的光敏检测模块的属性一样,这样就构成了一个条件循环, 最后在当循环外面在拖入一个马达控制模块; 那么这个程序的功能就是:当 a700则是光线比较 暗时,就跳出当循环,停止马达。 变量一定要先定义再使用!变量一定要先定义再使用! Network Optimization Expert Team 3.3.1、限位开关limit switch 限位开关是数字式的传感 器。和碰撞开关类似; 它有两种状态:即开和关; 当限位开关断开的时候, 定义为1。 当限位开关闭合的时候, 定义

33、为0。 1.选择限位 开关连接在 主控器上的 通道 2.选择一个预 先定义的限位 开关变量 对当前模块注 释,将帮助你 阅读程序和理 解模块的功能。 3.设置好以 后点确定 Network Optimization Expert Team 3.3.2、限位开关limit switch 限位开关程序范例: 首先在变量定义模块(Variables)或(Globals)里面定义了一个变量a,然后拖入一个限位检测模块,接 着拖入一个当循环模块对当前限位变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一 个限位检测模块,属性和当循环外面的限位检测模块的属性一样,这样就构成了一个条件循环,最后在

34、 当循环外面在拖入一个马达控制模块; 那么这个程序的功能就是:当 a=1即是限位开关没闭合时,就不停的启动马达运转,反之a=0则是当限 位开关碰到时,就跳出当循环,停止马达。 变量一定要先定义再使用!变量一定要先定义再使用! Network Optimization Expert Team 3.4.1、巡线传感器 Line Follower 1.选择巡线 传感器连接 在主控器上 的通道 2.选择一个预 先定义的巡线 传感器变量 对当前模块注 释,将帮助你 阅读程序和理 解模块的功能。 3.设置好 以后点确定 巡线传感器是模拟式的传感器, 它是用来检测颜色的传感器; 把颜色的深浅由白到黑的范围定

35、 义在0到1024。值越小表示颜色 越白,值越大表示颜色越黑; Network Optimization Expert Team 3.4.2、巡线传感器 Line Follower 巡线传感器程序范例: 首先在变量定义模块(Variables)或(Globals)里面定义了一个变量a,然后拖入一个巡线检测模块,接着拖 入一个当循环模块对当前灰度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖 入一个巡线检测模块,属性和当循环外面的巡线检测模块的属性一样,这样就构成了一个条件循环,最后在 当循环外面在拖入一个马达控制模块; 那么这个程序的功能就是:当 a700则是颜色比 较黑

36、时,就跳出当循环,停止马达1。 变量一定要先定义再使用!变量一定要先定义再使用! Network Optimization Expert Team 3.5.1、编码器 Optical Encoder 编码器是一个数字式的传感器。它能够用来 测量和定义马达转动的圈数或者路程。 编码器旋转(360 度)等于90个编码脉冲。 1.选择 开始, 开始记 录编码 脉冲 2.选择编码 器连接在主 控器上的端 口 Network Optimization Expert Team 3.5.2、编码器 Optical Encoder 6.选择 取值, 开始把 值反馈 给变量 7.选择编 码器连接 在主控器 上的

37、端口 8.选择一 个预先定义 的变量 3.选择 预设 4.选择编码 器连接在主 控器上的端 口 5.选择固定值, 设为0,表示 编码器的初始 值为0,为编 码器清零 对当前模块注 释,将帮助你 阅读程序和理 解模块的功能。 Network Optimization Expert Team 3.5.3、编码器 Optical Encoder 编码器程序范例: 首先在变量定义模块(Variables)或(Globals)里面定义了一个变量a,然后拖入三个编码器检测模块,第一个 选择开始,第二个选择预设,第三个选择取值;接着拖入一个当循环模块对当前路程变量(即变量a)进行判 断,然后在当循环里面拖入

38、一个马达控制模块,再拖入一个编码器检测模块,属性和当循环外面设置取值的 那个编码器检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块; 那么这个程序的功能就是:当 a30则是马达转动的路程达到30时,就跳出当循环,停止马达。 Network Optimization Expert Team 3.6.1、超声波传感器Ultrasonic Sensor 1.选择开 始,开始 命令告诉 超声波开 始记录声 波。 2.选择超声 波传感器连 接在主控器 上的中断端 口 3.选择超声波 传感器连接在 主控器上的输 出端口 4.选择取值,取值 命令允许用户将来 自超声波的值

39、反馈 给一个变量。 5.选择 超声波 传感器 连接在 主控器 上的数 字端口 6.选择超声波 传感器连接在 主控器上的输 出端口 7.选择一个 预先定义的 变量 超声波传感器利用高频率的声波 来探测障碍物。它发射一个超声 波信号,声波被外界物体反射回 来。然后超声波传感器就可以根 据接收到的信号的时间和强弱计 算出离障碍物的距离 超声波传感器有两根连接线 确保标有Output标签的线连接到 主控器的数字端口。 确保标有Input标签的线连接到主 控器的数字输出端口。 超声波的取值范围是:2100 小于2cm是超声波的盲区,在 2cm以内就检测不到任何物体。 Network Optimizati

40、on Expert Team 3.6.2、超声波传感器Ultrasonic Sensor 超声波传感器程序范例: 首先在变量定义模块(Variables)或(Globals)里面定义了一个变量a,然后拖入两个超声波检测模块,第一个选择 开始,第二个选择取值;接着拖入一个当循环模块对当前超声波变量(即变量a)进行判断,然后在当循环里面拖 入一个马达控制模块,再拖入一个超声波检测模块,属性和当循环外面设置取值的那个超声波取值模块的属性一 样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块; 那么这个程序的功能就是:当 a50时,就跳出当循环,停止马达。 Network Optim

41、ization Expert Team 3.7、数字输入 Digital Input 1.选择端口 2.选择选择 预先定义好 的变量 数字输入 Digital Input模块可以代替 所有数字式的传感 器模块 Network Optimization Expert Team 3.8、模拟输入 Analog Input 1.选择端 口 2.选择选择 预先定义好 的变量 模拟输入 Analog Input 模块可以代 替所有模拟式的传 感器模块 Network Optimization Expert Team 4、Outputs主控输出模块主控输出模块 VEX 机器人软件编程教程 Network

42、Optimization Expert Team 4.1.1、马达控制 Motor Module 1.选择马达连接在主控 器上的端口 2.选择127表示马达以 最快的速度正转 3.选择0表示马达以停 止 4.选择-127表示马达 以最快的速度反转 5.选择用户自定义则表示用户自己设置马达的 速度0-127之间的数字都是反转,越接近127 速度越慢,0127之间的数字都表示正转,越 接近0速度越慢 6.设置好以后点确定 马达的输出轴正对自己, 顺时针表示正转,逆时针 表示反转; 箭头图标向上暗示马达正 转。 箭头图标变成一个黄色的 点暗示马达停止。 箭头图标向下暗示马达反 转。 Network

43、Optimization Expert Team 4.1.2、马达控制 Motor Module 马达控制编程范例:右边每一个模块的属性在 后面的注释里面都有说明 首先拖入一个马达模块,选择正转,再拖入一 个悬空等待模块,设置为1000,表示一秒;然 后再拖入一个马达模块,选择停止; 那么这个程序的功能为:马达正转一秒后停止。 需要注意的是你启动了几个马达那么在停止的 时候就要加多少个停止马达。 马达控制编程范例2:右边每一个模 块的属性在后面的注释里面都有说明 首先拖入一个当循环模块,条件设置 为,表示永远循环;然后再当循环里 面拖入一个马达模块,选择正转; 那么这个程序的功能为:马达永远正

44、 转。 Network Optimization Expert Team 4.1.3、马达方向辅助图表 假设一不小车上装了两个马达,左右各一个,来给小车提供动力,那么小车的运动情况如下表假设一不小车上装了两个马达,左右各一个,来给小车提供动力,那么小车的运动情况如下表 小车前进小车前进 小车后退小车后退 小车以两个轮子的中心点为圆心向左转小车以两个轮子的中心点为圆心向左转 弯(也可一个马达转一个马达不转,这弯(也可一个马达转一个马达不转,这 样以一个马达为圆心转弯)样以一个马达为圆心转弯) 小车以两个轮子的中心点为圆心向右转小车以两个轮子的中心点为圆心向右转 弯(也可一个马达转一个马达不转,这

45、弯(也可一个马达转一个马达不转,这 样以一个马达为圆心转弯)样以一个马达为圆心转弯) Network Optimization Expert Team 4.2.1、伺服控制 Servo Module 伺服器和马达有区别,马达能 转动360度,而伺服器只能转动 一定的角度,大约120度 伺服器的输出轴正对自己,顺 时针表示正转,逆时针表示反 转; 箭头图标向下暗示伺服器正转。 箭头图标变成一个黄色的点暗 示伺服器停止。 箭头图标向上暗示伺服器反转。 1.选择伺服器连接在 主控器上的端口 2.选择127表示伺服器 正转最大的角度 3.选择0表示伺服器停 止 4.选择-127表示伺服 器反转最大的角

46、度 5.选择用户自定义则表示用户自己设置伺服器的 角度0-127之间的数字都是反转,越接近0角度 越小,0127之间的数字都表示正转,越接近 127角度越大 6.设置好以后点确定 Network Optimization Expert Team 4.2.2、伺服控制 Servo Module 伺服器控制编程范例: 右边每一个模块的属性在 后面的注释里面都有说明 首先拖入一个伺服器模块, 选择正转,端口2,再拖入 一个悬空等待模块,设置 为1000,表示一秒;然后 再拖入一个伺服器模块, 选择停止; 那么这个程序的功能为: 伺服器运转一秒后停止。 需要注意的是你启动了几 个伺服器那么在停止的时

47、候就要加多少个停止伺服 器。 Network Optimization Expert Team 4.3、数字输出 Digital Output 1.选择端口, 一般默认为 数字/模拟口 912 2.选择选择预 先定义好的 变量或者自 定义一个值 使用数字输出功能模块用来控制数字 输出的状态。 你能够利用数字输出端口打开或者关 闭像一个发光二极管或一个螺线管这 样的设备。 数字输出能够设置1或0固定的值,它 同样能够设置成一个预先定义的变量。 缺省情况下所有的数字输出值设置为 1(或者0) Network Optimization Expert Team 5、遥控控制模块、遥控控制模块 VEX

48、机器人软件编程教程 Network Optimization Expert Team 5.1.1、单杆控制双马达Arcade-2 motor 单杆控制双马达 指的是遥控器的 一个操纵杆控制 两个马达同时转 或同时停,这样 两个马达转动的 速度不论快慢, 都是一致的,就 不会因为手的力 量问题而使两个 马达转动的速度 不一样 1.这里一 般默认 2.选择遥控 器控制小车 前进后退的 控制通道 3.选择遥控 器控制小车 左右转弯的 控制通道 4.选择小车 左右马达连 接在主控器 上的通道 5.选择小车 左右马达转 动的正反方 向、一般默 认 Network Optimization Expert

49、Team 5.1.2、单杆控制双马达Arcade-2 motor 单杆控制双马达编程范例: 首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号; 然后在当循环里面拖入一个单杆控制双马达模块,前进后退选择3,旋转选择1,马达通道则选择2和3; 那么该程序的功能就是:遥控器控制马达2和3同时转动;遥控器的3通道控制前进后退;遥控器的1通道控制旋转 Network Optimization Expert Team 5.2.1、单杆控制四马达Arcade-4 motor 单杆控制四马达 指的是遥控器的 一个操纵杆控制 四个马达同时转 或同时停,这样 四个马达

50、转动的 速度不论快慢, 都是一致的,就 不会因为手的力 量问题而使四个 马达转动的速度 不一样 1.这里一 般默认 2.选择遥控 器控制小车 前进后退的 控制通道 3.选择遥控 器控制小车 左右转弯的 控制通道 4.选择小车 左右马达连 接在主控器 上的通道 5.选择小车 左右马达转 动的正反方 向 Network Optimization Expert Team 5.2.2单杆控制四马达Arcade-4 motor 单杆控制四马达编程范例: 首先拖入一个当循环模块,条件设置为1,构成一个永远循环; 然后在当循环里面拖入一个单杆控制四马达模块,前进后退选择3,旋转选择1,马达通道则选择 2.3

51、.4,5; 那么该程序的功能就是:遥控器控制马达2.3.4,5同时转动;遥控器的3通道控制前进后退 遥控器的1通道控制旋转 Network Optimization Expert Team 5.3.1、双杆控制双马达Arcade-2 motor 双杆控制双马达 指的是遥控器的 两个操纵杆控制 两个马达转或停, 这样两个马达转 动的速度不论快 慢,都有可能不 一致,就会因为 手的力量问题而 使两个马达转动 的速度不一样 1.这里一 般默认 2.选择遥控 器控制小车 左边马达的 控制通道 3.选择遥控 器控制小车 右边马达的 控制通道 4.选择小车 左右马达连 接在主控器 上的通道 5.选择小车

52、左右马达转 动的正反方 向 Network Optimization Expert Team 5.3.2、双杆控制双马达Arcade-2 motor 双杆控制双马达编程范例: 首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号; 然后在当循环里面拖入一个双杆控制双马达模块,左马达选择3,右马达选择2,马达通道则选择2和3; 那么该程序的功能就是:遥控器控制马达2和3转动;遥控器的3通道控制马达2 遥控器的2通道控制马达3 Network Optimization Expert Team 5.4.1、双杆控制四马达Arcade-4 motor 双杆控制

53、四马达 指的是遥控器的 两个操纵杆控制 四个马达转或停, 即一个操纵杆控 制两个马达; 这样四个马达转 动的速度不论快 慢,都有可能不 一致,就会因为 手的力量问题而 使四个马达转动 的速度不一样 1.这里一 般默认 2.选择遥控器 控制小车左边 两个马达的控 制通道 3.选择遥控器 控制小车右边 两个马达的控 制通道 4.选择小车 左右马达连 接在主控器 上的通道 5.选择小车 左右马达转 动的正反方 向 Network Optimization Expert Team 5.4.2、双杆控制四马达Arcade-4 motor 双杆控制四马达编程范例: 首先拖入一个当循环模块,条件设置为1,构

54、成一个永远循环; 然后在当循环里面拖入一个双杆控制四马达模块,左马达选择3,右马达选择2,马达通道则选择 2.3.4.5 ; 那么该程序的功能就是:遥控器控制马达.2.3.4.5转动. Network Optimization Expert Team 5.5.1、Holonomic程序控制、麦克纳姆万向轮 麦克纳姆万向轮除了拥 有双排大万向的功能之 外,还具有平移功能。 由于轮子比较特殊,程 序一般使用此种: 通道选择, 分别控制前 后、左右、 平移。 马达选项, 主控器插线 时与此项一 一对应 马达转向选 项。 Network Optimization Expert Team 如右图所示:麦

55、克纳姆轮一套 共有四个轮子,其中包含左轮 2个、右轮2个。在使用过程中 应注意:对角线的两个轮子一 样。在这种情况下,方可实现, 前后、左右、平移功能。 对角线上的两 个轮子是一样 的 5.5.2、Holonomic程序控制、麦克纳姆万向轮 Network Optimization Expert Team 5.6、操纵杆控制马达 Joystick to motor 操纵杆控制马达是指 利用遥控器的两个操 纵杆(四个通道)控 制马达,一般为单个 马达。 遥控器 选择 通道选择, 取值范围14 马达方 向选择 马达选 择 Network Optimization Expert Team 5.7.1

56、、操纵杆控制马达 极限控制 Joystick to motor & limit 操纵杆控制马达 极限 控制,是指在操纵马达过程 中,利用限位起到保护作用 的控制 。 在限位中,常用到的电子元 件有,碰撞开关、限位开关。 如右图,在限位选项中有两 个供我们选择,对于一个运 动利用两个限位来控制。通 常情况下,使用一个限位即 可。 范例:操作遥控器,马达运 转,按下碰撞开关1或2, 马达停止,松开,马达继续 运转 遥控器、 通道选 择 马达、方 向选择 限位选 择 Network Optimization Expert Team 程序说明:首先拖 入当循环条件设置 为1,然后拖入相 应模块,修改参

57、数。 程序功能,操纵遥 控杆,马达运转, 按下碰撞开关1#, 马达停止,松开开 关马达运转;按下 开关2#,马达停止, 松开开关马达运转。 5.7.2、操纵杆控制马达 极限控制 Joystick to motor & limit Network Optimization Expert Team 5.8、操纵杆控制伺服器 Joystick to Servo 操纵杆控制伺服 器是指利用遥控 器的两个操纵杆 (四个通道)控 制伺服器 遥控器、通 道选择 伺服器、方 向选择 代码、注 释说明 Network Optimization Expert Team 按钮选择, 可以改变相 对方向 遥控器、 通道选 择 马达速 度 马达选 项 5.9.1、操纵杆数字控制马达

温馨提示

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

评论

0/150

提交评论