VEX編程軟件使用教程_第1頁(yè)
VEX編程軟件使用教程_第2頁(yè)
VEX編程軟件使用教程_第3頁(yè)
VEX編程軟件使用教程_第4頁(yè)
VEX編程軟件使用教程_第5頁(yè)
已閱讀5頁(yè),還剩102頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Think. Create. Build. Amaze. Vex.VEX 機(jī)器人軟件編程教程機(jī)器人軟件編程教程目錄一目錄一一、一、使用注意事項(xiàng)使用注意事項(xiàng)八、八、Inputs主控輸入:主控輸入:1、碰撞開(kāi)關(guān)傳感器 bumper switch2、光敏傳感器 light sensor3、限位開(kāi)關(guān)limit switch4、巡線傳感器 Line Follower5、編碼器 Optical Shaft6、超聲波傳感器Ultrasonic Sensor7、數(shù)字輸入 Digital Input8、模擬輸入 Analog Input二、二、主界面主界面三、三、工具欄模塊工具欄模塊四、四、編程區(qū)編程區(qū)五、五、

2、I/O定義模塊定義模塊六、六、變量設(shè)置模塊變量設(shè)置模塊七、七、接口說(shuō)明接口說(shuō)明目錄二目錄二九、九、Outputs主控輸出:主控輸出:1、馬達(dá)控制 Motor Module2、伺服控制 Servo Module3、數(shù)字輸出 Digital Output十、十、Program Flow程序流程控制:程序流程控制:1、單向選擇結(jié)構(gòu)If2、 Else-If嵌套選擇結(jié)構(gòu)模塊3、 Else模塊4、雙向選擇結(jié)構(gòu) If-Else3、當(dāng)循環(huán)While Loop4、多次循環(huán)For Loop5、定時(shí)器Timer6、懸空等待Wait7、表達(dá)式賦值A(chǔ)ssignment8、中斷Break9、繼續(xù)Continue10、返回

3、Return11、屏幕輸出Print To Screen12、程序注釋Comment13、自定義代碼User Code目錄三目錄三十一、十一、RC Control遙控通道控制:遙控通道控制:1、 遙控器按鍵說(shuō)明2、 遙控器的基本操作3、 遙控接收器接法示意圖4、 遙控最優(yōu)系統(tǒng)搭配5、 單桿控制雙馬達(dá)Arcade-2 motor6、 單桿控制四馬達(dá)Arcade-4 motor7、 雙桿控制雙馬達(dá)Arcade-2 motor8、 雙桿控制四馬達(dá)Arcade-4 motor9、 單桿控制單馬達(dá)Motor Module Rx10、單桿控制伺服器Servo Module Rx11、遙控通道Rx Inpu

4、t12、脈寬調(diào)制PWM Control13、用戶自定義函數(shù)User Functions14、在線控制模式十二、十二、自動(dòng)程序和遙控程序結(jié)合范例自動(dòng)程序和遙控程序結(jié)合范例十三、十三、下載線接法下載線接法十四、十四、下載線端口查看方法下載線端口查看方法十五、十五、中文版程序下載步驟中文版程序下載步驟十六、十六、英文版下載步驟英文版下載步驟一、使用注意事項(xiàng)一、使用注意事項(xiàng)v如果是沒(méi)有購(gòu)買序列號(hào)的用戶,安裝了軟件,打開(kāi)軟件時(shí)會(huì)彈出一個(gè)注冊(cè)的窗口,中文版點(diǎn)暫不注冊(cè)按鈕便可以試用。英文版點(diǎn)Run in Evaluation Mode按鈕便可試用; 1.0版本的軟件只能試用30天,2.0英文版本只能試用7天

5、;2.0中文版有10天;v如果是購(gòu)買了序列號(hào)的用戶,在注冊(cè)的時(shí)候需要聯(lián)網(wǎng)注冊(cè), 每個(gè)序列號(hào)也只能在一臺(tái)電腦上使用,英文版如果換了電腦再使用該序列號(hào)注冊(cè),那么該系列號(hào)就不可用了,2.0中文版一個(gè)序列號(hào)也只能一臺(tái)電腦注冊(cè),如要換電腦注冊(cè)可以點(diǎn)菜單欄 幫助 注銷,然后在另一臺(tái)電腦上就可以再次使用該序列號(hào)了;v如果是沒(méi)有購(gòu)買序列號(hào)的用戶,只要一裝上軟件,便自動(dòng)與系統(tǒng)硬件綁定,試用期到了以后即使把軟件卸載了在重裝也不能繼續(xù)試用,建議先用備份工具備份系統(tǒng),然后才安裝英文版軟件,這樣軟件過(guò)期了以后,只需要把系統(tǒng)還原,在重裝VEX軟件即可繼續(xù)試用;v英文版軟件比中文版軟件穩(wěn)定,中文版軟件存在一些錯(cuò)誤,所以一般

6、建議使用英文版軟件;vVEX編程軟件有中文版和英文版兩個(gè)版本(中文和英文分別都有1.0版本和2.0版本),兩個(gè)版本不能混用,不要既下載中文版編的程序到主控器,又下載英文版編的程序到主控器,這樣會(huì)損壞主控器的底層程序,嚴(yán)重時(shí)會(huì)導(dǎo)致主控器的某些芯片不可用,從而導(dǎo)致主控器不能使用;v中文版和英文版的程序和代碼都不能用對(duì)方的的軟件相互打開(kāi)并編輯,既:英文版只能打開(kāi)用英文版軟件編的程序和代碼,中文版只能打開(kāi)用中文版軟件編的程序和代碼;v中文1.0版軟件編好的程序不能保存到C盤(包括桌面),否則會(huì)導(dǎo)致程序不能打開(kāi)或者出現(xiàn)錯(cuò)誤;v中文1.0版軟件在每次下載程序之前都要先保存編譯鏈接然后再下載,然后選擇端口;

7、v查看下載線使用的COM口的方法是:我的電腦右鍵屬性硬件設(shè)備管理器端口(COM和LPT) Prolific USB-to-Serial Comm Port (com3)最后這一項(xiàng)的com3就是當(dāng)前VEX下載線使用的端口;然后再在軟件里面選擇相應(yīng)的端口即可下載程序到主控器,具體方法后面有詳細(xì)介紹;v1.0版本軟件不能定義子程序,2.0版本軟件可以定義子程序;v1.0版本的軟件所有變量都是全局變量;2.0版本軟件中可以定義全局變量和局部變量;v1.0版本的軟件沒(méi)有中斷、繼續(xù)、返回模塊,2.0版本軟件中有。v當(dāng)主控器出現(xiàn)執(zhí)行程序混亂的情況時(shí),說(shuō)明有可能是主控器的底層程序不正常,那么只需要從新下載一次

8、底層程序即可,中文版2.0為,菜單欄生成下栽初始化程序二、主界面二、主界面工具欄菜單編程區(qū)C語(yǔ)言代碼區(qū)鏈接編譯區(qū)模塊區(qū)三、工具欄模塊(英文版)三、工具欄模塊(英文版)新建工程 :創(chuàng)建一個(gè)新的工程調(diào)試和下載 :下載你當(dāng)前窗口的程序到主控器打開(kāi)工程: 打開(kāi)你保存在電腦上的程序或代碼文件終端窗口:選擇下載線和電腦連接的COM端口保存工程:保存一個(gè)工程在線窗口 :開(kāi)始在線檢測(cè)窗口工程窗口:顯示和隱藏工程窗口入門級(jí)別:在工程窗口顯示基本的函數(shù)模塊輸出窗口 :顯示和隱藏輸出窗口高級(jí)級(jí)別 :在工程窗口顯示先進(jìn)(高級(jí))的函數(shù)模塊控制器配置 :打開(kāi)控制器配置對(duì)話框?qū)I(yè)級(jí)別 :在工程窗口顯示所有可利用的函數(shù)模塊程

9、序變量 :打開(kāi)程序變量對(duì)話框放大 :增大流程圖顯示的比例尺寸編譯工程 :編譯打開(kāi)的工程代碼縮小 :減小流程圖顯示的比例尺寸工具欄模塊(中文版工具欄模塊(中文版1.0)新建工程 :創(chuàng)建一個(gè)新的工程打開(kāi)工程: 打開(kāi)你保存在電腦上的程序或代碼文件編譯工程 :編譯打開(kāi)的工程代碼鏈接工程 :鏈接打開(kāi)的工程代碼下載 :下載你當(dāng)前窗口的程序到主控器放大 :增大當(dāng)前窗口顯示的比例尺寸縮小 :減小當(dāng)前窗口顯示的比例尺寸關(guān)于我們 :顯示版本信息工具欄模塊(中文版工具欄模塊(中文版2.0)新建工程 :創(chuàng)建一個(gè)新的工程打開(kāi)工程: 打開(kāi)你保存在電腦上的程序或代碼文件保存工程 :保存當(dāng)前的工程代碼項(xiàng)目瀏覽 :關(guān)閉和打開(kāi)模

10、塊區(qū)輸出窗口 :關(guān)閉和打開(kāi)編譯鏈接代碼輸出顯示區(qū)主控器設(shè)置 :設(shè)置主控器的I/O口全局定義 :定義全局變量編譯 :對(duì)當(dāng)前打開(kāi)的程序進(jìn)行編譯查錯(cuò)編譯并下載:對(duì)當(dāng)前打開(kāi)的程序進(jìn)行編譯并下載到主控器四、編程區(qū)四、編程區(qū) 對(duì)于1.0版每一個(gè)新的程序都會(huì)有一個(gè)I/O定義模塊,變量定義模塊(Variables),開(kāi)始模塊(BEGNI)和結(jié)束模塊(END)。 2.0版則增加了局部變量定義模塊; I/O模塊和變量定義模塊應(yīng)當(dāng)在開(kāi)始編程之前定義。 在每一個(gè)程序里,開(kāi)始模塊標(biāo)識(shí)程序模塊代碼的第一個(gè)模塊;結(jié)束模塊標(biāo)識(shí)程序模塊代碼的最后一個(gè)模塊。你必須放置所有的模塊在這兩個(gè)模塊之間。 插入模塊:插入模塊:在模塊區(qū)用鼠

11、標(biāo)左鍵點(diǎn)住相應(yīng)模塊,拖動(dòng)到編程區(qū)的開(kāi)始和結(jié)束模塊之間,放開(kāi)鼠標(biāo),然后只要設(shè)置好模塊的屬性就行了。編輯模塊(編輯模塊(Edit):):左鍵雙擊修改,也可單擊右鍵。英文版是點(diǎn)右鍵,選擇粘貼編輯。復(fù)制模塊(復(fù)制模塊(Copy):):中文版2.0是ctrl+c復(fù)制模塊,也可單擊右鍵;英文版是按住ctrl鍵,拖拽模塊。將復(fù)制的模塊放到你需要放置它的位置。也可單擊右鍵。剪切模塊剪切模塊(Cut):):中文版2.0是ctrl+x剪切模塊,也可單擊右鍵;英文版是先選中模塊,再點(diǎn)右鍵選擇剪切。粘貼粘貼(Paste) :中文版2.0是ctrl+v粘貼模塊,也可單擊右鍵;英文版是點(diǎn)右鍵,選擇粘貼。刪除模塊(刪除模塊

12、(Delete):):中文版2.0是Delete鍵刪除模塊,也可單擊右鍵;英文版是點(diǎn)右鍵,然后選擇刪除。右鍵單擊任何一個(gè)模塊,可以對(duì)該模塊進(jìn)行編輯、復(fù)制、剪切、刪除、粘貼等操作 。五、五、I/O定義模塊定義模塊雙擊I/O圖標(biāo)或點(diǎn)鼠標(biāo)右鍵(I/O定義模塊),你能夠配置控制器的I/O端口。模擬/數(shù)字端口(共16個(gè)口)(ANALOG/DIGITAL):波浪線表示模擬端口(默認(rèn)為14),箭頭表示數(shù)字端口;箭頭向左的表示信號(hào)是由外部輸入到主控器(默認(rèn)為510) ,箭頭向右的表示信號(hào)是由主控器內(nèi)部輸出(默認(rèn)為1116),模擬和數(shù)字端口可以互換,數(shù)字端口的輸入輸出也可以更改;中斷端口(INTERRUPTS)

13、 (共6個(gè)口):不能更改;馬達(dá)端口(MOTORS) (共8個(gè)口):不能更改;六、變量設(shè)置模塊(六、變量設(shè)置模塊(1.0版)版)雙擊變量設(shè)置圖標(biāo),打開(kāi)程序變量定義對(duì)話框。你能設(shè)置程序需要使用到的變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值全局變量設(shè)置模塊(全局變量設(shè)置模塊(2.0版)版)雙擊全局變量設(shè)置圖標(biāo),打開(kāi)程序變量定義對(duì)話框。你能設(shè)置程序需要使用到的全局變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值,也可以不設(shè)置。1.選擇變量類型,一般都選int(整型變量)2.鍵入變量名字

14、,要求必須是英文字母組成這里可以鍵入變量的值,要求必須是英文數(shù)字組成,也可先不定義變量的值這里可以刪除整行不需要的變量局部變量設(shè)置模塊(局部變量設(shè)置模塊(2.0版)版)雙擊局部變量設(shè)置圖標(biāo),打開(kāi)程序變量定義對(duì)話框。你能設(shè)置程序需要使用到的局部變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值1.選擇變量類型,一般都選int(整型變量)2.鍵入變量名字,要求必須是英文字母組成這里可以刪除整行不需要的變量這里可以鍵入變量的值,要求必須是英文數(shù)字組成,也可先不定義變量的值變量定義表變量定義表七、接口說(shuō)明七、接口說(shuō)明接口功能馬達(dá)端口MOTORS共有

15、8個(gè)口主控器上標(biāo)有MOTORS字樣的端口,用來(lái)接馬達(dá)和伺服器中斷端口INTERRUPTS共有6個(gè)口主控器上標(biāo)有INTERRUPTS字樣的端口,用來(lái)接超聲波傳感器的OUTPUT端和編碼器模擬/數(shù)字端口ANALOG/DIGITAL共有16個(gè)口主控器上標(biāo)有ANALOG/DIGITAL字樣的端口,默認(rèn)14為模擬/數(shù)字通用端口,可接巡線、光敏、碰撞、行程,默認(rèn)510為數(shù)字輸出端口,可接碰撞、行程,默認(rèn)1116為數(shù)字輸入端口,接超聲波的Input端,都可以自行更改接口說(shuō)明接口說(shuō)明電源開(kāi)關(guān)電池插口接收器/線控插口1接收器/線控插口2程序下載線插口八、八、Inputs主控輸入主控輸入1、碰撞開(kāi)關(guān)傳感器 bum

16、per switch碰撞開(kāi)關(guān)是數(shù)字式的傳感器。它有兩種狀態(tài):即開(kāi)和關(guān);當(dāng)碰撞開(kāi)關(guān)斷開(kāi)的時(shí)候,定義為1。當(dāng)碰撞開(kāi)關(guān)閉合的時(shí)候,定義為0。打開(kāi)位于Test Code的文件夾中的BUMPERTEST.ECP工程,看其示范怎樣編寫碰撞開(kāi)關(guān)程序。 1.選擇碰撞開(kāi)關(guān)連接在主控器上的通道2.選擇一個(gè)預(yù)先定義的碰撞開(kāi)關(guān)變量對(duì)當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)OK碰撞開(kāi)關(guān)傳感器 bumper switch碰撞開(kāi)關(guān)程序范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)碰撞檢測(cè)模塊,接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前

17、碰撞變量進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)碰撞檢測(cè)模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測(cè)模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a=1即是碰撞開(kāi)關(guān)沒(méi)碰到時(shí),就不停的啟動(dòng)馬達(dá)1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)碰撞開(kāi)關(guān)碰到時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。2、光敏傳感器、光敏傳感器 light sensor 光敏傳感器是模擬式的傳感器,它是用來(lái)檢測(cè)周圍環(huán)境光線的亮暗的傳感器;把光線由亮到暗的范圍定義在0到1024。值越小表示光線越亮,值越大表示光線越暗; 打開(kāi)位于Test Code文件夾中的LIGHTTEST.ECP工程,看

18、其示范怎樣編寫光敏傳感器程序。 1.選擇光敏傳感器連接在主控器上的通道2.選擇一個(gè)預(yù)先定義的光敏傳感器變量對(duì)當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)OK光敏傳感器光敏傳感器 light sensor光敏傳感器程序范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)光敏檢測(cè)模塊,選擇變量a,接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前亮度變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)光敏檢測(cè)模塊,屬性和當(dāng)循環(huán)外面的光敏檢測(cè)模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一

19、個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a=800則是光線比較暗時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。3、限位開(kāi)關(guān)、限位開(kāi)關(guān)limit switch 限位開(kāi)關(guān)是數(shù)字式的傳感器。和碰撞開(kāi)關(guān)類似;它有兩種狀態(tài):即開(kāi)和關(guān);當(dāng)限位開(kāi)關(guān)斷開(kāi)的時(shí)候,定義為1。當(dāng)限位開(kāi)關(guān)閉合的時(shí)候,定義為0。打開(kāi)位于Test Code的文件夾中的LIMITTEST.ECP工程,看其示范怎樣編寫行程開(kāi)關(guān)程序。 1.選擇限位開(kāi)關(guān)連接在主控器上的通道2.選擇一個(gè)預(yù)先定義的限位開(kāi)關(guān)變量對(duì)當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)確定限位開(kāi)關(guān)限位開(kāi)關(guān)limit switch限位開(kāi)關(guān)程序范例:右邊每一個(gè)模塊的屬性在

20、后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)限位檢測(cè)模塊,接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前限位變量進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)限位檢測(cè)模塊,屬性和當(dāng)循環(huán)外面的限位檢測(cè)模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a=1即是限位開(kāi)關(guān)沒(méi)閉合時(shí),就不停的啟動(dòng)馬達(dá)1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)限位開(kāi)關(guān)碰到時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。4、巡線傳感器 Line Follower1.選擇巡線傳感器連接在主控器上的通道2.選擇一個(gè)預(yù)先定義的巡線傳感器變量對(duì)當(dāng)前模塊注釋,將幫

21、助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)確定巡線傳感器是模擬式的傳感器,它是用來(lái)檢測(cè)顏色的傳感器;把顏色的深淺由白到黑的范圍定義在0到1024。值越小表示顏色越白,值越大表示顏色越黑; 打開(kāi)位于Test Code的文件夾中的LINEFOLLOWER.ECP工程,看其示范怎樣編寫巡線傳感器程序。 巡線傳感器 Line Follower巡線傳感器程序范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)巡線檢測(cè)模塊,接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前灰度變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)

22、巡線檢測(cè)模塊,屬性和當(dāng)循環(huán)外面的巡線檢測(cè)模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a=800則是顏色比較黑時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。5、編碼器 Optical Shaft Encoder編碼器是一個(gè)數(shù)字式的傳感器。它能夠用來(lái)測(cè)量和定義馬達(dá)轉(zhuǎn)動(dòng)的圈數(shù)或者路程。編碼器一般插在中斷端口(INTERRUPTS)編碼器旋轉(zhuǎn)(360 度)等于90個(gè)編碼脈沖。 打開(kāi)位于Test Code的文件夾中的ENCODERTEST.ECP工程,看其示范怎樣編寫編碼器程序。 1.選擇開(kāi)始,開(kāi)始記錄編碼脈沖2.選擇編碼器連接在主控器上的端口編碼器 O

23、ptical Shaft Encoder6.選擇取值,開(kāi)始把值反饋給變量7.選擇編碼器連接在主控器上的端口8.選擇一個(gè)預(yù)先定義的變量3.選擇預(yù)設(shè)4.選擇編碼器連接在主控器上的端口5.選擇固定值,設(shè)為0,表示編碼器的初始值為0,為編碼器清零對(duì)當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 編碼器 Optical Shaft Encoder編碼器程序范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入三個(gè)編碼器檢測(cè)模塊,第一個(gè)選擇開(kāi)始,第二個(gè)選擇預(yù)設(shè),第三個(gè)選擇取值;接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前路程變量(即變量a)進(jìn)行判斷,然后

24、在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)編碼器檢測(cè)模塊,屬性和當(dāng)循環(huán)外面設(shè)置取值的那個(gè)編碼器檢測(cè)模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a30則是馬達(dá)轉(zhuǎn)動(dòng)的路程達(dá)到30時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。6、超聲波傳感器、超聲波傳感器Ultrasonic Sensor 1.選擇開(kāi)始,開(kāi)始命令告訴超聲波開(kāi)始記錄聲波。 2.選擇超聲波傳感器連接在主控器上的中斷端口3.選擇超聲波傳感器連接在主控器上的輸出端口4.選擇取值,取值命令允許用戶將來(lái)自超聲波的值反饋給一個(gè)變量。 5.選擇超聲波傳感器連接在主控器上的中斷端口6.選擇超聲波傳感

25、器連接在主控器上的輸出端口7.選擇一個(gè)預(yù)先定義的變量超聲波傳感器利用高頻率的聲波來(lái)探測(cè)障礙物。它發(fā)射一個(gè)超聲波信號(hào),聲波被外界物體反射回來(lái)。然后超聲波傳感器就可以根據(jù)接收到的信號(hào)的時(shí)間和強(qiáng)弱計(jì)算出離障礙物的距離超聲波傳感器有兩根連接線確保標(biāo)有Output標(biāo)簽的線連接到主控器的中斷端口。確保標(biāo)有Input標(biāo)簽的線連接到主控器的數(shù)字輸出端口(默認(rèn)的為1116)。超聲波的取值范圍是:2100小于2cm是超聲波的盲區(qū),在2cm以內(nèi)就檢測(cè)不到任何物體。打開(kāi)位于Test Code的文件夾中的ULTRASONICTEST.ECP工程,看其示范怎樣編寫超聲波傳感器程序。 超聲波傳感器超聲波傳感器Ultraso

26、nic Sensor超聲波傳感器程序范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入兩個(gè)超聲波檢測(cè)模塊,第一個(gè)選擇開(kāi)始,第二個(gè)選擇取值;接著拖入一個(gè)當(dāng)循環(huán)模塊對(duì)當(dāng)前超聲波變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)控制模塊,再拖入一個(gè)超聲波檢測(cè)模塊,屬性和當(dāng)循環(huán)外面設(shè)置取值的那個(gè)超聲波取值模塊的屬性一樣,這樣就構(gòu)成了一個(gè)條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個(gè)馬達(dá)控制模塊;那么這個(gè)程序的功能就是:當(dāng) a20即是當(dāng)前超聲波和障礙物的距離沒(méi)有達(dá)到20時(shí),就不停的啟動(dòng)馬達(dá)1正轉(zhuǎn),反之a(chǎn)=20則是超聲波與障礙物之間的距離達(dá)到

27、20和20以內(nèi)時(shí),就跳出當(dāng)循環(huán),停止馬達(dá)1。7、數(shù)字輸入 Digital Input1.選擇端口,一般默認(rèn)為數(shù)字/模擬口5102.選擇選擇預(yù)先定義好的變量數(shù)字輸入 Digital Input模塊可以代替所有數(shù)字式的傳感器模塊8、模擬輸入 Analog Input1.選擇端口,一般默認(rèn)為數(shù)字/模擬口142.選擇選擇預(yù)先定義好的變量模擬輸入 Analog Input 模塊可以代替所有模擬式的傳感器模塊九、九、Outputs主控輸出主控輸出1、馬達(dá)控制、馬達(dá)控制 Motor Module1.選擇馬達(dá)連接在主控器上的端口2.選擇255表示馬達(dá)以最快的速度正轉(zhuǎn)3.選擇127表示馬達(dá)以停止4.選擇0表示馬

28、達(dá)以最快的速度反轉(zhuǎn)5.選擇用戶自定義則表示用戶自己設(shè)置馬達(dá)的速度0127之間的數(shù)字都是反轉(zhuǎn),越接近127速度越慢,127255之間的數(shù)字都表示正轉(zhuǎn),越接近127速度越慢6.設(shè)置好以后點(diǎn)確定馬達(dá)的輸出軸正對(duì)自己,順時(shí)針表示正轉(zhuǎn),逆時(shí)針表示反轉(zhuǎn);箭頭圖標(biāo)向上暗示馬達(dá)正轉(zhuǎn)。箭頭圖標(biāo)變成一個(gè)黃色的點(diǎn)暗示馬達(dá)停止。 箭頭圖標(biāo)向下暗示馬達(dá)反轉(zhuǎn)。馬達(dá)控制馬達(dá)控制 Motor Module馬達(dá)控制編程范例1:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先拖入一個(gè)馬達(dá)模塊,選擇正轉(zhuǎn),再拖入一個(gè)懸空等待模塊,設(shè)置為1000,表示一秒;然后再拖入一個(gè)馬達(dá)模塊,選擇停止;那么這個(gè)程序的功能為:馬達(dá)1正轉(zhuǎn)一秒后停止。

29、需要注意的是你啟動(dòng)了幾個(gè)馬達(dá)那么在停止的時(shí)候就要加多少個(gè)停止馬達(dá)。馬達(dá)控制編程范例2:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,表示永遠(yuǎn)循環(huán);然后再當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)模塊,選擇正轉(zhuǎn);那么這個(gè)程序的功能為:馬達(dá)1永遠(yuǎn)正轉(zhuǎn)。馬達(dá)方向輔助圖表馬達(dá)方向輔助圖表假設(shè)一不小車上裝了兩個(gè)馬達(dá),左右各一個(gè),來(lái)給小車提供動(dòng)力,那么小車的運(yùn)動(dòng)情況如下表假設(shè)一不小車上裝了兩個(gè)馬達(dá),左右各一個(gè),來(lái)給小車提供動(dòng)力,那么小車的運(yùn)動(dòng)情況如下表小車前進(jìn)小車前進(jìn)小車后退小車后退小車以兩個(gè)輪子的中心點(diǎn)為圓心向左轉(zhuǎn)小車以兩個(gè)輪子的中心點(diǎn)為圓心向左轉(zhuǎn)彎(也可一個(gè)馬達(dá)轉(zhuǎn)一個(gè)馬達(dá)不轉(zhuǎn),這彎(也

30、可一個(gè)馬達(dá)轉(zhuǎn)一個(gè)馬達(dá)不轉(zhuǎn),這樣以一個(gè)馬達(dá)為圓心轉(zhuǎn)彎)樣以一個(gè)馬達(dá)為圓心轉(zhuǎn)彎)小車以兩個(gè)輪子的中心點(diǎn)為圓心向右轉(zhuǎn)小車以兩個(gè)輪子的中心點(diǎn)為圓心向右轉(zhuǎn)彎(也可一個(gè)馬達(dá)轉(zhuǎn)一個(gè)馬達(dá)不轉(zhuǎn),這彎(也可一個(gè)馬達(dá)轉(zhuǎn)一個(gè)馬達(dá)不轉(zhuǎn),這樣以一個(gè)馬達(dá)為圓心轉(zhuǎn)彎)樣以一個(gè)馬達(dá)為圓心轉(zhuǎn)彎)2、伺服控制 Servo Module伺服器和馬達(dá)有區(qū)別,馬達(dá)能轉(zhuǎn)動(dòng)360度,而伺服器只能轉(zhuǎn)動(dòng)一定的角度,大約120度伺服器的輸出軸正對(duì)自己,順時(shí)針表示正轉(zhuǎn),逆時(shí)針表示反轉(zhuǎn);箭頭圖標(biāo)向下暗示伺服器正轉(zhuǎn)。箭頭圖標(biāo)變成一個(gè)黃色的點(diǎn)暗示伺服器停止。 箭頭圖標(biāo)向上暗示伺服器反轉(zhuǎn)。1.選擇伺服器連接在主控器上的端口2.選擇255表示伺服器正轉(zhuǎn)最大的

31、角度3.選擇127表示伺服器停止4.選擇0表示伺服器反轉(zhuǎn)最大的角度5.選擇用戶自定義則表示用戶自己設(shè)置伺服器的角度0127之間的數(shù)字都是反轉(zhuǎn),越接近127角度越小,127255之間的數(shù)字都表示正轉(zhuǎn),越接近127角度越小6.設(shè)置好以后點(diǎn)確定伺服控制 Servo Module伺服器控制編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先拖入一個(gè)伺服器模塊,選擇正轉(zhuǎn),再拖入一個(gè)懸空等待模塊,設(shè)置為1000,表示一秒;然后再拖入一個(gè)伺服器模塊,選擇停止;那么這個(gè)程序的功能為:伺服器1正轉(zhuǎn)一秒后停止。需要注意的是你啟動(dòng)了幾個(gè)伺服器那么在停止的時(shí)候就要加多少個(gè)停止伺服器。3、數(shù)字輸出 Digital

32、 Output1.選擇端口,一般默認(rèn)為數(shù)字/模擬口11162.選擇選擇預(yù)先定義好的變量或者自定義一個(gè)值使用數(shù)字輸出功能模塊用來(lái)控制數(shù)字輸出的狀態(tài)。 你能夠利用數(shù)字輸出端口打開(kāi)或者關(guān)閉像一個(gè)發(fā)光二極管或一個(gè)螺線管這樣的設(shè)備。 數(shù)字輸出能夠設(shè)置1或0固定的值,它同樣能夠設(shè)置成一個(gè)預(yù)先定義的變量。 缺省情況下所有的數(shù)字輸出值設(shè)置為1(或者0)十、十、Program Flow程序流程控制程序流程控制1、單向選擇結(jié)構(gòu)、單向選擇結(jié)構(gòu)IfIf-條件,只要符合設(shè)定的條件,將運(yùn)行if語(yǔ)句內(nèi)部的程序。如果不符合設(shè)定的條件,它將跳過(guò)表達(dá)式if條件語(yǔ)句的部分,運(yùn)行下一個(gè)程序模塊。 1.選擇變量2.選擇變量運(yùn)算符號(hào)3.

33、設(shè)置變量的表達(dá)式單向選擇結(jié)構(gòu)單向選擇結(jié)構(gòu)IfIf模塊編程范例:以編碰撞開(kāi)關(guān)為例;右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,接著拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠(yuǎn)循環(huán),然后拖入一個(gè)碰撞檢測(cè)模塊,再拖入If 模塊,在if條件里面設(shè)置a=0,在if 語(yǔ)句里面拖入一個(gè)馬達(dá)模塊設(shè)置為正轉(zhuǎn)和一個(gè)懸空等待模塊設(shè)置為2秒;然后停止馬達(dá);那么這個(gè)程序的功能為:當(dāng)碰撞開(kāi)關(guān)碰到時(shí)馬達(dá)一正轉(zhuǎn)兩秒,然后停止;當(dāng)沒(méi)碰到時(shí)則不運(yùn)行任何程序。2、 Else-If嵌套選擇結(jié)構(gòu)模塊嵌套選擇結(jié)構(gòu)模塊Else-If條件,必須與IF模塊結(jié)合才能使用,表示和IF

34、模塊的條件相反,也可自定義條件1.選擇變量2.選擇變量運(yùn)算符號(hào)3.設(shè)置變量的表達(dá)式3、 Else模塊模塊Else條件,必須與IF模塊結(jié)合才能使用,默認(rèn)表示和IF模塊的條件相反,不能自定義條件1.只能注釋4、雙向選擇結(jié)構(gòu)、雙向選擇結(jié)構(gòu) If-ElseIF-Else既IF模塊和Else模塊的結(jié)合體,只要符合設(shè)定的條件,將運(yùn)行if里面的程序。如果不符合設(shè)定的條件, 它將跳過(guò)表達(dá)式IF條件部分,執(zhí)行Else里面的程序。它只執(zhí)行一次程序,沒(méi)有循環(huán)功能 2.選擇變量運(yùn)算符號(hào)1.選擇變量3.設(shè)置變量的表達(dá)式雙向選擇結(jié)構(gòu)雙向選擇結(jié)構(gòu) If-ElseIf-Else條件編程范例:以編碰撞開(kāi)關(guān)為例:右邊每一個(gè)模塊的

35、屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,接著拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠(yuǎn)循環(huán),然后拖入一個(gè)碰撞檢測(cè)模塊,再拖入If-Else模塊,再if條件里面設(shè)置a=1,在if語(yǔ)句里面拖入一個(gè)馬達(dá)模塊設(shè)置為正轉(zhuǎn);在else語(yǔ)句里面拖入一個(gè)馬達(dá)模塊設(shè)置為停止;那么這個(gè)程序的功能為:當(dāng)碰撞開(kāi)關(guān)沒(méi)碰到時(shí)馬達(dá)一正轉(zhuǎn),當(dāng)碰撞開(kāi)關(guān)碰到時(shí)就執(zhí)行Else里面的停止馬達(dá)3、當(dāng)循環(huán)、當(dāng)循環(huán)While Loop只要符合設(shè)定的條件,當(dāng)循環(huán)將不停的重復(fù)執(zhí)行其語(yǔ)句內(nèi)部的程序。如果不符合設(shè)定的條件,它將跳出循環(huán),執(zhí)行循環(huán)外部的模塊。給它設(shè)置條件時(shí),它構(gòu)成的時(shí)條件循環(huán),即

36、不滿足條件的時(shí)候,它還能跳出該循環(huán);當(dāng)把條件設(shè)置成數(shù)字1的時(shí)候,它則構(gòu)成了一個(gè)永遠(yuǎn)循環(huán),即永遠(yuǎn)都運(yùn)行其內(nèi)部的程序。 在遙控編程的時(shí)候需要用到永遠(yuǎn)循環(huán)。1.選擇變量2.選擇變量運(yùn)算符號(hào)3.設(shè)置變量的表達(dá)式當(dāng)循環(huán)當(dāng)循環(huán)While Loop當(dāng)循環(huán)模塊編程范例1:以編碰撞開(kāi)關(guān)為例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)碰撞檢測(cè)模塊,再拖入當(dāng)循環(huán)模塊,條件里面設(shè)置a=1,表示碰撞開(kāi)關(guān)處在斷開(kāi)的狀態(tài),在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)模塊設(shè)置為正轉(zhuǎn),再拖入一個(gè)碰撞檢測(cè)模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測(cè)模塊的屬性一樣,;在當(dāng)循環(huán)外面拖入一個(gè)

37、馬達(dá)模塊設(shè)置為停止;那么這個(gè)程序的功能為:當(dāng)碰撞開(kāi)關(guān)沒(méi)碰到時(shí)馬達(dá)一正轉(zhuǎn),直到碰撞開(kāi)關(guān)碰到時(shí),馬達(dá)1才停止當(dāng)循環(huán)當(dāng)循環(huán)While Loop當(dāng)循環(huán)模塊編程范例2:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先拖入當(dāng)循環(huán)模塊,在當(dāng)循環(huán)條件里面輸入數(shù)字1,表示永遠(yuǎn)循環(huán)運(yùn)行當(dāng)循環(huán)內(nèi)部?jī)?cè)程序;在當(dāng)循環(huán)里面拖入一個(gè)馬達(dá)模塊設(shè)置為正轉(zhuǎn);那么這個(gè)程序的功能為:馬達(dá)1永遠(yuǎn)正轉(zhuǎn)4、多次循環(huán)、多次循環(huán)For Loop1.選擇變量,并設(shè)置變量的初始值,如變量是a,初始值為0,那么這里就該設(shè)置:a=02.設(shè)置循環(huán)次數(shù),表示需要運(yùn)行FOR語(yǔ)句里面的程序多少次,如變量是a,要循環(huán)運(yùn)行一段程序10次,那么這里就該設(shè)置:a=1

38、03.選擇運(yùn)算符號(hào),這里選擇+,意思是:使變量做自加運(yùn)算,即變量運(yùn)行完一次,便在原來(lái)的基礎(chǔ)上在加1,加1以后,程序就會(huì)在運(yùn)行一次,直到運(yùn)行完前面設(shè)置的10次,它才停止自加運(yùn)算;如變量是a,那么這里里就該設(shè)置:a+多次循環(huán)多次循環(huán)For Loop多次循環(huán)For Loop模塊編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)FOR模塊,條件設(shè)置為for條件設(shè)置為 a = 0; a = 3; a + ,表示變量a初始值為0,做自加運(yùn)算,直到a的值等于3才跳出for條件;接著拖入一個(gè)懸空等待模塊,設(shè)置為2秒,最后拖入一個(gè)馬達(dá)

39、模塊,停止馬達(dá)1;那么該程序的功能為:馬達(dá)1正轉(zhuǎn)6秒后停止5、定時(shí)器、定時(shí)器Timer定時(shí)器Timer相當(dāng)于一個(gè)預(yù)先放置在主控器內(nèi)部的時(shí)間傳感器,它需要預(yù)先定義變量才能使用,可以控制程序的執(zhí)行時(shí)間,懸空等待只能延續(xù)馬達(dá)的啟動(dòng)時(shí)間定時(shí)器的單位為毫秒100表示0.1秒1000表示1秒10000表示10秒以此類推1.選擇開(kāi)始,“開(kāi)始”命令定時(shí)器開(kāi)始計(jì)時(shí)。 2.選擇定時(shí)器的編號(hào)定時(shí)器定時(shí)器Timer3.選擇預(yù)設(shè),“預(yù)設(shè)”命令允許用戶給定時(shí)器預(yù)設(shè)一個(gè)固定的值或預(yù)先定義好的變量。 6.選擇取值,“取值”命令允許用戶把來(lái)自定時(shí)器的反饋值賦給一個(gè)變量。 4.選擇編號(hào)5.選擇變量7.選擇編號(hào)8.選擇變量定時(shí)器定

40、時(shí)器Timer定時(shí)器Timer編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義變量a和變量b,然后拖入一個(gè)定時(shí)器模塊選擇開(kāi)始,賦值給變量a;接著拖入一個(gè)定時(shí)器模塊,選擇預(yù)設(shè),賦值給變量a;在拖入一個(gè)定時(shí)器模塊,選擇取值,賦值給變量a;然后拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為a=5000表示定時(shí)器變量小于等于5秒,當(dāng)循環(huán)里面拖如一個(gè)馬達(dá)模塊,正轉(zhuǎn)1秒,然后停止1秒,最后在次賦值;這個(gè)程序的功能為:定時(shí)器時(shí)間小于等于5秒就執(zhí)行其內(nèi)部的馬達(dá)正轉(zhuǎn)1秒然后停止1秒,當(dāng)定時(shí)器的時(shí)間大于5秒時(shí)就跳出當(dāng)循環(huán)6、懸空等待、懸空等待Wait懸空等待模塊,在指定的時(shí)間

41、段里,延長(zhǎng)上一個(gè)模塊的執(zhí)行時(shí)間。這段時(shí)間以微秒計(jì)時(shí)。即100表示0.1秒1000表示1秒10000表示10秒以此類推懸空等待懸空等待Wait懸空等待Wait模塊編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明以編馬達(dá)為例,首先拖入一個(gè)馬達(dá)模塊,設(shè)置為正轉(zhuǎn);然后拖入以個(gè)懸空等待模塊,設(shè)置為3秒,最后拖入一個(gè)馬達(dá)模塊設(shè)置為停止;那么該程序的功能為:馬達(dá)1正轉(zhuǎn)3秒停止。7、表達(dá)式賦值、表達(dá)式賦值A(chǔ)ssignment表達(dá)式賦值A(chǔ)ssignment模塊相當(dāng)于一個(gè)通用模塊,你可以在里面輸入任何條件對(duì)變量進(jìn)行運(yùn)算或者輸入任何代碼來(lái)代替任何模塊的功能; 你能夠?yàn)橐粋€(gè)變量設(shè)置一個(gè)明確的值,例如: bump

42、er=0 你能夠定義一個(gè)數(shù)學(xué)表達(dá)式,例如: x + y=z 8、中斷、中斷Break中斷模塊功能常用在當(dāng)循環(huán)或者IF條件中,表示當(dāng)程序運(yùn)行到中斷模塊處,不管它后面還有沒(méi)有模塊,或者不管滿不滿足條件,它都會(huì)跳到當(dāng)循環(huán)或IF條件的后面,執(zhí)行它們后面的程序只能對(duì)該模塊做對(duì)你修改和查閱程序有幫助的注釋說(shuō)明中斷中斷Break中斷Break編程范例1:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明雖然程序一開(kāi)始設(shè)置的是一個(gè)永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來(lái),但是加了中斷模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),啟動(dòng)馬達(dá)1正轉(zhuǎn)2秒,然后停止2秒,接著就馬上中斷當(dāng)循環(huán)

43、條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達(dá)1反轉(zhuǎn)1秒,然后停止。中斷中斷Break中斷Break編程范例2:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明雖然程序一開(kāi)始設(shè)置的是一個(gè)永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來(lái),但是加了中斷模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),檢測(cè)碰撞,如果碰撞沒(méi)碰到,就啟動(dòng)馬達(dá)1正轉(zhuǎn),如果碰撞開(kāi)關(guān)閉合,程序就馬上中斷當(dāng)循環(huán)條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達(dá)1反轉(zhuǎn)1秒,然后停止。9、繼續(xù)、繼續(xù)Continue繼續(xù)Continue:跳到循環(huán)的條件判斷處,從新判斷只能對(duì)該模塊做對(duì)你修改和查閱程序有幫助的注釋說(shuō)明繼續(xù)繼續(xù)Contin

44、ue繼續(xù)Continue模塊編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,首先拖入一個(gè)碰撞檢測(cè)模塊,然后拖入一個(gè)當(dāng)循環(huán)模塊,設(shè)置為a=1,表示碰撞開(kāi)關(guān)斷開(kāi),然后拖入一個(gè)馬達(dá)模塊,設(shè)置為正轉(zhuǎn),在拖入一個(gè)懸空等待模塊,設(shè)置為3秒,在停止馬達(dá),在拖入一個(gè)繼續(xù)模塊,然后拖入馬達(dá),設(shè)置為反轉(zhuǎn),延時(shí)3秒,然后停止;那么該程序的功能為:當(dāng)碰撞開(kāi)關(guān)沒(méi)碰到的時(shí)候就進(jìn)入循環(huán),然后馬達(dá)1正轉(zhuǎn)3秒停止,接著就跳到當(dāng)循環(huán)的條件判斷處,從新判斷,而不執(zhí)行繼續(xù)模塊后面的馬達(dá)1反轉(zhuǎn)3秒這段程序。10、返回返回Return返回模塊的功能是跳到程序的結(jié)尾處,不

45、管它后面有沒(méi)有程序,它都不執(zhí)行,直接跳到程序的結(jié)束位置只能對(duì)該模塊做對(duì)你修改和查閱程序有幫助的注釋說(shuō)明自定義代碼返回參數(shù)返回返回Return返回Return編程范例:右邊每一個(gè)模塊的屬性在后面的注釋里面都有說(shuō)明雖然程序一開(kāi)始設(shè)置的是一個(gè)永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來(lái),但是加了返回模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),啟動(dòng)馬達(dá)1正轉(zhuǎn)3秒,接著就馬上執(zhí)行返回模塊,跳到程序的結(jié)束位置。當(dāng)循環(huán)外面的程序也不會(huì)執(zhí)行了。但是由于在返回前面沒(méi)有停止馬達(dá)1,所以返回執(zhí)行以后,馬達(dá)1仍然會(huì)繼續(xù)轉(zhuǎn)動(dòng)11、屏幕輸出、屏幕輸出Print To Screen屏幕輸出模

46、塊(Print To Screen)主要是用來(lái)顯示用戶需要檢測(cè)的和主控器連接在一起的電子元件的當(dāng)前參數(shù);打開(kāi)VEX編程軟件英文版的安裝目錄:一般默認(rèn)的路徑是C:Program FilesIntelitek;快速找到它的安裝位置的方法是在桌面右鍵點(diǎn)擊VEX編程軟件的圖標(biāo)屬性快捷方式查找目標(biāo);接著打開(kāi)ProjectsProjectsTest Code這個(gè)文件夾就可以查看如何使用屏幕輸出模塊(Print To Screen)進(jìn)行編程;接著把要檢測(cè)的傳感器的程序下載到主控器,在不關(guān)閉主控器電源并且下載線也和主控器相連接的情況下,點(diǎn)擊 圖標(biāo)然后該窗口里面就可以顯示出當(dāng)前電子元件檢測(cè)到的參數(shù)值。:這是具有

47、C程序經(jīng)驗(yàn)的高級(jí)用戶的一個(gè)選項(xiàng)。對(duì)于大多數(shù)的定義變量缺省為%d。 1.設(shè)置要顯示在屏幕輸出窗口上的內(nèi)容,如定義的變量為a,那么就可以輸入a=,那么顯示的時(shí)候等號(hào)后面的數(shù)值就是檢測(cè)到的值屏幕輸出屏幕輸出Print To Screen2.選擇屏幕輸出模塊要檢測(cè)的變量,既是說(shuō)要把哪一個(gè)變量的值顯示到屏幕上3.選擇格式,這一項(xiàng)是具有C語(yǔ)言編程經(jīng)驗(yàn)的用戶的一個(gè)選項(xiàng)。對(duì)于大多數(shù)的用戶只需要選擇%d。 4.選擇類型,這一項(xiàng)也是具有C語(yǔ)言編程經(jīng)驗(yàn)的用戶的一個(gè)選項(xiàng)。對(duì)于大多數(shù)的用戶只需要選擇int。 屏幕輸出屏幕輸出Print To Screen屏幕輸出Print To Screen模塊編程范例1:右邊每一個(gè)模

48、塊的屬性在后面的注釋里面都有說(shuō)明首先在變量定義模塊(Variables)里面定義了一個(gè)變量a,然后拖入一個(gè)當(dāng)循環(huán)模塊,條件為數(shù)字1,然后在當(dāng)循環(huán)里面拖入一個(gè)碰撞檢測(cè)模塊,選擇變量a,然后拖入一個(gè)屏幕輸出模塊,屏幕輸出模塊的變量為預(yù)先定義的變量a,格式一般為%d,類型為int,輸出內(nèi)容為a=把該程序下載到主控器后,不關(guān)閉電源,也不取掉下載線,然后點(diǎn)終端,就可以顯示當(dāng)前碰撞檢測(cè)到的數(shù)據(jù)12、程序注釋、程序注釋Comment對(duì)程序做對(duì)你修改和查閱有幫助的說(shuō)明或注釋,中文版1.0不能中文注釋,英文版1.0和2.0可以中文注釋,中文2.0可以中文注釋;源碼注釋被編譯器忽略。 13、自定義代碼、自定義代碼

49、User Code自定義代碼User Code:可以替代任何模塊,比如馬達(dá)模塊的代碼是SetMotor ( 1 , 255 ) ;那么只要在自定義代碼User Code模塊里面鍵入馬達(dá)的代碼,那么它就表示一個(gè)馬達(dá)模塊;這個(gè)模塊為熟悉C語(yǔ)言的用戶設(shè)計(jì)。為了編譯器能夠正確編譯代碼,你必須正確使用語(yǔ)法。對(duì)于C 語(yǔ)言的信息請(qǐng)自行參閱C 語(yǔ)言的相關(guān)指導(dǎo)書。 鍵入自定義的代碼十一、十一、RC Control遙控通道控制遙控通道控制1、遙控器按鍵說(shuō)明、遙控器按鍵說(shuō)明這里插晶體1、左操縱桿9、電源開(kāi)關(guān)2、左操縱桿縱向微調(diào)(通道3) 10、LCD顯示屏3、左操縱桿橫向微調(diào)(通道4) 11、數(shù)字選擇設(shè)定鍵4、控制

50、方法設(shè)定鍵12、信號(hào)頻率振蕩器(晶體)5、控制方法選擇鍵13、通道6按鍵16、右操縱14、通道6按鍵27、右操縱桿縱向微調(diào)(通道2) 15、通道5按鍵18、右操縱桿縱向微調(diào)(通道1) 16、通道5按鍵2打開(kāi)電池蓋這里放電池2、遙控器的基本操作、遙控器的基本操作遙控器的操控桿是有兩種模式配置的. 請(qǐng)看以下指示來(lái)查看或轉(zhuǎn)換:(1) 把遙控器的開(kāi)關(guān)推到ON的位置來(lái)啟動(dòng)遙控器(2) 同時(shí)按下Mode 及 Select 鈕直至液晶屏顯示出菜單畫面為止.(3) 按Mode鈕直到有”Drive”字出現(xiàn)在液晶屏的左方(是最后的菜單)來(lái)進(jìn)入驅(qū)動(dòng)模式調(diào)節(jié)菜單.(4) 目前的設(shè)定會(huì)顯示在液晶屏里, 顯示內(nèi)容是”23

51、”或”12”. 你利用LCD右邊的數(shù)據(jù)輸入按鈕“+ ”或“ ”推上或推下來(lái)轉(zhuǎn)換模式.。3、遙控接收器接法示意圖、遙控接收器接法示意圖這里插晶體4、遙控最優(yōu)系統(tǒng)搭配、遙控最優(yōu)系統(tǒng)搭配+6通道數(shù)字比例遙控器,與Futaba 6通道遙控器全面兼容接收器控制器最優(yōu)系統(tǒng)搭配最優(yōu)系統(tǒng)搭配遙控、程控、線控多種控制方式。遙控、程控、線控多種控制方式。使用兩個(gè)遙控器同時(shí)控制不同的機(jī)器人時(shí),你必須使用兩種不同的晶體RF頻率。在基本套裝里只有一種頻率的晶體;在晶體升級(jí)套裝里可以獲得更多的不同頻率的晶體。 遙控最優(yōu)系統(tǒng)搭配遙控最優(yōu)系統(tǒng)搭配可更換晶振,多通道輸入,可實(shí)現(xiàn)單機(jī)可更換晶振,多通道輸入,可實(shí)現(xiàn)單機(jī)器人雙遙控,

52、增添操控和競(jìng)賽樂(lè)趣。器人雙遙控,增添操控和競(jìng)賽樂(lè)趣。雙接收器雙遙控器主控器5、單桿控制雙馬達(dá)、單桿控制雙馬達(dá)Arcade-2 motor單桿控制雙馬達(dá)指的是遙控器的一個(gè)操縱桿控制兩個(gè)馬達(dá)同時(shí)轉(zhuǎn)或同時(shí)停,這樣兩個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不論快慢,都是一致的,就不會(huì)因?yàn)槭值牧α繂?wèn)題而使兩個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不一樣1.這里一般選自動(dòng)2.選擇遙控器控制小車前進(jìn)后退的控制通道3.選擇遙控器控制小車左右轉(zhuǎn)彎的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動(dòng)的正反方向單桿控制雙馬達(dá)單桿控制雙馬達(dá)Arcade-2 motor單桿控制雙馬達(dá)編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循

53、環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后在當(dāng)循環(huán)里面拖入一個(gè)單桿控制雙馬達(dá)模塊,前進(jìn)后退選擇1,旋轉(zhuǎn)選擇3,馬達(dá)通道則選擇1和2;那么該程序的功能就是:遙控器控制馬達(dá)1和2同時(shí)轉(zhuǎn)動(dòng);遙控器的1通道控制前進(jìn)后退;遙控器的3通道控制旋轉(zhuǎn)6、單桿控制四馬達(dá)、單桿控制四馬達(dá)Arcade-4 motor單桿控制四馬達(dá)指的是遙控器的一個(gè)操縱桿控制四個(gè)馬達(dá)同時(shí)轉(zhuǎn)或同時(shí)停,這樣四個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不論快慢,都是一致的,就不會(huì)因?yàn)槭值牧α繂?wèn)題而使四個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不一樣1.這里一般選自動(dòng)2.選擇遙控器控制小車前進(jìn)后退的控制通道3.選擇遙控器控制小車左右轉(zhuǎn)彎的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道

54、5.選擇小車左右馬達(dá)轉(zhuǎn)動(dòng)的正反方向單桿控制四馬達(dá)單桿控制四馬達(dá)Arcade-4 motor單桿控制四馬達(dá)編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后在當(dāng)循環(huán)里面拖入一個(gè)單桿控制四馬達(dá)模塊,前進(jìn)后退選擇1,旋轉(zhuǎn)選擇3,馬達(dá)通道則選擇1.2.3.4;那么該程序的功能就是:遙控器控制馬達(dá)1.2.3.4同時(shí)轉(zhuǎn)動(dòng);遙控器的1通道控制前進(jìn)后退遙控器的3通道控制旋轉(zhuǎn)7、雙桿控制雙馬達(dá)、雙桿控制雙馬達(dá)Arcade-2 motor雙桿控制雙馬達(dá)指的是遙控器的兩個(gè)操縱桿控制兩個(gè)馬達(dá)轉(zhuǎn)或停,這樣兩個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不論快慢,都有可能不一致,就會(huì)因?yàn)槭值?/p>

55、力量問(wèn)題而使兩個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不一樣1.這里一般選自動(dòng)2.選擇遙控器控制小車左邊馬達(dá)的控制通道3.選擇遙控器控制小車右邊馬達(dá)的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動(dòng)的正反方向雙桿控制雙馬達(dá)雙桿控制雙馬達(dá)Arcade-2 motor雙桿控制雙馬達(dá)編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后在當(dāng)循環(huán)里面拖入一個(gè)雙桿控制雙馬達(dá)模塊,左馬達(dá)選擇1,右馬達(dá)選擇3,馬達(dá)通道則選擇1和2;那么該程序的功能就是:遙控器控制馬達(dá)1和2轉(zhuǎn)動(dòng);遙控器的1通道控制馬達(dá)1遙控器的3通道控制馬達(dá)28、雙桿控制四馬達(dá)、雙桿控

56、制四馬達(dá)Arcade-4 motor雙桿控制四馬達(dá)指的是遙控器的兩個(gè)操縱桿控制四個(gè)馬達(dá)轉(zhuǎn)或停,即一個(gè)操縱桿控制兩個(gè)馬達(dá);這樣四個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不論快慢,都有可能不一致,就會(huì)因?yàn)槭值牧α繂?wèn)題而使四個(gè)馬達(dá)轉(zhuǎn)動(dòng)的速度不一樣1.這里一般選自動(dòng)2.選擇遙控器控制小車左邊兩個(gè)馬達(dá)的控制通道3.選擇遙控器控制小車右邊兩個(gè)馬達(dá)的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動(dòng)的正反方向雙桿控制四馬達(dá)雙桿控制四馬達(dá)Arcade-4 motor雙桿控制四馬達(dá)編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后在當(dāng)循環(huán)里面拖入一個(gè)雙桿

57、控制四馬達(dá)模塊,左馬達(dá)選擇1,右馬達(dá)選擇3,馬達(dá)通道則選擇1.2.3.4 ;那么該程序的功能就是:遙控器控制馬達(dá)1.2.3.4轉(zhuǎn)動(dòng);遙控器的1通道控制馬達(dá)1.2,遙控器的3通道控制馬達(dá)3.49、單桿控制單馬達(dá)、單桿控制單馬達(dá)Motor Module Rx單桿控制單馬達(dá)指的是遙控器的一個(gè)操縱桿控制一個(gè)馬達(dá)轉(zhuǎn)或停1.這里一般選自動(dòng)2.選擇遙控器控制馬達(dá)的控制通道3.選擇馬達(dá)連接在主控器上的通道4.選擇馬達(dá)轉(zhuǎn)動(dòng)的正反方向單桿控制單馬達(dá)單桿控制單馬達(dá)Motor Module Rx單桿控制單馬達(dá)編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后

58、在當(dāng)循環(huán)里面拖入一個(gè)單桿控制單馬達(dá)模塊,遙控器控制通道選擇1,馬達(dá)通道則選擇1;那么該程序的功能就是:遙控器的1通道控制馬達(dá)1轉(zhuǎn)動(dòng)10、單桿控制伺服器、單桿控制伺服器Servo Module Rx1.這里一般選自動(dòng)2.選擇遙控器控制伺服器的控制通道3.選擇伺服器連接在主控器上的通道4.選擇伺服器轉(zhuǎn)動(dòng)的正反方向單桿控制伺服器指的是遙控器的一個(gè)操縱桿控制一個(gè)伺服器轉(zhuǎn)或停單桿控制伺服器單桿控制伺服器Servo Module Rx單桿控制伺服器編程范例:首先拖入一個(gè)當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個(gè)永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測(cè)遙控器發(fā)射出來(lái)的信號(hào);然后在當(dāng)循環(huán)里面拖入一個(gè)單桿控制伺服器模塊,遙控器控制

59、通道選擇1,伺服器通道則選擇1;那么該程序的功能就是:遙控器的1通道控制伺服器1轉(zhuǎn)動(dòng)11、遙控通道、遙控通道Rx Input使用遙控輸入功能模塊得到一個(gè)Rx1或Rx2通道的反饋值,并將其存儲(chǔ)于一個(gè)變量;12、脈寬調(diào)制、脈寬調(diào)制PWM Control在競(jìng)賽模型里,使用脈寬調(diào)制控制模塊控制馬達(dá)端口的脈寬調(diào)制值。你可以使用一組值或預(yù)先定義的變量。 你能夠使用脈寬調(diào)制控制: 在遙控控制模式如果遙控器沒(méi)有發(fā)送信號(hào)的情況下,可以開(kāi)啟一個(gè)馬達(dá)給其一組脈寬調(diào)制值。 使其運(yùn)轉(zhuǎn)。 混合發(fā)送器信號(hào),構(gòu)造一個(gè)程序,像單桿控制模塊。 在競(jìng)賽模式下,控制帶有一個(gè)行程開(kāi)關(guān)的馬達(dá)行進(jìn)。 參看Project夾里ARMLIMIT

60、SAMPLE.ECP 工程。 13、用戶自定義函數(shù)、用戶自定義函數(shù)User Functions用戶自定義函數(shù)User Functions即通常說(shuō)的子函數(shù)或子程序;其主要作用在于可以簡(jiǎn)化主程序、簡(jiǎn)化編程步驟等右圖為新建的子函數(shù)窗口可以在其開(kāi)始模塊和結(jié)束模塊之間進(jìn)行編程操作,如果需要使用傳感器,那么可以在其局部變量里面設(shè)置局部變量編程區(qū)C語(yǔ)言代碼區(qū)用戶自定義函數(shù)用戶自定義函數(shù)User Functions模塊編程操作步驟模塊編程操作步驟1.右鍵單擊模塊區(qū)最下面的用戶自定義函數(shù)2.左鍵選擇新增自定義函數(shù)點(diǎn)這里可以打開(kāi)已經(jīng)保存的子函數(shù)3.選擇子函數(shù)的返回類型,void為不返回任何參數(shù)4.為子函數(shù)命名,必須為英文

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論