VEX机器人软件编程教程_第1页
VEX机器人软件编程教程_第2页
VEX机器人软件编程教程_第3页
VEX机器人软件编程教程_第4页
VEX机器人软件编程教程_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

1、VEX 机器人软件编程教程、使用注意事项如果是没有购买序列号的用户,安装了软件,打开软件时会弹出一个注册的窗口,中文版点暂不注册按钮便可以试用。英文版点RuninEvaluationMode按钮便可试用;英文1.0版试用30天,英文2.0版只能试用7 天;中文2.0版15天;如果是购买了序列号的用户,在注册的时候需要联网注册,每个序列号也只能在一台电脑上使用,英文版如果换了电脑再使用该序列号注册,那么该系列号就不可用了,2.0中文版一个序列号也只能一台电脑注册,如要换电脑注册可以点菜单栏-帮助-注销,然后在另一台电脑上就可以再次使用该序列号了;如果是没有购买序列号的用户,只要一装上软件,便自动

2、与系统硬件绑定,试用期到了以后即使把软件卸载了在重装也不能继续试用,建议先用备份工具备份系统,然后才安装中英文版软件,这样软件过期了以后,只需要把系统还原,在重装VEX软件即可继续试用;英文版软件比中文1.0版软件稳定,中文1.0版软件存在一些错误,不建议使用中文1.0版;VEX编程软件有中文版和英文版两个版本(中文和英文分别都有1.0版本和2.0版本),两个版本不能混用,不要既下载中文版编的程序到主控器,又下载英文版编的程序到主控器,这样会损坏主控器的底层程序,严重时会导致主控器的某些芯片不可用,从而导致主控器不能使用;中文版和英文版的程序和代码都不能用对方的的软件相互打开编辑中文1.0版软

3、件编好的程序不能保存到C盘(包括桌面),否则会导致程序不能打开或者出现错误;中文2.0版电脑的任何地方都可以保存,以文件夹的形式保存,注意在同一个程序文件夹下不能在保存别的程序,否则在打开程序时会出错并关闭自动关闭;中文1.0版软件在每次下载程序之前都要先保存-编译-链接-然后再下载,然后选择端口;查看下载线使用的COM口的方法是:我的电脑-右键-属性-硬件-设备管理器-端口(COM和LPT)-ProlificUSB-to-SerialCommPort(com3)最后这一项的com3就是当前VEX下载线使用的端口;然后在软件里面选择你查看到的端口即可下载程序到主控器,具体方法后面有详细介绍;2

4、.0中英版软件可以定义子程序,1.0中英版软件不能定义子程序;2.0中英版软件中可以定义全局变量和局部变量,1.0中英版的软件所有变量都是全局变量;1.0中英版软件没有中断、继续、返回模块,2.0中英版软件中有。当主控器出现执行程序混乱的情况时,说明有可能是主控器的底层程序不正常,那么只需要从新下载一次底层程序即可,中文版2.0为:菜单栏:生成下栽初始化程序。、主界面、工具栏模块(英文版)U新建工程;创建一个新的工程电调试和下载:下载你当前窗口的程序到主控署3打开工程,打开你保存在电脑上的程序或代码文件a终端窗口;选择下载绘和电脑连接的COM端口保存工程:保存一个工程在线葡口;开始在缉翎H窗口

5、国工程窗口,显示抑除藏工程窗口入门较别工在工程窗口显示基本的函数儆回输出窗口工显示和篦薰输出窗口高级级别:在工程说口扉示先进(高级)的函数模块*控制锚配置;打开控制罂配置时话框专业的IJ:在工程窗口显小所有可利用的函数模快*程序变量,打开程序变量对诏框包放大.噌人雌图显示的比例尺寸竺编译工程:编译打开的工程代码久缩小:减小流程图显示的比例尺寸J新建工程:创建一个新的工程-J打开工程:打开你保存在电脑上的程序或代用文件翁译工程;警译打开的工程代用链接工程,链接打开的工程代制国下载;下载你当前窗口的程序到主控器31放大1增大当前窗口显示的比例尺寸缩小:减小当前窗口显示的比例尺寸关于我们,显示版本信

6、息对于1.0版每一个新的程序都会有一个I/O定义模块,变量定义模块(Variables,开始模块(BEGNI)和结束模块(END)。2.0版则增加了局部变量定义模块。I/O模块、全局变量定义模块、局部变量定义模块应当在开始编程之前定义。在每一个程序里,开始模块表示程序的第一个模块;结束模块表示程序的最后一个模块。你必须放置所有的模块在这两个模块之间。插入模块:在模块区用鼠标左键点住相应模块,拖动到编程区的开始和结束模块之间,放开鼠标,然后只要设置好模块的属性就行了。需要说明的是传感器模块必须先定义其变量才能插入到编程区内。编辑模块(EditEdit):):左键双击修改,也可单击右键。英文版是点

7、右键,选择编辑。复制模块(CopyCopy): :中文版2.0是ctrl+c复制模块,也可单击右键;英文版是按住ctrl键,拖拽模块,然后将复制的模块放到你需要放置的位置。也可单击右键。剪切模块(CutCut): :中文版2.0是ctrl+x剪切模块,也可单击右键;英文版是先选中模块,再点右键选择剪切。粘贴(PastePaste:中文版2.0是ctrl+v粘贴模块,也可单击右键;英文版是点右键,选择粘贴。删除模块(DeleteDelete): :中文版2.0是Delete键删除模块,也可单击右键;英文版是点右键,然后选择删除。右键单击任何一个模块,可以对该模块进行编辑、复制、剪切、删除、粘贴等

8、操作。编译下载:F5为编译程序,F6为编译并下载程序五、I/OI/O 定义模块端口设置双击I/O图标或点鼠标右键(I/O定义模块),你能够配置控制器的I/O端口。模拟/数字端口(共16个口)(ANALOG/DIGITAL):波浪线表示模拟端口(默认为14),箭头表示数字端口;箭头向左的表示信号是由外部输入到主控器(默认4就建丁程=创建一个新的工程打开程打开你保存在电脑上的程序或代码文修H保存工程=保存当前的工程代码M项1浏览=关闭和打开模块区输他窗口二关闭和打加6译体接燃码输出品不凶甩主控器设苴;设益主控器的I/O口%全局定义:定义全局变量(j编译:对当前打开的程序进行条座查错0第评并下载,对

9、当前打开的程序进行编洋井下载到主控器四、编程区I0T(Mfr|nfitvoidmihvoid序量,|朴iftj1voidhiiilnfvvoidmAln(vvM)联44trH都*“voidfndii|void1im m ) )为510),箭头向右的表示信号是由主控器内部输出(默认为11-16),模拟和数字端口可以互换,数字端口的输入输出也可以更改;中断端口(INTERRUPTS)(共6个口):不能更改;马达端口(MOTORS)(共8个口):不能更改;六、变量设置模块(1.0版)hri疝16程序变就双击变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的变量;这里数据类型一般都选择in

10、t,变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值双击全局变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的全局变量;这里数据类型一般都选择int,变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值,也可以不设置。局部变量设置模块(2.02.0 版)VnriAbles局部安量|.双击局部变量设置图标,打开程序变量定义对话框。你能设置程序需要使用到的局部变量;这里数据类型一般都选择int;变量名称需要是英文字母,其它的可以不填也可以在变量取值处设置变量的值变量定义表V-firlJiblcRJEFIFII耻Inn-toblllcs卡通通bl。On

11、-crliCion告 IKCLI善 GQQchar-declaresEJ-iaraEters-daclcrei91nHi+IInmimberft12?to-127白白itscbrlertterPA;orcharsmallnum-IDsunskgncdcha-declaresdcQl也丁口手EIJnunnbQFftoZ55gBSunb5gncdlCharletter-UAgirunsianedchar与mallnurrhsifinedchar-dsclersscharacters-declaressmal1nijmbsrs127to1278BitsfianedcharHatter,Ajorsig

12、neidchAFmaliniumiHit-d.ql.F.-*vyhQlIvinuirnbBFstoBit掌int*:-ljarintX-ljuiriintY=IjMhurt-de-clarewvholenumhEs-rs-32,76?ta32,76?J.昌B-itsishoFfeKw1;0rshortX%uin-wignciirluhort-deciarespc?s:rtiVB1wholeriijtrnbcrsDto69195iG0清工uns-iQnntiengaijorIDITIGX-1juirislgnodMana/pgr|:iVowhollc3-SB-iiCsunsbanecl1esno

13、H01;全局变量设置模块(2.02.0 版)Globes这里可以删除整行不需要的变量X看底:定更II七、接口说明接口功能马达端口 MOTORS 共有 8 个口主控器上标有 MOTORS 字样的端口,用来接马达和伺服器中断端口 INTERRUPTS共有 6 个口主控器上标有 INTERRUPTS 字样的端口,用来接超声波传感器的OUTPUT 端和编码器模拟/数字端口ANALOG/DIGITAL 共有 16 个口主控器上标有 ANALOG/DIGITAL 字样的端口,默认 14 为模/数字通用端口,可接巡线、光敏、碰撞、行程,默认 510为数字输出端口,可接碰撞、行程,默认 1116 为数字输入端

14、口,接超声波的 Input 端,都可以自行更改接收给连接接口i:触遥控描收邈.中断端口(I.蹙接超声波、达何盟达何盟口乌、口乌、服服接接zIL接收部连接接口?:.J隹接遥控特收我上、程序通过诿瑁口下翱菠;1、打开0/关闺中并)VEX主控器磋程传传披磋程传传披则则按行按行腋线声好要、光逃腋线声好要、光逃超超, 主关、主关、:器器?1.选择住攫1 1、碰撞开关传感器 bumperswitchbumperswitch碰撞开关是数字式的传感器。它有两种状态:即开和关。当碰撞开关断开的时候,定义为当碰撞开关闭合的时候,定义为1。00开关连将在主控器上的1-19一桶先定义的被便二开关受堇 1对当前楔块注程

15、.将希助你阅渍程序和理解模、快的功罪.打开英文版位于TestCode的文件夹中的BUMPERTEST.ECP工程,看其品设置好以后点UK示范怎样编写碰撞开关程序。碰撞开关程序范例:首先在变量定义模块(Variable)里面定义了一个变量a,然后拖入一个碰撞检测模块,接着拖入一个当循环模块对当前碰撞变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个碰撞检测模块,属性和当循环外面的碰撞检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的功能就是:当a=1即是碰撞开关没碰到时,就不停的启动马达1正转,反之a=0则是当碰撞开关碰到时,就跳出当

16、循环,停止马达1。3a-GetDigildllnput(1);盛开关通道为1,变量为预先设置好的变量a下一|a-GelDigitallnpul(1);W再次赋值,和当循环前面的碰捶检测模块的属性一样SatMotor|1t127);4马达1停止光敏检测模块,选择变量a,接着拖入一个当循环模块对当前亮度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个光敏检测模块,属性和当循环外面的光敏检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的功能就是:当a=800则是光线比较暗时,就跳出当循环,停止马达1。while(a=1)/当

17、循环条件为a=1表示限便开关处在断开的状态2 2、光敏传感器 lightsensorlightsensor光敏传感器是模拟式的产传感器,它是用来检测周 M围环境光线的亮暗的传感器;把光线由亮到暗的范围定义在0到1024。值越小表示光线越亮,值越大表示光线越暗;打开英文版位于TestCode文件火中的LIGHTTEST.ECP工程, 看其示范怎样编写光敏传感器程序。光敏传感器程序范例:首先在变量定义模块(Variables恃感器连接在主控器上一V的强置J2,选择一个预先定义的无峨L传感室变量%当前摸块注程,将帮助你阅悻程序和理解模、块的功能.XHJ里面定义了一个变量a,然后拖入一个冯达1正转,速

18、度2553.谀置好以后点0KkJ合a=6岫僮网|1呷(11;光敏传感翻道为1.变量海跣设箭理I变量aWHILEj-while(*8W)L当循环条件为a8叩表示比较亮的光线(J(.SelMolor(1,255);滔达1正转,速度2559GM间时呼皿修,再次氟值,和当循环前面的光雌测模块的属性一样3 3、限位开关 limitswitchlimitswitch限位开关是数字式的传感器。和碰撞开关类似;它有两种状态:即开和关;当限位开关断开的时候,当限位开关闭合的时候, 打开英文版位于TestCode的文件火中的LIMITTEST.ECP工程,看其示范怎样编写行程开关程序o限位开关程序范例:首先在变量

19、定义模块(Variables)里面定义了一个变量a,然后拖入一个限位检测模块,接着拖入一个当循环模块对当前限位变量进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个限位检测模块,属性和当循环外面的限位检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的功能就是:当a=1即是限位开关没闭合时,就不停的启动马达1正转,反之a=0则是当限位开关碰到时,就跳出当循环,停止马达1。SetMotor(1JZ7);乱马达1停止定义为1定义为0a-GelDigitallnput(1);力隈位开关通道为1,变量为的变量山whileI断=1)力当循环条件为所

20、=1表示艇位开关处在断开的状态(SelMclor(1,255);/OIiEK.11255d-GEDigiMInpid;门再次取值,和当储环前面的贬位检测模块的显性一样SetMotor(1,1271;冯心停止2.选择一个前先定义的限位开关变量1凝择阻位开关连接在主控器二的获当前喋块注、程,将郭助怀阅谈程序和理醒捏块的功能.3.设直好以后点酹定J巡线检测模块,接着拖入一个当循环模块对当前灰度变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个巡线检测模块,属性和当循环外面的巡线检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的

21、功能就是: 当a=800则是颜色比较黑时,就跳出当循环,停止马达1。2a=GetAndkglnpUt(1);/寻迹传思器通道为1,变量为预先定义的变量日加while1旺叩。|户当循环条件为av即。,茨小颜色比较白Je白马达1正转,速度”5工住Kd=GetAloqhipLKUh/再次赋值,和当循环外面的寻进模块的属性一样X:|4 4、巡线传感器 LineFollowerLineFollower巡线传感器是模拟鼻式的传感器,它是用来检测颜色的传.感器;把颜色的深浅由白到黑的范围定义在0到1024。值越小表示颜色越白,值越大表示颜色越黑;打开英文版位于TestCode的文件夹中的LINEFOLLOW

22、ER.ECP工程, 看其示范怎样编写巡线传感器程序。巡线传感器程序范例:首先在变量定义模块(Variables1.选择巡线传感器连接在主控器上2选择一个匍先定义的地线传感器变霰,对当前模块注程,将帮勖琳阅读程序和理:斛噂块的功能.里面定义了一个变量a,然后拖入一个3.设苴好以后点刷定gSeiMolor1J27);/马达1停止5 5、编码器 OpticalShaftEncoderOpticalShaftEncoder编码器是一个数字式的传感器。它能够用来测量和定义马达转动的圈数或者路程。编码器一般插在中断端口(INTERRUPTS)编码器旋转(360度)等于90|第个编码脉冲。打开英文版位于Te

23、stCode的文件夹中的ENCODERTEST.ECP工程,看其示范怎样编写编码器程序。1.选择开飞始, 告诉绵眄器开始记录编码脉冲.)2.选择编码器连接在主控器上的端n_编码器检测模块,第一个选择开始,第二个选择预设,第三个选择取值;接着拖入一个当循环模块对当前路程变量(即变量a)进行判断,然后在当循环里面拖入一个马达控制模块,再拖入一个编码器检测模块,属性和当循环外面设置取值的那个编码器检测模块的属性一样,这样就构成了一个条件循环,最后在当循环外面在拖入一个马达控制模块;那么这个程序的功能就是:当a30则是马达转动的路程达到30时,就跳出当循环,停止马达1。|潞StarlEncDcIcr(

24、1);.1选抨开始,编码器通道为1的|FreselEHCOderd.Q):.选择预设,编码器通道为1,选择固定值,并设置为口口朝a-GetEncoder|1):,选择取值,墉眄器通道为1.在选择预先设置好的变量a4选择毋码黑连搏在王控靠上的端遗晒S:飞僵,设为 5表示搞义雪的梆的值为 5I理码耀清零j词当IT总便注程.将策助建(却读程序和理髀擅埃的动他蛤到反邕7逃撵如眄器连接在王拄尊【上的ai口J、显选择一个1题无定义的三编码器程序范例:首先在变量定义模块(Variable)里面定义了一个变量a,然后拖入三个1whilea20即是当前超声波和障碍物的距离没有达到20时,就不停的启动马达1正转,

25、反之a20)条件设置的2。J,|即SelNotorf1,255);献255OH3=GetUltrasonic(1.11);方再次赋值,设置和当翻外面的超声波取值模块一样I.SelMotor(1,127);力马达1停止确保标有Output标签的线连接到主控器的中断端口。确保标有Input标签的线连接到主控器的数字输出端口(默认的为1116)。超声波的取值范围是:2100小于2cm是超声波的盲区,在2cm以内就检测不到任何物体。打开英文版位于TestCode的文件夹中的ULTRASONICTEST.ECP工程,看其示范怎样编写超声波传感器程序。代码SafflJUrmsoniiE(1.5选择超声波传

26、感那连接在主控器上的中断端I口3.选择超声波传感器连接在主控器上的输二出端口中b,值01片出逐匚:H=GSfUrtriSWilC(1.11加下造传感苕6.选择超用波传感器隹接在主控器上的输出端口7.选择一个顼先定义的变量Q停止中制父口t.1解甜茶口*:11麻伯副I宦辟麻O%( (g。停止命令允许用户将来自超声波的值反馈给 f 变量.1有开始, 开始令告诉超声液开始记录声次*日子AO开制7 7、数字输入 DigitalInputDigitalInput模块可以代替所有数字式的传感器模块H7IRA1.1.选择端口,一般默认为散字模,拟口5-1口物拔售人2逃择选择预先定义好的变量麻值到:=翻uuu2

27、apm0.在暮4K1WSA*1.选择端8 8、模拟输入 AnalogInputAnalogInput模块可以代替所有模拟式的传感器模块九、OutputsOutputs 主控输出1 1、马达控制 MotorModuleMotorModule马达的输出轴正对自己, 顺时针表示正转, 逆时针表示反转;箭头图标向上喑小马达正转。箭头图标变成一个黄色的点喑小马达停止。箭头图标向下喑小马达反转。&设置好C3谴择表示马达以停止2,选择25藻示马达以最快的速度正转4癖。表示鼻法以匿央的速度反转5.选择用户目定义刑,表示用户自己设置马达的速度 0 1”之间的数字邰是反转,越接近 127 速度越慢,L选择

28、马达隹授在主控器上的端口2*S述明轴方向用户目运义,总而打立马达 A 向翩!针方向O121255 之间的数字都表示正转,管接近127 速度越慢马达控制编程范例1:首先拖入一个马达模块,选择正转,再拖入一个悬空等待模块,设置为1000,表示一秒,然后再拖入一个马达模块,选择停止;那么这个程序的功能为:马达1正转一秒后停止。需要注意的是tSetMowr(1,255);“马达1正转,速度255Wait(1000);延时1秒口|OT|SetMoWr(1t127);“马达1停止你启动了几个马达那么在停止的时候就要加多少个停止马达马达控制编程范例2:首先拖入一个当循环模块, 条件设置为1,表示永远循环;然

29、后再当循环里面拖入一个马达模块,选择正转;那么这个程序的功能为:while11),当循环条件设置为数字1SetMotoi(V55);M马达II.速度255马达1永远正转。马达方向辅助图表假设一部 VEX 机器人小车上装了两个马达,左右各一个,来给小军提供动力,那么小车的运动情况如下表首先拖入一个伺服器模块,选择正转,再拖入一个悬空等待模块,设置为1000,表示一秒;然后再拖入一卜事|SetServo1,255);I,伺 JK 器正转,通道为 1个伺服器模块,选择停止;那么这个程序的功能为:伺服器?Wdit(l000;/诞时 1 秒1正转一秒后停止。需要注意的是你启动了几个伺屈司 S。卢白田0

30、口,1);门伺服器停止服器那么在停止的时候就要加多少个停止伺服器。左马达正转右马达反转LeftRtqtilMotor小车前进左耳这反转右马苣正科leflMglQfR3tMgr小车后退左马达反转右马达反转Left1MMQFRightM附i左马揖正打右马达正轮Liffl履。aZ卜小车以两个轮子的中心点为鄙向左特尊t也可T马达转T 马达不转,这样以T 马认为同心转弯)小半以两个轮子的隼心点为熟涧石转穹f也可T马达转一 t 马达不转,这样以f 马达为国心转弯)2 2、伺服控制 ServoModuleServoModule 伺服器和马达SefVoModute有区别,马达能转动360度,而伺服器只能转动一

31、定的角度,大约120度伺服器的输出轴正对自己,顺时针表示正转, 逆时针表示反转;箭头图标向下暗示伺服器正转。箭头图标变成一个黄色的点暗示伺服器停止。箭头图标向上暗示伺服器反转。伺服器控制编程范例:6,设宜好以后点确定5 选释用户自定义则表示用户自己设置伺服器的角度。727之间的题字都是反转,越接近127角度越小,127-255之间的歌字都表示正(转,起接近 12 彘度越小一冈他感控耨fZ:选择;27表示伺服f2选择2前表示伺服器正转最大的角度1.选择后服器连接在主控器上的端口4.选择。 表示伺服器反转最大的角度缺省情况下所有的数字输出值设置为1(或者0)个变量a,接着拖入一个当循环模块,条件设

32、置为数字1,构成永远循环,然后拖入一个碰撞检测模块,再拖入If模块,在if条件里面设置a=0,在if语句里面拖入一个马达模块设置为正转和一个悬空等待模块设置为2秒;然后停止马达;那么这个程序的功能为:当碰撞开关碰到时马达一正转两秒,然后停止;当没碰到时则不运行任何程序。=GlDigiliilInpul(1);;通捶通道为 1,变量为预先定义的变量 ait(a=J)il条件也置为a-=U表示厘统开关为闭合|t|SotMotor(1,255):马达通道为 L 速度为?553 3、数字输出 DigitalOutputDigitalOutput使用数字输出功能模块用来控制数字输出的状你能够利用数字输出

33、端口打开或者关闭像一个发光二极管或一个螺线管这样的设备。数字输出能够设置1或0固定的值,它同样能够设置成一个预先定义的变量。1.选择端口 1股默认为敬字模xjtgn-16J2.选择选择预先定义好的变量或者自定义_4Vfi十、ProgramFlowProgramFlow 程序流程控制 1 1、单向选择结构 IfIfIf-条件,只要符合设定的条件,将运行if语句内部的程序。如果不符合设定的条件,它将跳过表达式if条件语句的部分,运行下一个程序模块。If模块编程范例:以编碰撞开关程序为例;首先在变量定义模块(Variables)里面定义了一3 制 1 上。)当簿对条件为载字L表示永远循环3股置变Wa

34、it(刘口口);。理时,砂SotMotor(1,127);*马达 1 停止2 2、Else-IfElse-If 嵌套选择结构模块Else-If条件,必须与IF模块结合才能使用,表示和IF模块的条件相反,也可自定义条件双向选择结构 If-ElseIf-ElseIF-Else既IF模块和Else模块的结合体,只要符合设定的条件,将运行if里面的程序。如果不符合设定的条件,它将跳过表达式IF条件部分, 执行日se里面的程序它只执行一次程序,没有循环功能If-Else条件编程范例:以编碰撞开关程序为例: 首先在变量川定义模块(Variables)里面定义了一个变量a,接着拖入一个当循环模块,条件设置为

35、数字1,构成永远循环,然后拖入一个碰撞检测模块,再拖入If-Else模块,再if条3 3.设苴变量的表达Q 式择运号选1符N变篁a=GetDigitalhipul(1;上咽雷瓯道力 1.变量为预先定义好的变量 ai“a=1)MF 基件为表示碰撞开关没碰到卬当碰撞开关没碰到的时候,执行下面的马达 1 正转SclMotor(1,255);马法 1 正卅7.JLSE|W 百当疆当碰撞开头碰到的时候,执行下面的马达 1 停止工 1(SetMotor(1J27):马达 1 停止.JElseElse 模块Else条件,必须与IF模块结合才能使用,默认表示和IF模块的条件相反,不能自定义条件诜总分支X X布

36、埴 HUk取商while(1)当循环条件没置为数字 1,表示永远镣环C件里面设置a=1,在if语句里面拖入一个马达模块设置为正转;在else语句里面拖入一个马达模块设置为停止;那么这个程序的功能为: 当碰撞开关没碰到时马达一正转, 当碰撞开关碰到时就执行Else里面的停止马达3 3、当循环 WhileLoopWhileLoop只要符合设定的条件,当循环将不停的重复执行其语句内部的程序。如果不符合设定的条件,它将跳出循环,执行循环外部的模块。给它设置条件时,它构成的时条件循环,即不满足、条件的时候, 它还能跳出 该循环;当把条件设置成数字1的时候, 它则构成了一个永远循环,即永远都运行1 诞择变

37、量其内部的程序。在遥控编程的时候需要用到永远循环运符量尊号设变的达3.W量表当循环模块编程范例1:以编碰撞开关程序为例:首先在变量定义模块(Variables)里面定义了一个变量a,然后拖入一个碰撞检测模块,再拖入当循环模块,条件里面设置a=1,表示碰撞开关处在断开的状态,在当循环里面拖入一个马达模块设置为正转,碰撞检测模块, 属性和当循环外面的碰撞检测模块的属性一样,在当循环外面拖入一个马达模块设置为停止;那么这个程序的功能为:当碰撞开关没碰到时马达一正转,碰到时,马达1才停止再拖入一个直到碰撞开关a=GetDiqitallnput(1):碉瞳t道为1,变量为预先定文的变量aWHILEwhi

38、le,3=1)”当循环条件为ac1,表示碰撞开关没有闭合SetMotor(1f255);马达通道为1.速度为7光a=GDigitallnput(1|:再被赋值,属性和当循环外面的碰撞椅洌模块一样0|SttMowr(1.127“马达1停止当循环模块编程范例2:首先拖入当循环模块,在当循环条件里面输入数字1,表示永远循环运行当循环内部册程序;在当whilE(l)当循环条件为L表示永远循环(SetMotor(V55);“马达通道为1,速度为255循环里面拖入一个马达模块设置为正转;那么这个程序的功能为:马达1永远正转4 4、多次循环 ForLoopForLoopForLoopFQ段+.1 选择变量.

39、并设苴变量的初始值.如变量是热初的值为口.那昌这里就漆寺宜;辛口.2,役置循环汰数.表示需要运行FOR 语句里面的程序多少次.如受量是必要断环运行一段程序 1欹,那么这Lj就该慢瓦上=10m 运苴,即变量运行完一次.便在而来的基汨上在前 1-加 1 以后,程序就叁在运行一次.自到运行完前面色道时 t 口役.它才停止自加运算;如变量是本那幺遑里多次循环ForLoop模块编程范例:首先在变量定义模块r(Variable)里面定义了一个变量a,然后拖入一个FOR模块,条件设置为for条件设置为a=0;a=3;a+,表小变量a初始值为0,做自加运算,直到a的值等于3才跳出for条件;接着拖入一个悬空等

40、待模块,设 L|far(a=Q;a=3;a*)i/for条件设置为d=口;m=3;a+*/10.耒示变曷雌值为%做自加运算,直到描值鼾3才跌出怕爆件tSetMotor(1255);码颜道为1,为255:啜僧止置为2秒,最后拖入一个马达模块,停止马达1;那么该程序的功能为:马达5 5、定时器 TimerTimer定时器Timer相当于一个预先放置在主控器内部的时间传感器, 它需要预先定义变量才能使用, 可以控制程序的执行时间, 悬空等待只能延续马达的启动时间定时器的单位为毫秒100表示0.1秒1000表示1秒10000表示10秒以此类推1正转6秒后停止,就座设直:a+SetMotorf1.127

41、);d守,选辉开始,开蛤,骨令定酎器开工始计时.定时器Timer编程范例:首先在变量定义模块(Variable)里面定义变量a和变量b,然后拖入一个定时器模块选择开始,赋值给变量a;接着拖入一个定时器模块,选择预设,赋值给变量a;在拖入一个定时器模块,选择取值,赋值给变量a;然后拖入一个当循环模块,条件设置为a=5000表示定时器变量小于等于5秒,当循环里面拖如一个马达模块,正转1秒,然后停止1秒,最后在次赋值;这个程序的功能为:定时器时间小于等于5秒就执行其内部的马达正转1秒然后停止1秒,当定时器的时间大于5秒时就跳出当循环|0|00 0避择开始,然后选择定时器茹号,这里只有 f 定时器所以

42、 R 有一个据号B0Pr 处仃(血中声);,选择苗遢,然后选择定时器彘号,再选择强先定姆的麦呈 aI度 0a=GMTimo(1J;途择取值,然后选择定时器给号,再选择旌定史好的变量 aScfMoior1,255 上马达 1正转,速度就6 6、悬空等待WaitWait悬 空 等 待模块, 在指定的时间段里,延长上一个模块的执行时间。这段时间以微秒计时。即:100表示0.1秒、1000表示1秒、10000表示10秒,以此类推设令允许用户给定时器相设一氐选择取值,,取、值一命令允讦用户把来目定时器的反济盾可给一个变乱Jwhile(a21控器后,保持主控器电源为打开,并且下载线和主控器连接正常,然后点

43、终端,就可以显示当前碰撞检测到的数据1212、程序注释 CommentComment对程序做对你修改和查阅有帮助的说明或注释,中文版1.0不能中文注释,英文版1.0和2.0可以中文注释,中文2.0可以中文注释;源码注释被编译器忽略。,1313、自定义代码 UserCodeUserCode88 跳自定义代码UserCode:可以替代任何模块,比如马达模块的代码是SetMotor(1,255);那么只要在自定义代码UserCode模块里面键入马达的代码,那么它就表示一个马达模块;当循环模块,条件为数字1,然后在当循环里面拖入一个碰撞检测模块,选择变量a,然后拖入一个屏幕输出模块,屏幕输出模块的变量

44、为预先定义的变量a,格式一般为“类型为int,输出内容为a=把该程序下载到主4.选择交型,这一项也是具有漪言编程经验的用户的一个选项.对于大恭敬的用户兵需要送蟀境h3遗蟀格式.这一项是具有c酒言编爵魄的用户的 T选项.对于大多数的用户具(g套还择为d./E这个模块为熟悉C语言的用户设计。为了编译器能够正确编译代码,你必须正确使用语法。对于C语言的信息请自行参阅C语言的相关指导书。打开电池盖这里放电池2 2、遥控器的基本操作遥控器的操控杆是有两种模式配置的.请看以下指示来查看或转换:(1)把遥控器的开关推到?ON?的位置来启动遥控器(2)同时按下?Mode?及,Select?钮直至液晶屏显示出菜

45、单画面为止.(3)按Mode钮直到有“Drive字出现在液晶屏的左方(是最后的菜单)来进入驱动模式调节菜单.(4)目前的设定会显示在液晶屏里,显示内容是“23鼓“12”你利用LCD右边的数据输入按钮“十”或“-推上或推下来转换模1、左瞰杆9、电源开关2、左操级杆纵向微调(通道3)10.LCDS曲3、左副杆横向微调(通道4)11.薮字邮量定键4、控制方法设定曜12、信号爨率振溢器(晶障)5、控制法选择键13、小右眼L14、皿联股27.右操纵杆纵向微调(通道2)15、通道5接跳工反右能用投向微调(通道1)16.通道磁罐2H H一、RCControlRCControl 遥控通道控制1 1、遥控器按键

46、说明键A.自定义的代码5 5、单杆控制双马达 Arcade-2motorArcade-2motor指的是遥控器的一个操纵杆控制两个马达同时转或同时停,这样两个马达转动的速度不论快慢,都是一致的,就不会因为手的力量问题而使两个马达转动的速度不一样单杆控制双马达编程范例:首先拖入一个当循环模块,条件设2.选择遥控器控卜车前进后退的i控制迪道_1J3.选择遥控器控制小车左右转苜的控制通道3 3、遥控接收器接法示意图4 4、遥控最优系统搭配使用两个遥控器同时控制不同的机器人时,你必须使用两种不同的晶体RF频率在基本套装里只有一种频率的晶体;在晶体升级套装里可以获得更多的不同频率的晶体。最优系统搭配:遥

47、控、程控、线控多种控制方式。器,Futaba遥蹈全面兼容接L攵器一一金 J可更换星般.多通道输入,可突现单机1谴里一殷选自动I4道择小车左右马达连揍在主控器上的通道5.选择小车左右马达转醐的正反方向置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号;然后在当循环里面拖入一个单杆控制双马达模块,前进后退选择1,旋转选才3,马达通道则选择1和2;该程序的功能就是:遥控器控制马达1和2同时转动;遥控器的1通道控制前进后退;遥控器的3通道控制旋转(ArcadeZ(0,1,3,1,2网;|/横收通道为自动,前进后退的遥控器通道为1,转弯的遥控器通道为3,马达通道为1、2;WHILEwhil

48、e(1)疗当循环条件设置为1.表示永远籍环6 6、 单杆控制四马达指的是遥控器的一个操纵杆控制四个马达同时转或同时停,这样四个马达转动的速度不论快慢,都是一致的,就不会因为手的力量问题而使四个Arcade-4motorArcade-4motorr4,选择小车左右马达连接在主控器上的通道j“5.选择小车左右马达转动的正反方向(1迪里一、般选自动2.涕遥控器控制卜车前进后退的控制通道3.选择遥控、马达转动的速度不一样单杆控制四马达编程范例:首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号;然后在当循环里面拖入一个单杆控制四马达模块,前进后T4小Arca

49、de4(Qr1,3,1,2,3,4,0,0/1,0);微收通道为自动.前的5退的遥控器通道为1.转弯的遥控器通道为3;豆”马达通道为1、2、3、4;退选择1,旋转选择3,马达通道则选择1、2、3、4;该程序的功能就是:遥控器控制马达1、2、3、4同时转动,遥控器的1通道控制前进后退,遥控器的3通道控制旋转|4|*1器控制小车左右转弯的控帝晦道指的是遥控器的两个操纵杆控制两个马达转或停,这样两个马达转动的速度不论快慢,都有可能不一致,就会因为手的力量问题而使两个马达转动的速度不一样双杆控制双马达编程范例:首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信

50、号;然后在当循环里面拖入一个双杆控制双马达模块,左马达选择1,右马达选才3,马达通道则选择1和2;该程序的功能就是:遥控器控制马达1和2转动,遥控器的1通道控制马达1,遥控器的3通道控制马达2加江1While(1)当循环条件设叠为h表示永远循环2,必Tank21,3,1Z0,0|;/1,接收通道为自动,左边的遥控器通道为1,右边的遥控器通道为3,马达通道为1、2;I8 8、双杆控制四马达Arcade-4motorArcade-4motor4 4 咽|:I*双杆控制四马达指的是遥控器的两个操纵杆控制四个马达转或停,即一个操纵杆控制两个马达;这样四个马达转动的速度不论快慢, 都有可能不一致, 就会

51、因为手7 7、双杆控制双马达 Arcade-2motorArcade-2motor2*“4一选择小车左右马达连接在主控器上的通道/5选择小车左右马达转动的正反方向11这里二C般选自动一2.选搽遥控笔控制车左边马达的:控嗣逋道3一选择遥控零控F卜军右边马达的控福随道2014 型5选择, 卜车左右马达转动的正反方4小车左右马达隹接在主控量上的通道3选择遥控着控制卜车右边两个马达的控辖随道2选择遥控器控制小车左边两个马达的控制通道的力量问题而使四个马达转动的速度不一样双杆控制四马达编程范例:首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号;然后在当循环里

52、面拖入一个双杆控制四马达模块,左马达选择1,右马达选3,马达通道则选择1、2、3、4;该程序的功能就是:遥控器控制马达1、2、3、4转动;遥控器的1通道控制马达1、2,遥控器的3通道控制马达3、4WHILE|while(1)当循环茎件设置为1.表示永远整环1Q二*(Tank4(pi1J,1.ZJ141010,0.0):接收通道为自动.左边的遥控器通道为1.右边的遥控器通道为3;/马达通道为h2、39 9、单杆控制单马达 MotorModuleRxMotorModuleRx指的是遥控器的一个操纵杆控制一个马达转或停单杆控制单马达编程范例: 首先拖入一个当循环模块,条件设置为1,构成一个永远循环,

53、这样使它永远都检测遥控器发射出来的信号;然后在当循环里面拖入一个单杆控制单马达模块,遥控器控制通道选择1,马达通道则选择1; 该程序的功能就是: 遥控器的通道控制马达1转动1MotorRcfontralfOJJ.O);1建里-服选自动1这里一股选自动4最 烽 马 达转动的正反方向k_I翊马达连推在主控9 工的通m之.选择遥控器控司马达在控房幽道啪仙|1)4当循环条件设置如,表示永远舸物”鬻转动的正3遗降伺服器连接在主控器上的通道藤随道雉动,器蹦为1,司施道为1;2房择遥后器控由照目器的控制迅1010、单杆控制伺服器 ServoServoModuleRxModuleRx指的是遥控器的一个操纵杆控

54、制一个伺服器转或停4|M4|M单杆控制伺服器编程范例:首先拖入一个当循环模块,条件设置为1,构成一个永远循环,这样使它永远都检测遥控器发射出来的信号;然后在当循环里面拖入一个单杆控制伺服器模块,遥控器控制通道选择1,伺服器通道则选择1;该程序的功能就是:遥控器的-Iwhile(1)僧翻除件涯为1,表示永慰聊口;,SeivuRcCoiitiol,1,1,0);/接颜道为自动,遥控器通道为1,伺服器通道为1;DJ)1通道控制伺服器1转动1111、遥控通道 RxInput-RxInput-使用遥控输入功能模块得到一个Rx1或Rx2口通通道的反馈值,并将其存储于一个变量;1212、脉宽调制 PWMCo

55、ntrol-PWMControl- -在竞赛模型里,使用脉宽调制控制模块控制马你可以使用一组值或预遥控通道达端口的脉宽调制值先定义的变量。你能够使用脉宽调制控制:在遥控控制模式如果遥控器没有发送信号的情况下,可以开启一个马达给其一组脉宽调制值。使其运转。混合发送器信号,构造一个程序,像单杆控制模块。在竞赛模式下,控制带有一个行程开关的马达行进。参看英文版Project夹里ARMLIMITSAMPLE.ECP工程。京1313、用户自定义函数 UserFunctionsUserFunctions1用户自定义函数UserFunctions即通常说的子函数或子程序;其主要作用在于可以简化主程序、简化编程步骤等右图为新建的子函数窗口可以在其开始模块和结束模块之间进行编程操作,如果需要使用传感器,那么可以在其局部变量里面设置局部变量用户自定义函数 UserFunctionsUserFunctions块编程操作步骤1,右键聿击模块区最下面的用户自定义函2.适曲獭?增自定义函数点这里可以打开已融保存的于诚用户自定上由埴工选释子函数的返回夷里,0阳为

温馨提示

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

评论

0/150

提交评论