VEX機器人軟件編程教程_第1頁
VEX機器人軟件編程教程_第2頁
VEX機器人軟件編程教程_第3頁
VEX機器人軟件編程教程_第4頁
VEX機器人軟件編程教程_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、VEX 機器人軟件編程教程一、使用注意事項v 如果是沒有購買序列號的用戶,安裝了軟件,打開軟件時會彈出一個注冊的窗口,中文版點暫不注冊按鈕便可以試用。英文版點Run in Evaluation Mode按鈕便可試用; 英文1.0版試用30天,英文2.0版只能試用7天;中文2.0版15天;v 如果是購買了序列號的用戶,在注冊的時候需要聯(lián)網(wǎng)注冊, 每個序列號也只能在一臺電腦上使用,英文版如果換了電腦再使用該序列號注冊,那么該系列號就不可用了,2.0中文版一個序列號也只能一臺電腦注冊,如要換電腦注冊可以點菜單欄 幫助 注銷,然后在另一臺電腦上就可以再次使用該序列號了;v 如果是沒有購買序列號的用戶,

2、只要一裝上軟件,便自動與系統(tǒng)硬件綁定,試用期到了以后即使把軟件卸載了在重裝也不能繼續(xù)試用,建議先用備份工具備份系統(tǒng),然后才安裝中英文版軟件,這樣軟件過期了以后,只需要把系統(tǒng)還原,在重裝VEX軟件即可繼續(xù)試用;v 英文版軟件比中文1.0版軟件穩(wěn)定,中文1.0版軟件存在一些錯誤,不建議使用中文1.0版;v VEX編程軟件有中文版和英文版兩個版本(中文和英文分別都有1.0版本和2.0版本),兩個版本不能混用,不要既下載中文版編的程序到主控器,又下載英文版編的程序到主控器,這樣會損壞主控器的底層程序,嚴重時會導(dǎo)致主控器的某些芯片不可用,從而導(dǎo)致主控器不能使用;v 中文版和英文版的程序和代碼都不能用對方

3、的的軟件相互打開編輯v 中文1.0版軟件編好的程序不能保存到C盤(包括桌面),否則會導(dǎo)致程序不能打開或者出現(xiàn)錯誤;中文2.0版電腦的任何地方都可以保存,以文件夾的形式保存,注意在同一個程序文件夾下不能在保存別的程序,否則在打開程序時會出錯并關(guān)閉自動關(guān)閉;v 中文1.0版軟件在每次下載程序之前都要先保存編譯鏈接然后再下載,然后選擇端口;v 查看下載線使用的COM口的方法是:我的電腦右鍵屬性硬件設(shè)備管理器端口(COM和LPT) Prolific USB-to-Serial Comm Port (com3)最后這一項的com3就是當(dāng)前VEX下載線使用的端口;然后在軟件里面選擇你查看到的端口即可下載程

4、序到主控器,具體方法后面有詳細介紹;v 2.0中英版軟件可以定義子程序,1.0中英版軟件不能定義子程序;v 2.0中英版軟件中可以定義全局變量和局部變量,1.0中英版的軟件所有變量都是全局變量;v 1.0中英版軟件沒有中斷、繼續(xù)、返回模塊,2.0中英版軟件中有。v 當(dāng)主控器出現(xiàn)執(zhí)行程序混亂的情況時,說明有可能是主控器的底層程序不正常,那么只需要從新下載一次底層程序即可,中文版2.0為:菜單欄:生成下栽初始化程序。二、主界面三、工具欄模塊(英文版)四、編程區(qū)v 對于1.0版每一個新的程序都會有一個I/O定義模塊,變量定義模塊(Variables),開始模塊(BEGNI)和結(jié)束模塊(END)。 2

5、.0版則增加了局部變量定義模塊。v I/O模塊、全局變量定義模塊、局部變量定義模塊應(yīng)當(dāng)在開始編程之前定義。v 在每一個程序里,開始模塊表示程序的第一個模塊;結(jié)束模塊表示程序的最后一個模塊。 你必須放置所有的模塊在這兩個模塊之間。 v 插入模塊:在模塊區(qū)用鼠標左鍵點住相應(yīng)模塊,拖動到編程區(qū)的開始和結(jié)束模塊之間,放開鼠標,然后只要設(shè)置好模塊的屬性就行了。需要說明的是傳感器模塊必須先定義其變量才能插入到編程區(qū)內(nèi)。v 編輯模塊(Edit):左鍵雙擊修改,也可單擊右鍵。英文版是點右鍵,選擇編輯。v 復(fù)制模塊(Copy):中文版2.0是ctrl+c復(fù)制模塊,也可單擊右鍵;英文版是按住ctrl鍵,拖拽模塊,

6、然后將復(fù)制的模塊放到你需要放置的位置。也可單擊右鍵。v 剪切模塊(Cut):中文版2.0是ctrl+x剪切模塊,也可單擊右鍵;英文版是先選中模塊,再點右鍵選擇剪切。v 粘貼(Paste) :中文版2.0是ctrl+v粘貼模塊,也可單擊右鍵;英文版是點右鍵,選擇粘貼。v 刪除模塊(Delete):中文版2.0是Delete鍵刪除模塊,也可單擊右鍵;英文版是點右鍵,然后選擇刪除。v 右鍵單擊任何一個模塊,可以對該模塊進行編輯、復(fù)制、剪切、刪除、粘貼等操作 。v 編譯下載:F5為編譯程序,F(xiàn)6為編譯并下載程序五、I/O定義模塊v 雙擊I/O圖標或點鼠標右鍵(I/O定義模塊),你能夠配置控制器的I/O

7、端口。v 模擬/數(shù)字端口(共16個口)(ANALOG/DIGITAL):波浪線表示模擬端口(默認為14),箭頭表示數(shù)字端口;箭頭向左的表示信號是由外部輸入到主控器(默認為510) ,箭頭向右的表示信號是由主控器內(nèi)部輸出(默認為1116),模擬和數(shù)字端口可以互換,數(shù)字端口的輸入輸出也可以更改;v 中斷端口(INTERRUPTS) (共6個口):不能更改;v 馬達端口(MOTORS) (共8個口):不能更改;六、變量設(shè)置模塊(1.0版)v 雙擊變量設(shè)置圖標,打開程序變量定義對話框。你能設(shè)置程序需要使用到的變量;v 這里數(shù)據(jù)類型一般都選擇int,v 變量名稱需要是英文字母,其它的可以不填也可以在變量

8、取值處設(shè)置變量的值全局變量設(shè)置模塊(2.0版)v 雙擊全局變量設(shè)置圖標,打開程序變量定義對話框。你能設(shè)置程序需要使用到的全局變量;v 這里數(shù)據(jù)類型一般都選擇int,v 變量名稱需要是英文字母,其它的可以不填v 也可以在變量取值處設(shè)置變量的值,也可以不設(shè)置。局部變量設(shè)置模塊(2.0版)v 雙擊局部變量設(shè)置圖標,打開程序變量定義對話框。你能設(shè)置程序需要使用到的局部變量;v 這里數(shù)據(jù)類型一般都選擇int;v 變量名稱需要是英文字母,其它的可以不填v 也可以在變量取值處設(shè)置變量的值變量定義表七、接口說明接口功能馬達端口MOTORS共有8個口主控器上標有MOTORS字樣的端口,用來接馬達和伺服器中斷端口

9、INTERRUPTS共有6個口主控器上標有INTERRUPTS字樣的端口,用來接超聲波傳感器的OUTPUT端和編碼器模擬/數(shù)字端口ANALOG/DIGITAL共有16個口主控器上標有ANALOG/DIGITAL字樣的端口,默認14為模擬/數(shù)字通用端口,可接巡線、光敏、碰撞、行程,默認510為數(shù)字輸出端口,可接碰撞、行程,默認1116為數(shù)字輸入端口,接超聲波的Input端,都可以自行更改指示燈說明八、Inputs主控輸入1、碰撞開關(guān)傳感器 bumper switchv 碰撞開關(guān)是數(shù)字式的傳感器。v 它有兩種狀態(tài):即開和關(guān)。v 當(dāng)碰撞開關(guān)斷開的時候,定義為1。v 當(dāng)碰撞開關(guān)閉合的時候,定義為0。v

10、 打開英文版位于Test Code的文件夾中的BUMPERTEST.ECP工程,看其示范怎樣編寫碰撞開關(guān)程序。 碰撞開關(guān)程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個碰撞檢測模塊,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前碰撞變量進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個碰撞檢測模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a=1即是碰撞開關(guān)沒碰到時,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)碰撞開關(guān)碰到時,就跳出當(dāng)循環(huán),停止馬達1。2、光敏傳感器 li

11、ght sensor v 光敏傳感器是模擬式的傳感器,它是用來檢測周圍環(huán)境光線的亮暗的傳感器;v 把光線由亮到暗的范圍定義在0到1024。值越小表示光線越亮,值越大表示光線越暗; v 打開英文版位于Test Code文件夾中的LIGHTTEST.ECP工程,看其示范怎樣編寫光敏傳感器程序。 光敏傳感器程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個光敏檢測模塊,選擇變量a,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前亮度變量(即變量a)進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個光敏檢測模塊,屬性和當(dāng)循環(huán)外面的光敏檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循

12、環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a<800即是光線比較亮?xí)r,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)>=800則是光線比較暗時,就跳出當(dāng)循環(huán),停止馬達1。3、限位開關(guān)limit switch v 限位開關(guān)是數(shù)字式的傳感器。和碰撞開關(guān)類似;v 它有兩種狀態(tài):即開和關(guān);v 當(dāng)限位開關(guān)斷開的時候,定義為1v 當(dāng)限位開關(guān)閉合的時候,定義為0v 打開英文版位于Test Code的文件夾中的LIMITTEST.ECP工程,看其示范怎樣編寫行程開關(guān)程序。 限位開關(guān)程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個限位檢測模塊

13、,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前限位變量進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個限位檢測模塊,屬性和當(dāng)循環(huán)外面的限位檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a=1即是限位開關(guān)沒閉合時,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)限位開關(guān)碰到時,就跳出當(dāng)循環(huán),停止馬達1。4、巡線傳感器 Line Followerv 巡線傳感器是模擬式的傳感器,它是用來檢測顏色的傳感器;v 把顏色的深淺由白到黑的范圍定義在0到1024。值越小表示顏色越白,值越大表示顏色越黑; v 打開英文版位于Test Code的文件夾中的

14、LINEFOLLOWER. ECP工程,看其示范怎樣編寫巡線傳感器程序。 巡線傳感器程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個巡線檢測模塊,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前灰度變量(即變量a)進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個巡線檢測模塊,屬性和當(dāng)循環(huán)外面的巡線檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a<800即是顏色比較白時,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)>=800則是顏色比較黑時,就跳出當(dāng)循環(huán),停止馬達1。5、編碼器 Optical S

15、haft Encoderv 編碼器是一個數(shù)字式的傳感器。它能夠用來測量和定義馬達轉(zhuǎn)動的圈數(shù)或者路程。v 編碼器一般插在中斷端口(INTERRUPTS)v 編碼器旋轉(zhuǎn)(360 度)等于90個編碼脈沖。 v 打開英文版位于Test Code的文件夾中的ENCODERTEST.ECP工程,看其示范怎樣編寫編碼器程序。 編碼器程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入三個編碼器檢測模塊,第一個選擇開始,第二個選擇預(yù)設(shè),第三個選擇取值;接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前路程變量(即變量a)進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個編碼器檢測模塊,屬性和

16、當(dāng)循環(huán)外面設(shè)置取值的那個編碼器檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a<=30即是當(dāng)前馬達轉(zhuǎn)動的路程沒由達到30時,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)>30則是馬達轉(zhuǎn)動的路程達到30時,就跳出當(dāng)循環(huán),停止馬達1。6、超聲波傳感器Ultrasonic Sensor v 超聲波傳感器利用高頻率的聲波來探測障礙物。它發(fā)射一個超聲波信號,聲波被外界物體反射回來。然后超聲波傳感器就可以根據(jù)接收到的信號的時間和強弱計算出離障礙物的距離v 超聲波傳感器有兩根連接線v 確保標有Output標簽的線連接到主控器的中斷端口。v

17、 確保標有Input標簽的線連接到主控器的數(shù)字輸出端口(默認的為1116)。v 超聲波的取值范圍是:2100v 小于2cm是超聲波的盲區(qū),在2cm以內(nèi)就檢測不到任何物體。v 打開英文版位于Test Code的文件夾中的ULTRASONICTEST.ECP工程,看其示范怎樣編寫超聲波傳感器程序。 超聲波傳感器程序范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入兩個超聲波檢測模塊,第一個選擇開始,第二個選擇取值;接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前超聲波變量(即變量a)進行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達控制模塊,再拖入一個超聲波檢測模塊,屬性和當(dāng)循環(huán)外面設(shè)置取值的那個超

18、聲波取值模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達控制模塊;v 那么這個程序的功能就是:當(dāng) a>20即是當(dāng)前超聲波和障礙物的距離沒有達到20時,就不停的啟動馬達1正轉(zhuǎn),反之a(chǎn)<=20則是超聲波與障礙物之間的距離達到20和20以內(nèi)時,就跳出當(dāng)循環(huán),停止馬達1。7、數(shù)字輸入 Digital Inputv 模塊可以代替所有數(shù)字式的傳感器模塊8、模擬輸入 Analog Inputv 模塊可以代替所有模擬式的傳感器模塊九、Outputs主控輸出1、馬達控制 Motor Modulev 馬達的輸出軸正對自己,順時針表示正轉(zhuǎn),逆時針表示反轉(zhuǎn);v 箭頭圖標向上暗示馬達

19、正轉(zhuǎn)。v 箭頭圖標變成一個黃色的點暗示馬達停止。 v 箭頭圖標向下暗示馬達反轉(zhuǎn)。馬達控制編程范例1:v 首先拖入一個馬達模塊,選擇正轉(zhuǎn),再拖入一個懸空等待模塊,設(shè)置為1000,表示一秒,然后再拖入一個馬達模塊,選擇停止;v 那么這個程序的功能為:馬達1正轉(zhuǎn)一秒后停止。需要注意的是你啟動了幾個馬達那么在停止的時候就要加多少個停止馬達。馬達控制編程范例2:v 首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,表示永遠循環(huán);然后再當(dāng)循環(huán)里面拖入一個馬達模塊,選擇正轉(zhuǎn);v 那么這個程序的功能為:馬達1永遠正轉(zhuǎn)。馬達方向輔助圖表2、伺服控制 Servo Modulev 伺服器和馬達有區(qū)別,馬達能轉(zhuǎn)動360度,而伺服

20、器只能轉(zhuǎn)動一定的角度,大約120度v 伺服器的輸出軸正對自己,順時針表示正轉(zhuǎn),逆時針表示反轉(zhuǎn);v 箭頭圖標向下暗示伺服器正轉(zhuǎn)。v 箭頭圖標變成一個黃色的點暗示伺服器停止。 v 箭頭圖標向上暗示伺服器反轉(zhuǎn)。伺服器控制編程范例:v 首先拖入一個伺服器模塊,選擇正轉(zhuǎn),再拖入一個懸空等待模塊,設(shè)置為1000,表示一秒;然后再拖入一個伺服器模塊,選擇停止;v 那么這個程序的功能為:伺服器1正轉(zhuǎn)一秒后停止。v 需要注意的是你啟動了幾個伺服器那么在停止的時候就要加多少個停止伺服器。3、數(shù)字輸出 Digital Outputv 使用數(shù)字輸出功能模塊用來控制數(shù)字輸出的狀態(tài)。 v 你能夠利用數(shù)字輸出端口打開或者關(guān)

21、閉像一個發(fā)光二極管或一個螺線管這樣的設(shè)備。 v 數(shù)字輸出能夠設(shè)置1或0固定的值,它同樣能夠設(shè)置成一個預(yù)先定義的變量。 v 缺省情況下所有的數(shù)字輸出值設(shè)置為1(或者0)十、Program Flow程序流程控制1、單向選擇結(jié)構(gòu)IfIf-條件,只要符合設(shè)定的條件,將運行if語句內(nèi)部的程序。如果不符合設(shè)定的條件,它將跳過表達式if條件語句的部分,運行下一個程序模塊。 If模塊編程范例:以編碰撞開關(guān)程序為例;v 首先在變量定義模塊(Variables)里面定義了一個變量a,接著拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠循環(huán),然后拖入一個碰撞檢測模塊,再拖入If 模塊,在if條件里面設(shè)置a=0,在if

22、 語句里面拖入一個馬達模塊設(shè)置為正轉(zhuǎn)和一個懸空等待模塊設(shè)置為2秒;然后停止馬達;v 那么這個程序的功能為:當(dāng)碰撞開關(guān)碰到時馬達一正轉(zhuǎn)兩秒,然后停止;當(dāng)沒碰到時則不運行任何程序。2、 Else-If嵌套選擇結(jié)構(gòu)模塊v Else-If條件,必須與IF模塊結(jié)合才能使用,表示和IF模塊的條件相反,也可自定義條件 Else模塊v Else條件,必須與IF模塊結(jié)合才能使用,默認表示和IF模塊的條件相反,不能自定義條件雙向選擇結(jié)構(gòu) If-Elsev IF-Else既IF模塊和Else模塊的結(jié)合體,只要符合設(shè)定的條件,將運行if里面的程序。如果不符合設(shè)定的條件, 它將跳過表達式IF條件部分,執(zhí)行Else里面的

23、程序v 它只執(zhí)行一次程序,沒有循環(huán)功能 If-Else條件編程范例:以編碰撞開關(guān)程序為例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,接著拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠循環(huán),然后拖入一個碰撞檢測模塊,再拖入If-Else模塊,再if條件里面設(shè)置a=1,在if語句里面拖入一個馬達模塊設(shè)置為正轉(zhuǎn);v 在else語句里面拖入一個馬達模塊設(shè)置為停止;v 那么這個程序的功能為:當(dāng)碰撞開關(guān)沒碰到時馬達一正轉(zhuǎn),當(dāng)碰撞開關(guān)碰到時就執(zhí)行Else里面的停止馬達3、當(dāng)循環(huán)While Loopv 只要符合設(shè)定的條件,當(dāng)循環(huán)將不停的重復(fù)執(zhí)行其語句內(nèi)部的程序。如果不符合設(shè)定的條件,它

24、將跳出循環(huán),執(zhí)行循環(huán)外部的模塊。v 給它設(shè)置條件時,它構(gòu)成的時條件循環(huán),即不滿足條件的時候,它還能跳出該循環(huán);v 當(dāng)把條件設(shè)置成數(shù)字1的時候,它則構(gòu)成了一個永遠循環(huán),即永遠都運行其內(nèi)部的程序。 在遙控編程的時候需要用到永遠循環(huán)。當(dāng)循環(huán)模塊編程范例1:以編碰撞開關(guān)程序為例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個碰撞檢測模塊,再拖入當(dāng)循環(huán)模塊,條件里面設(shè)置a=1,表示碰撞開關(guān)處在斷開的狀態(tài),在當(dāng)循環(huán)里面拖入一個馬達模塊設(shè)置為正轉(zhuǎn),再拖入一個碰撞檢測模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測模塊的屬性一樣,;v 在當(dāng)循環(huán)外面拖入一個馬達模塊設(shè)置為停止;v 那么這個程序的

25、功能為:當(dāng)碰撞開關(guān)沒碰到時馬達一正轉(zhuǎn),直到碰撞開關(guān)碰到時,馬達1才停止當(dāng)循環(huán)模塊編程范例2:v 首先拖入當(dāng)循環(huán)模塊,在當(dāng)循環(huán)條件里面輸入數(shù)字1,表示永遠循環(huán)運行當(dāng)循環(huán)內(nèi)部冊程序;在當(dāng)循環(huán)里面拖入一個馬達模塊設(shè)置為正轉(zhuǎn);v 那么這個程序的功能為:馬達1永遠正轉(zhuǎn)4、多次循環(huán)For Loop多次循環(huán)For Loop模塊編程范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個FOR模塊,條件設(shè)置為for條件設(shè)置為 a = 0; a <= 3; a + ,表示變量a初始值為0,做自加運算,直到a的值等于3才跳出for條件;接著拖入一個懸空等待模塊,設(shè)置為2秒,最后拖

26、入一個馬達模塊,停止馬達1;v 那么該程序的功能為:馬達1正轉(zhuǎn)6秒后停止5、定時器Timer定時器Timerv 相當(dāng)于一個預(yù)先放置在主控器內(nèi)部的時間傳感器,它需要預(yù)先定義變量才能使用,可以控制程序的執(zhí)行時間,懸空等待只能延續(xù)馬達的啟動時間v 定時器的單位為毫秒100表示0.1秒1000表示1秒10000表示10秒以此類推定時器Timer編程范例:v 首先在變量定義模塊(Variables)里面定義變量a和變量b,然后拖入一個定時器模塊選擇開始,賦值給變量a;接著拖入一個定時器模塊,選擇預(yù)設(shè),賦值給變量a;在拖入一個定時器模塊,選擇取值,賦值給變量a;然后拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為a<

27、=5000表示定時器變量小于等于5秒,當(dāng)循環(huán)里面拖如一個馬達模塊,正轉(zhuǎn)1秒,然后停止1秒,最后在次賦值;v 這個程序的功能為:定時器時間小于等于5秒就執(zhí)行其內(nèi)部的馬達正轉(zhuǎn)1秒然后停止1秒,當(dāng)定時器的時間大于5秒時就跳出當(dāng)循環(huán)6、懸空等待Waitv 懸空等待模塊,在指定的時間段里,延長上一個模塊的執(zhí)行時間。這段時間以微秒計時。即:100表示0.1秒、1000表示1秒、10000表示10秒,以此類推懸空等待Wait模塊編程范例:v 以編馬達為例,v 首先拖入一個馬達模塊,設(shè)置為正轉(zhuǎn);然后拖入以個懸空等待模塊,設(shè)置為3秒,最后拖入一個馬達模塊設(shè)置為停止;v 該程序的功能為:馬達1正轉(zhuǎn)3秒停止。7、表

28、達式賦值A(chǔ)ssignmentv 表達式賦值A(chǔ)ssignment模塊相當(dāng)于一個通用模塊,你可以在里面輸入任何條件對變量進行運算或者輸入任何代碼來代替任何模塊的功能;v 你能夠為一個變量設(shè)置一個明確的值,例如: bumper=0 v 你能夠定義一個數(shù)學(xué)表達式,例如: x + y=z 8、中斷Breakv 中斷模塊功能常用在當(dāng)循環(huán)或者IF條件中,表示當(dāng)程序運行到中斷模塊處,不管它后面還有沒有模塊,或者不管滿不滿足條件,它都會跳到當(dāng)循環(huán)或IF條件的后面,執(zhí)行它們后面的程序中斷Break編程范例1:v 雖然程序一開始設(shè)置的是一個永遠循環(huán),理論上是永遠都運行當(dāng)循環(huán)里面的程序,永遠都跳不出來,但是加了中斷模

29、塊以后,程序的功能就變化了;v 該程序功能為:程序進入當(dāng)循環(huán),啟動馬達1正轉(zhuǎn)2秒,然后停止2秒,接著就馬上中斷當(dāng)循環(huán)條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達1反轉(zhuǎn)1秒,然后停止。中斷Break編程范例2:v 雖然程序一開始設(shè)置的是一個永遠循環(huán),理論上是永遠都運行當(dāng)循環(huán)里面的程序,永遠都跳不出來,但是加了中斷模塊以后,程序的功能就變化了;v 該程序功能為:程序進入當(dāng)循環(huán),檢測碰撞,如果碰撞沒碰到,就啟動馬達1正轉(zhuǎn),如果碰撞開關(guān)閉合,程序就馬上中斷當(dāng)循環(huán)條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達1反轉(zhuǎn)1秒,然后停止。9、繼續(xù)Continuev 繼續(xù)Continue:跳到循環(huán)的條件判斷處,從新判斷繼續(xù)Co

30、ntinue模塊編程范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,首先拖入一個碰撞檢測模塊,然后拖入一個當(dāng)循環(huán)模塊,設(shè)置為a=1,表示碰撞開關(guān)斷開,然后拖入一個馬達模塊,設(shè)置為正轉(zhuǎn),在拖入一個懸空等待模塊,設(shè)置為3秒,在停止馬達,在拖入一個繼續(xù)模塊,然后拖入馬達,設(shè)置為反轉(zhuǎn),延時3秒,然后停止;v 該程序的功能為:當(dāng)碰撞開關(guān)沒碰到的時候就進入循環(huán),然后馬達1正轉(zhuǎn)3秒停止,接著就跳到當(dāng)循環(huán)的條件判斷處,從新判斷,而不執(zhí)行繼續(xù)模塊后面的馬達1反轉(zhuǎn)3秒這段程序。10、返回Returnv 返回模塊的功能是跳到程序的結(jié)尾處,不管它后面有沒有程序,它都不執(zhí)行,直接跳到程序的結(jié)束位

31、置返回Return編程范例:v 雖然程序一開始設(shè)置的是一個永遠循環(huán),理論上是永遠都運行當(dāng)循環(huán)里面的程序,永遠都跳不出來,但是加了返回模塊以后,程序的功能就變化了;v 該程序功能為:程序進入當(dāng)循環(huán),啟動馬達1正轉(zhuǎn)3秒,接著就馬上執(zhí)行返回模塊,跳到程序的結(jié)束位置。當(dāng)循環(huán)外面的程序也不會執(zhí)行了。但由于在返回前面沒有停止馬達1,所以返回執(zhí)行以后,馬達1仍然會繼續(xù)轉(zhuǎn)動。11、屏幕輸出Print To Screenv 屏幕輸出模塊(Print To Screen)主要是用來顯示用戶需要檢測的和主控器連接在一起的電子元件的當(dāng)前參數(shù);v 打開VEX編程軟件英文版的安裝目錄:一般默認的路徑是C:Program

32、FilesIntelitek;快速找到它的安裝位置的方法是在桌面右鍵點擊VEX編程軟件的圖標屬性快捷方式查找目標;v 接著打開ProjectsProjectsTest Code這個文件夾就可以查看如何使用屏幕輸出模塊(Print To Screen)進行編程;接著把要檢測的傳感器的程序下載到主控器,在不關(guān)閉主控器電源并且下載線也和主控器相連接的情況下,點擊 圖標v 然后該窗口里面就可以顯示出主控器的端口從當(dāng)前電子元件獲得的參數(shù)值。屏幕輸出Print To Screen模塊編程范例:v 首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個當(dāng)循環(huán)模塊,條件為數(shù)字1,然后在當(dāng)循

33、環(huán)里面拖入一個碰撞檢測模塊,選擇變量a,然后拖入一個屏幕輸出模塊,屏幕輸出模塊的變量為預(yù)先定義的變量a,格式一般為%d,類型為int,輸出內(nèi)容為a=v 把該程序下載到主控器后,保持主控器電源為打開,并且下載線和主控器連接正常,然后點終端,就可以顯示當(dāng)前碰撞檢測到的數(shù)據(jù)12、程序注釋Commentv 對程序做對你修改和查閱有幫助的說明或注釋,中文版1.0不能中文注釋,英文版1.0和2.0可以中文注釋,中文2.0可以中文注釋;v 源碼注釋被編譯器忽略。 13、自定義代碼User Code自定義代碼User Code:v 可以替代任何模塊,比如馬達模塊的代碼是SetMotor ( 1 , 255 )

34、 ;那么只要在自定義代碼User Code模塊里面鍵入馬達的代碼,那么它就表示一個馬達模塊;v 這個模塊為熟悉C語言的用戶設(shè)計。為了編譯器能夠正確編譯代碼,你必須正確使用語法。對于C 語言的信息請自行參閱C 語言的相關(guān)指導(dǎo)書。 十一、RC Control遙控通道控制1、遙控器按鍵說明2、遙控器的基本操作遙控器的操控桿是有兩種模式配置的. 請看以下指示來查看或轉(zhuǎn)換:(1) 把遙控器的開關(guān)推到ON的位置來啟動遙控器(2) 同時按下Mode 及 Select 鈕直至液晶屏顯示出菜單畫面為止.(3) 按Mode鈕直到有”Drive”字出現(xiàn)在液晶屏的左方(是最后的菜單)來進入驅(qū)動模式調(diào)節(jié)菜單.(4) 目

35、前的設(shè)定會顯示在液晶屏里, 顯示內(nèi)容是”23”或”12”. 你利用LCD右邊的數(shù)據(jù)輸入按鈕“+ ”或“ ”推上或推下來轉(zhuǎn)換模式.。3、遙控接收器接法示意圖4、遙控最優(yōu)系統(tǒng)搭配使用兩個遙控器同時控制不同的機器人時,你必須使用兩種不同的晶體RF頻率。在基本套裝里只有一種頻率的晶體;在晶體升級套裝里可以獲得更多的不同頻率的晶體。 最優(yōu)系統(tǒng)搭配:遙控、程控、線控多種控制方式。5、單桿控制雙馬達Arcade-2 motorv 指的是遙控器的一個操縱桿控制兩個馬達同時轉(zhuǎn)或同時停,這樣兩個馬達轉(zhuǎn)動的速度不論快慢,都是一致的,就不會因為手的力量問題而使兩個馬達轉(zhuǎn)動的速度不一樣單桿控制雙馬達編程范例:v 首先拖

36、入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠循環(huán),這樣使它永遠都檢測遙控器發(fā)射出來的信號;v 然后在當(dāng)循環(huán)里面拖入一個單桿控制雙馬達模塊,前進后退選擇1,旋轉(zhuǎn)選擇3,馬達通道則選擇1和2;v 該程序的功能就是:遙控器控制馬達1和2同時轉(zhuǎn)動;遙控器的1通道控制前進后退;遙控器的3通道控制旋轉(zhuǎn)6、單桿控制四馬達Arcade-4 motorv 指的是遙控器的一個操縱桿控制四個馬達同時轉(zhuǎn)或同時停,這樣四個馬達轉(zhuǎn)動的速度不論快慢,都是一致的,就不會因為手的力量問題而使四個馬達轉(zhuǎn)動的速度不一樣單桿控制四馬達編程范例:v 首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠循環(huán),這樣使它永遠都檢測遙控器發(fā)射出

37、來的信號;v 然后在當(dāng)循環(huán)里面拖入一個單桿控制四馬達模塊,前進后退選擇1,旋轉(zhuǎn)選擇3,馬達通道則選擇1、2、3、4;v 該程序的功能就是:遙控器控制馬達1、2、3、4同時轉(zhuǎn)動,遙控器的1通道控制前進后退,遙控器的3通道控制旋轉(zhuǎn)7、雙桿控制雙馬達Arcade-2 motorv 指的是遙控器的兩個操縱桿控制兩個馬達轉(zhuǎn)或停,這樣兩個馬達轉(zhuǎn)動的速度不論快慢,都有可能不一致,就會因為手的力量問題而使兩個馬達轉(zhuǎn)動的速度不一樣雙桿控制雙馬達編程范例:v 首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠循環(huán),這樣使它永遠都檢測遙控器發(fā)射出來的信號;v 然后在當(dāng)循環(huán)里面拖入一個雙桿控制雙馬達模塊,左馬達選擇1

38、,右馬達選擇3,馬達通道則選擇1和2;v 該程序的功能就是:遙控器控制馬達1和2轉(zhuǎn)動,遙控器的1通道控制馬達1,遙控器的3通道控制馬達28、雙桿控制四馬達Arcade-4 motor雙桿控制四馬達v 指的是遙控器的兩個操縱桿控制四個馬達轉(zhuǎn)或停,即一個操縱桿控制兩個馬達;v 這樣四個馬達轉(zhuǎn)動的速度不論快慢,都有可能不一致,就會因為手的力量問題而使四個馬達轉(zhuǎn)動的速度不一樣雙桿控制四馬達編程范例:v 首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠循環(huán),這樣使它永遠都檢測遙控器發(fā)射出來的信號;v 然后在當(dāng)循環(huán)里面拖入一個雙桿控制四馬達模塊,左馬達選擇1,右馬達選擇3,馬達通道則選擇1、2、3、4 ;v 該程序的功能就是:遙控器控制馬達1、2、3、4轉(zhuǎn)動;遙控器的1通道控制馬達1、2,遙控器的3通道控制馬達3、49、單桿控制單馬達Motor Module Rxv 指的是遙控器的一個操縱桿控制一個馬達轉(zhuǎn)或停單桿控制單馬達編程范例:v 首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠循環(huán),這樣使它永遠都檢測遙控器發(fā)射出來的信號;v 然后在當(dāng)循環(huán)里面拖入一個單桿控制單馬

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論