版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VEX 機(jī)器人軟件編程教程目錄一一、使用注意事項(xiàng)八、Inputs主控輸入:1、碰撞開關(guān)傳感器 bumper switch2、光敏傳感器 light sensor3、限位開關(guān)limit switch4、巡線傳感器 Line Follower5、編碼器 Optical Shaft6、超聲波傳感器Ultrasonic Sensor7、數(shù)字輸入 Digital Input8、模擬輸入 Analog Input二、主界面三、工具欄模塊四、編程區(qū)五、I/O定義模塊六、變量設(shè)置模塊七、接口說明目錄二九、Outputs主控輸出:1、馬達(dá)控制 Motor Module2、伺服控制 Servo Module3、數(shù)
2、字輸出 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、定時器Timer6、懸空等待Wait7、表達(dá)式賦值A(chǔ)ssignment8、中斷Break9、繼續(xù)Continue10、返回Return11、屏幕輸出Print To Screen12、程序注釋Comment13、自定義代碼User Code目錄三十一、RC Control遙控通道控制:1、 遙控器按鍵說明2、 遙控器的基本操作3、 遙控接收器接法示意圖
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 Input12、脈寬調(diào)制PWM Control13、用戶自定義函數(shù)User Functions14、在線控制模式十二、自動程序和遙控程序結(jié)合范例十三、下載線接法十四、下載線端口查看方法十五、中文版程序下載步驟十六、英文版下載步驟一、使用注意事項(xiàng)如果是沒有購買序列號的
4、用戶,安裝了軟件,打開軟件時會彈出一個注冊的窗口,中文版點(diǎn)暫不注冊按鈕便可以試用。英文版點(diǎn)Run in Evaluation Mode按鈕便可試用; 1.0版本的軟件只能試用30天,2.0英文版本只能試用7天;2.0中文版有15天;如果是購買了序列號的用戶,在注冊的時候需要聯(lián)網(wǎng)注冊, 每個序列號也只能在一臺電腦上使用,英文版如果換了電腦再使用該序列號注冊,那么該系列號就不可用了,2.0中文版一個序列號也只能一臺電腦注冊,如要換電腦注冊可以點(diǎn)菜單欄 幫助 注銷,然后在另一臺電腦上就可以再次使用該序列號了;如果是沒有購買序列號的用戶,只要一裝上軟件,便自動與系統(tǒng)硬件綁定,試用期到了以后即使把軟件卸
5、載了在重裝也不能繼續(xù)試用,建議先用備份工具備份系統(tǒng),然后才安裝英文版軟件,這樣軟件過期了以后,只需要把系統(tǒng)還原,在重裝VEX軟件即可繼續(xù)試用;VEX編程軟件有中文版和英文版兩個版本(中文和英文分別都有1.0版本和2.0版本),兩個版本不能混用,不要既下載中文版編的程序到主控器,又下載英文版編的程序到主控器,這樣會損壞主控器的底層程序,嚴(yán)重時會導(dǎo)致主控器的某些芯片不可用,從而導(dǎo)致主控器不能使用;中文版和英文版的程序和代碼都不能用對方的的軟件相互打開并編輯,既:英文版只能打開用英文版軟件編的程序和代碼,中文版只能打開用中文版軟件編的程序和代碼;中文1.0版軟件編好的程序不能保存到C盤(包括桌面),
6、否則會導(dǎo)致程序不能打開或者出現(xiàn)錯誤;中文1.0版軟件在每次下載程序之前都要先保存編譯鏈接然后再下載,然后選擇端口;查看下載線使用的COM口的方法是:我的電腦右鍵屬性硬件設(shè)備管理器端口(COM和LPT) Prolific USB-to-Serial Comm Port (com3)最后這一項(xiàng)的com3就是當(dāng)前VEX下載線使用的端口;然后再在軟件里面選擇相應(yīng)的端口即可下載程序到主控器,具體方法后面有詳細(xì)介紹;1.0版本軟件不能定義子程序,2.0版本軟件可以定義子程序;1.0版本的軟件所有變量都是全局變量;2.0版本軟件中可以定義全局變量和局部變量;1.0版本的軟件沒有中斷、繼續(xù)、返回模塊,2.0版
7、本軟件中有。當(dāng)主控器出現(xiàn)執(zhí)行程序混亂的情況時,說明有可能是主控器的底層程序不正常,那么只需要從新下載一次底層程序即可,中文版2.0為,菜單欄生成下栽初始化程序二、主界面工具欄菜單編程區(qū)C語言代碼區(qū)鏈接編譯區(qū)模塊區(qū)三、工具欄模塊(英文版)新建工程 :創(chuàng)建一個新的工程調(diào)試和下載 :下載你當(dāng)前窗口的程序到主控器打開工程: 打開你保存在電腦上的程序或代碼文件終端窗口:選擇下載線和電腦連接的COM端口保存工程:保存一個工程在線窗口 :開始在線檢測窗口工程窗口:顯示和隱藏工程窗口入門級別:在工程窗口顯示基本的函數(shù)模塊輸出窗口 :顯示和隱藏輸出窗口高級級別 :在工程窗口顯示先進(jìn)(高級)的函數(shù)模塊控制器配置
8、:打開控制器配置對話框?qū)I(yè)級別 :在工程窗口顯示所有可利用的函數(shù)模塊程序變量 :打開程序變量對話框放大 :增大流程圖顯示的比例尺寸編譯工程 :編譯打開的工程代碼縮小 :減小流程圖顯示的比例尺寸工具欄模塊(中文版1.0)新建工程 :創(chuàng)建一個新的工程打開工程: 打開你保存在電腦上的程序或代碼文件編譯工程 :編譯打開的工程代碼鏈接工程 :鏈接打開的工程代碼下載 :下載你當(dāng)前窗口的程序到主控器放大 :增大當(dāng)前窗口顯示的比例尺寸縮小 :減小當(dāng)前窗口顯示的比例尺寸關(guān)于我們 :顯示版本信息工具欄模塊(中文版2.0)新建工程 :創(chuàng)建一個新的工程打開工程: 打開你保存在電腦上的程序或代碼文件保存工程 :保存當(dāng)前
9、的工程代碼項(xiàng)目瀏覽 :關(guān)閉和打開模塊區(qū)輸出窗口 :關(guān)閉和打開編譯鏈接代碼輸出顯示區(qū)主控器設(shè)置 :設(shè)置主控器的I/O口全局定義 :定義全局變量編譯 :對當(dāng)前打開的程序進(jìn)行編譯查錯編譯并下載:對當(dāng)前打開的程序進(jìn)行編譯并下載到主控器四、編程區(qū) 對于1.0版每一個新的程序都會有一個I/O定義模塊,變量定義模塊(Variables),開始模塊(BEGNI)和結(jié)束模塊(END)。 2.0版則增加了局部變量定義模塊; I/O模塊和變量定義模塊應(yīng)當(dāng)在開始編程之前定義。 在每一個程序里,開始模塊標(biāo)識程序模塊代碼的第一個模塊;結(jié)束模塊標(biāo)識程序模塊代碼的最后一個模塊。你必須放置所有的模塊在這兩個模塊之間。 插入模塊
10、:在模塊區(qū)用鼠標(biāo)左鍵點(diǎn)住相應(yīng)模塊,拖動到編程區(qū)的開始和結(jié)束模塊之間,放開鼠標(biāo),然后只要設(shè)置好模塊的屬性就行了。編輯模塊(Edit):左鍵雙擊修改,也可單擊右鍵。英文版是點(diǎn)右鍵,選擇粘貼編輯。復(fù)制模塊(Copy):中文版2.0是ctrl+c復(fù)制模塊,也可單擊右鍵;英文版是按住ctrl鍵,拖拽模塊。將復(fù)制的模塊放到你需要放置它的位置。也可單擊右鍵。剪切模塊(Cut):中文版2.0是ctrl+x剪切模塊,也可單擊右鍵;英文版是先選中模塊,再點(diǎn)右鍵選擇剪切。粘貼(Paste) :中文版2.0是ctrl+v粘貼模塊,也可單擊右鍵;英文版是點(diǎn)右鍵,選擇粘貼。刪除模塊(Delete):中文版2.0是Dele
11、te鍵刪除模塊,也可單擊右鍵;英文版是點(diǎn)右鍵,然后選擇刪除。右鍵單擊任何一個模塊,可以對該模塊進(jìn)行編輯、復(fù)制、剪切、刪除、粘貼等操作 。五、I/O定義模塊雙擊I/O圖標(biāo)或點(diǎn)鼠標(biāo)右鍵(I/O定義模塊),你能夠配置控制器的I/O端口。模擬/數(shù)字端口(共16個口)(ANALOG/DIGITAL):波浪線表示模擬端口(默認(rèn)為14),箭頭表示數(shù)字端口;箭頭向左的表示信號是由外部輸入到主控器(默認(rèn)為510) ,箭頭向右的表示信號是由主控器內(nèi)部輸出(默認(rèn)為1116),模擬和數(shù)字端口可以互換,數(shù)字端口的輸入輸出也可以更改;中斷端口(INTERRUPTS) (共6個口):不能更改;馬達(dá)端口(MOTORS) (共
12、8個口):不能更改;六、變量設(shè)置模塊(1.0版)雙擊變量設(shè)置圖標(biāo),打開程序變量定義對話框。你能設(shè)置程序需要使用到的變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值全局變量設(shè)置模塊(2.0版)雙擊全局變量設(shè)置圖標(biāo),打開程序變量定義對話框。你能設(shè)置程序需要使用到的全局變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值,也可以不設(shè)置。1.選擇變量類型,一般都選int(整型變量)2.鍵入變量名字,要求必須是英文字母組成這里可以鍵入變量的值,要求必須是英文數(shù)字組成,也可先不定義變量的值這里可以刪
13、除整行不需要的變量局部變量設(shè)置模塊(2.0版)雙擊局部變量設(shè)置圖標(biāo),打開程序變量定義對話框。你能設(shè)置程序需要使用到的局部變量;這里數(shù)據(jù)類型一般都選擇int,變量名稱需要是英文字母,其它的可以不填也可以在變量取值處設(shè)置變量的值1.選擇變量類型,一般都選int(整型變量)2.鍵入變量名字,要求必須是英文字母組成這里可以刪除整行不需要的變量這里可以鍵入變量的值,要求必須是英文數(shù)字組成,也可先不定義變量的值變量定義表七、接口說明接口功能馬達(dá)端口MOTORS共有8個口主控器上標(biāo)有MOTORS字樣的端口,用來接馬達(dá)和伺服器中斷端口INTERRUPTS共有6個口主控器上標(biāo)有INTERRUPTS字樣的端口,用
14、來接超聲波傳感器的OUTPUT端和編碼器模擬/數(shù)字端口ANALOG/DIGITAL共有16個口主控器上標(biāo)有ANALOG/DIGITAL字樣的端口,默認(rèn)14為模擬/數(shù)字通用端口,可接巡線、光敏、碰撞、行程,默認(rèn)510為數(shù)字輸出端口,可接碰撞、行程,默認(rèn)1116為數(shù)字輸入端口,接超聲波的Input端,都可以自行更改接口說明電源開關(guān)電池插口接收器/線控插口1接收器/線控插口2程序下載線插口八、Inputs主控輸入1、碰撞開關(guān)傳感器 bumper switch碰撞開關(guān)是數(shù)字式的傳感器。它有兩種狀態(tài):即開和關(guān);當(dāng)碰撞開關(guān)斷開的時候,定義為1。當(dāng)碰撞開關(guān)閉合的時候,定義為0。打開位于Test Code的文
15、件夾中的BUMPERTEST.ECP工程,看其示范怎樣編寫碰撞開關(guān)程序。 1.選擇碰撞開關(guān)連接在主控器上的通道2.選擇一個預(yù)先定義的碰撞開關(guān)變量對當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)OK碰撞開關(guān)傳感器 bumper switch碰撞開關(guān)程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個碰撞檢測模塊,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前碰撞變量進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個碰撞檢測模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面
16、在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是:當(dāng) a=1即是碰撞開關(guān)沒碰到時,就不停的啟動馬達(dá)1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)碰撞開關(guān)碰到時,就跳出當(dāng)循環(huán),停止馬達(dá)1。2、光敏傳感器 light sensor 光敏傳感器是模擬式的傳感器,它是用來檢測周圍環(huán)境光線的亮暗的傳感器;把光線由亮到暗的范圍定義在0到1024。值越小表示光線越亮,值越大表示光線越暗; 打開位于Test Code文件夾中的LIGHTTEST.ECP工程,看其示范怎樣編寫光敏傳感器程序。 1.選擇光敏傳感器連接在主控器上的通道2.選擇一個預(yù)先定義的光敏傳感器變量對當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)O
17、K光敏傳感器 light sensor光敏傳感器程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個光敏檢測模塊,選擇變量a,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前亮度變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個光敏檢測模塊,屬性和當(dāng)循環(huán)外面的光敏檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是:當(dāng) a=800則是光線比較暗時,就跳出當(dāng)循環(huán),停止馬達(dá)1。3、限位開關(guān)limit switch 限位開關(guān)是數(shù)字式的傳感器。和碰撞開關(guān)類似;它有兩種
18、狀態(tài):即開和關(guān);當(dāng)限位開關(guān)斷開的時候,定義為1。當(dāng)限位開關(guān)閉合的時候,定義為0。打開位于Test Code的文件夾中的LIMITTEST.ECP工程,看其示范怎樣編寫行程開關(guān)程序。 1.選擇限位開關(guān)連接在主控器上的通道2.選擇一個預(yù)先定義的限位開關(guān)變量對當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)確定限位開關(guān)limit switch限位開關(guān)程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個限位檢測模塊,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前限位變量進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個
19、限位檢測模塊,屬性和當(dāng)循環(huán)外面的限位檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是:當(dāng) a=1即是限位開關(guān)沒閉合時,就不停的啟動馬達(dá)1正轉(zhuǎn),反之a(chǎn)=0則是當(dāng)限位開關(guān)碰到時,就跳出當(dāng)循環(huán),停止馬達(dá)1。4、巡線傳感器 Line Follower1.選擇巡線傳感器連接在主控器上的通道2.選擇一個預(yù)先定義的巡線傳感器變量對當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 3.設(shè)置好以后點(diǎn)確定巡線傳感器是模擬式的傳感器,它是用來檢測顏色的傳感器;把顏色的深淺由白到黑的范圍定義在0到1024。值越小表示顏色越白,值越大表示顏色越黑; 打開位于T
20、est Code的文件夾中的LINEFOLLOWER.ECP工程,看其示范怎樣編寫巡線傳感器程序。 巡線傳感器 Line Follower巡線傳感器程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個巡線檢測模塊,接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前灰度變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個巡線檢測模塊,屬性和當(dāng)循環(huán)外面的巡線檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是:當(dāng) a=800則是顏色比較黑時,就跳出當(dāng)循環(huán),停止馬達(dá)1。
21、5、編碼器 Optical Shaft Encoder編碼器是一個數(shù)字式的傳感器。它能夠用來測量和定義馬達(dá)轉(zhuǎn)動的圈數(shù)或者路程。編碼器一般插在中斷端口(INTERRUPTS)編碼器旋轉(zhuǎn)(360 度)等于90個編碼脈沖。 打開位于Test Code的文件夾中的ENCODERTEST.ECP工程,看其示范怎樣編寫編碼器程序。 1.選擇開始,開始記錄編碼脈沖2.選擇編碼器連接在主控器上的端口編碼器 Optical Shaft Encoder6.選擇取值,開始把值反饋給變量7.選擇編碼器連接在主控器上的端口8.選擇一個預(yù)先定義的變量3.選擇預(yù)設(shè)4.選擇編碼器連接在主控器上的端口5.選擇固定值,設(shè)為0,表
22、示編碼器的初始值為0,為編碼器清零對當(dāng)前模塊注釋,將幫助你閱讀程序和理解模塊的功能。 編碼器 Optical Shaft Encoder編碼器程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入三個編碼器檢測模塊,第一個選擇開始,第二個選擇預(yù)設(shè),第三個選擇取值;接著拖入一個當(dāng)循環(huán)模塊對當(dāng)前路程變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個編碼器檢測模塊,屬性和當(dāng)循環(huán)外面設(shè)置取值的那個編碼器檢測模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是
23、:當(dāng) a30則是馬達(dá)轉(zhuǎn)動的路程達(dá)到30時,就跳出當(dāng)循環(huán),停止馬達(dá)1。6、超聲波傳感器Ultrasonic Sensor 1.選擇開始,開始命令告訴超聲波開始記錄聲波。 2.選擇超聲波傳感器連接在主控器上的中斷端口3.選擇超聲波傳感器連接在主控器上的輸出端口4.選擇取值,取值命令允許用戶將來自超聲波的值反饋給一個變量。 5.選擇超聲波傳感器連接在主控器上的中斷端口6.選擇超聲波傳感器連接在主控器上的輸出端口7.選擇一個預(yù)先定義的變量超聲波傳感器利用高頻率的聲波來探測障礙物。它發(fā)射一個超聲波信號,聲波被外界物體反射回來。然后超聲波傳感器就可以根據(jù)接收到的信號的時間和強(qiáng)弱計算出離障礙物的距離超聲波傳
24、感器有兩根連接線確保標(biāo)有Output標(biāo)簽的線連接到主控器的中斷端口。確保標(biāo)有Input標(biāo)簽的線連接到主控器的數(shù)字輸出端口(默認(rèn)的為1116)。超聲波的取值范圍是:2100小于2cm是超聲波的盲區(qū),在2cm以內(nèi)就檢測不到任何物體。打開位于Test Code的文件夾中的ULTRASONICTEST.ECP工程,看其示范怎樣編寫超聲波傳感器程序。 超聲波傳感器Ultrasonic Sensor超聲波傳感器程序范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入兩個超聲波檢測模塊,第一個選擇開始,第二個選擇取值;接著拖入一個當(dāng)循環(huán)模塊
25、對當(dāng)前超聲波變量(即變量a)進(jìn)行判斷,然后在當(dāng)循環(huán)里面拖入一個馬達(dá)控制模塊,再拖入一個超聲波檢測模塊,屬性和當(dāng)循環(huán)外面設(shè)置取值的那個超聲波取值模塊的屬性一樣,這樣就構(gòu)成了一個條件循環(huán),最后在當(dāng)循環(huán)外面在拖入一個馬達(dá)控制模塊;那么這個程序的功能就是:當(dāng) a20即是當(dāng)前超聲波和障礙物的距離沒有達(dá)到20時,就不停的啟動馬達(dá)1正轉(zhuǎn),反之a(chǎn)=20則是超聲波與障礙物之間的距離達(dá)到20和20以內(nèi)時,就跳出當(dāng)循環(huán),停止馬達(dá)1。7、數(shù)字輸入 Digital Input1.選擇端口,一般默認(rèn)為數(shù)字/模擬口5102.選擇選擇預(yù)先定義好的變量數(shù)字輸入 Digital Input模塊可以代替所有數(shù)字式的傳感器模塊8、模
26、擬輸入 Analog Input1.選擇端口,一般默認(rèn)為數(shù)字/模擬口142.選擇選擇預(yù)先定義好的變量模擬輸入 Analog Input 模塊可以代替所有模擬式的傳感器模塊九、Outputs主控輸出1、馬達(dá)控制 Motor Module1.選擇馬達(dá)連接在主控器上的端口2.選擇255表示馬達(dá)以最快的速度正轉(zhuǎn)3.選擇127表示馬達(dá)以停止4.選擇0表示馬達(dá)以最快的速度反轉(zhuǎn)5.選擇用戶自定義則表示用戶自己設(shè)置馬達(dá)的速度0127之間的數(shù)字都是反轉(zhuǎn),越接近127速度越慢,127255之間的數(shù)字都表示正轉(zhuǎn),越接近127速度越慢6.設(shè)置好以后點(diǎn)確定馬達(dá)的輸出軸正對自己,順時針表示正轉(zhuǎn),逆時針表示反轉(zhuǎn);箭頭圖標(biāo)向
27、上暗示馬達(dá)正轉(zhuǎn)。箭頭圖標(biāo)變成一個黃色的點(diǎn)暗示馬達(dá)停止。 箭頭圖標(biāo)向下暗示馬達(dá)反轉(zhuǎn)。馬達(dá)控制 Motor Module馬達(dá)控制編程范例1:右邊每一個模塊的屬性在后面的注釋里面都有說明首先拖入一個馬達(dá)模塊,選擇正轉(zhuǎn),再拖入一個懸空等待模塊,設(shè)置為1000,表示一秒;然后再拖入一個馬達(dá)模塊,選擇停止;那么這個程序的功能為:馬達(dá)1正轉(zhuǎn)一秒后停止。需要注意的是你啟動了幾個馬達(dá)那么在停止的時候就要加多少個停止馬達(dá)。馬達(dá)控制編程范例2:右邊每一個模塊的屬性在后面的注釋里面都有說明首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,表示永遠(yuǎn)循環(huán);然后再當(dāng)循環(huán)里面拖入一個馬達(dá)模塊,選擇正轉(zhuǎn);那么這個程序的功能為:馬達(dá)1永遠(yuǎn)正
28、轉(zhuǎn)。馬達(dá)方向輔助圖表假設(shè)一不小車上裝了兩個馬達(dá),左右各一個,來給小車提供動力,那么小車的運(yùn)動情況如下表小車前進(jìn)小車后退小車以兩個輪子的中心點(diǎn)為圓心向左轉(zhuǎn)彎(也可一個馬達(dá)轉(zhuǎn)一個馬達(dá)不轉(zhuǎn),這樣以一個馬達(dá)為圓心轉(zhuǎn)彎)小車以兩個輪子的中心點(diǎn)為圓心向右轉(zhuǎn)彎(也可一個馬達(dá)轉(zhuǎn)一個馬達(dá)不轉(zhuǎn),這樣以一個馬達(dá)為圓心轉(zhuǎn)彎)2、伺服控制 Servo Module伺服器和馬達(dá)有區(qū)別,馬達(dá)能轉(zhuǎn)動360度,而伺服器只能轉(zhuǎn)動一定的角度,大約120度伺服器的輸出軸正對自己,順時針表示正轉(zhuǎn),逆時針表示反轉(zhuǎn);箭頭圖標(biāo)向下暗示伺服器正轉(zhuǎn)。箭頭圖標(biāo)變成一個黃色的點(diǎn)暗示伺服器停止。 箭頭圖標(biāo)向上暗示伺服器反轉(zhuǎn)。1.選擇伺服器連接在主控器
29、上的端口2.選擇255表示伺服器正轉(zhuǎn)最大的角度3.選擇127表示伺服器停止4.選擇0表示伺服器反轉(zhuǎn)最大的角度5.選擇用戶自定義則表示用戶自己設(shè)置伺服器的角度0127之間的數(shù)字都是反轉(zhuǎn),越接近127角度越小,127255之間的數(shù)字都表示正轉(zhuǎn),越接近127角度越小6.設(shè)置好以后點(diǎn)確定伺服控制 Servo Module伺服器控制編程范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先拖入一個伺服器模塊,選擇正轉(zhuǎn),再拖入一個懸空等待模塊,設(shè)置為1000,表示一秒;然后再拖入一個伺服器模塊,選擇停止;那么這個程序的功能為:伺服器1正轉(zhuǎn)一秒后停止。需要注意的是你啟動了幾個伺服器那么在停止的時候就要加多少
30、個停止伺服器。3、數(shù)字輸出 Digital Output1.選擇端口,一般默認(rèn)為數(shù)字/模擬口11162.選擇選擇預(yù)先定義好的變量或者自定義一個值使用數(shù)字輸出功能模塊用來控制數(shù)字輸出的狀態(tài)。 你能夠利用數(shù)字輸出端口打開或者關(guān)閉像一個發(fā)光二極管或一個螺線管這樣的設(shè)備。 數(shù)字輸出能夠設(shè)置1或0固定的值,它同樣能夠設(shè)置成一個預(yù)先定義的變量。 缺省情況下所有的數(shù)字輸出值設(shè)置為1(或者0)十、Program Flow程序流程控制1、單向選擇結(jié)構(gòu)IfIf-條件,只要符合設(shè)定的條件,將運(yùn)行if語句內(nèi)部的程序。如果不符合設(shè)定的條件,它將跳過表達(dá)式if條件語句的部分,運(yùn)行下一個程序模塊。 1.選擇變量2.選擇變量
31、運(yùn)算符號3.設(shè)置變量的表達(dá)式單向選擇結(jié)構(gòu)IfIf模塊編程范例:以編碰撞開關(guān)為例;右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,接著拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠(yuǎn)循環(huán),然后拖入一個碰撞檢測模塊,再拖入If 模塊,在if條件里面設(shè)置a=0,在if 語句里面拖入一個馬達(dá)模塊設(shè)置為正轉(zhuǎn)和一個懸空等待模塊設(shè)置為2秒;然后停止馬達(dá);那么這個程序的功能為:當(dāng)碰撞開關(guān)碰到時馬達(dá)一正轉(zhuǎn)兩秒,然后停止;當(dāng)沒碰到時則不運(yùn)行任何程序。2、 Else-If嵌套選擇結(jié)構(gòu)模塊Else-If條件,必須與IF模塊結(jié)合才能使用,表示和IF模塊的條件相反,
32、也可自定義條件1.選擇變量2.選擇變量運(yùn)算符號3.設(shè)置變量的表達(dá)式3、 Else模塊Else條件,必須與IF模塊結(jié)合才能使用,默認(rèn)表示和IF模塊的條件相反,不能自定義條件1.只能注釋4、雙向選擇結(jié)構(gòu) If-ElseIF-Else既IF模塊和Else模塊的結(jié)合體,只要符合設(shè)定的條件,將運(yùn)行if里面的程序。如果不符合設(shè)定的條件, 它將跳過表達(dá)式IF條件部分,執(zhí)行Else里面的程序。它只執(zhí)行一次程序,沒有循環(huán)功能 2.選擇變量運(yùn)算符號1.選擇變量3.設(shè)置變量的表達(dá)式雙向選擇結(jié)構(gòu) If-ElseIf-Else條件編程范例:以編碰撞開關(guān)為例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊
33、(Variables)里面定義了一個變量a,接著拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為數(shù)字1,構(gòu)成永遠(yuǎn)循環(huán),然后拖入一個碰撞檢測模塊,再拖入If-Else模塊,再if條件里面設(shè)置a=1,在if語句里面拖入一個馬達(dá)模塊設(shè)置為正轉(zhuǎn);在else語句里面拖入一個馬達(dá)模塊設(shè)置為停止;那么這個程序的功能為:當(dāng)碰撞開關(guān)沒碰到時馬達(dá)一正轉(zhuǎn),當(dāng)碰撞開關(guān)碰到時就執(zhí)行Else里面的停止馬達(dá)3、當(dāng)循環(huán)While Loop只要符合設(shè)定的條件,當(dāng)循環(huán)將不停的重復(fù)執(zhí)行其語句內(nèi)部的程序。如果不符合設(shè)定的條件,它將跳出循環(huán),執(zhí)行循環(huán)外部的模塊。給它設(shè)置條件時,它構(gòu)成的時條件循環(huán),即不滿足條件的時候,它還能跳出該循環(huán);當(dāng)把條件設(shè)置成數(shù)字
34、1的時候,它則構(gòu)成了一個永遠(yuǎn)循環(huán),即永遠(yuǎn)都運(yùn)行其內(nèi)部的程序。 在遙控編程的時候需要用到永遠(yuǎn)循環(huán)。1.選擇變量2.選擇變量運(yùn)算符號3.設(shè)置變量的表達(dá)式當(dāng)循環(huán)While Loop當(dāng)循環(huán)模塊編程范例1:以編碰撞開關(guān)為例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個碰撞檢測模塊,再拖入當(dāng)循環(huán)模塊,條件里面設(shè)置a=1,表示碰撞開關(guān)處在斷開的狀態(tài),在當(dāng)循環(huán)里面拖入一個馬達(dá)模塊設(shè)置為正轉(zhuǎn),再拖入一個碰撞檢測模塊,屬性和當(dāng)循環(huán)外面的碰撞檢測模塊的屬性一樣,;在當(dāng)循環(huán)外面拖入一個馬達(dá)模塊設(shè)置為停止;那么這個程序的功能為:當(dāng)碰撞開關(guān)沒碰到時
35、馬達(dá)一正轉(zhuǎn),直到碰撞開關(guān)碰到時,馬達(dá)1才停止當(dāng)循環(huán)While Loop當(dāng)循環(huán)模塊編程范例2:右邊每一個模塊的屬性在后面的注釋里面都有說明首先拖入當(dāng)循環(huán)模塊,在當(dāng)循環(huán)條件里面輸入數(shù)字1,表示永遠(yuǎn)循環(huán)運(yùn)行當(dāng)循環(huán)內(nèi)部冊程序;在當(dāng)循環(huán)里面拖入一個馬達(dá)模塊設(shè)置為正轉(zhuǎn);那么這個程序的功能為:馬達(dá)1永遠(yuǎn)正轉(zhuǎn)4、多次循環(huán)For Loop1.選擇變量,并設(shè)置變量的初始值,如變量是a,初始值為0,那么這里就該設(shè)置:a=02.設(shè)置循環(huán)次數(shù),表示需要運(yùn)行FOR語句里面的程序多少次,如變量是a,要循環(huán)運(yùn)行一段程序10次,那么這里就該設(shè)置:a=103.選擇運(yùn)算符號,這里選擇+,意思是:使變量做自加運(yùn)算,即變量運(yùn)行完一次,
36、便在原來的基礎(chǔ)上在加1,加1以后,程序就會在運(yùn)行一次,直到運(yùn)行完前面設(shè)置的10次,它才停止自加運(yùn)算;如變量是a,那么這里里就該設(shè)置:a+多次循環(huán)For Loop多次循環(huán)For Loop模塊編程范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個FOR模塊,條件設(shè)置為for條件設(shè)置為 a = 0; a = 3; a + ,表示變量a初始值為0,做自加運(yùn)算,直到a的值等于3才跳出for條件;接著拖入一個懸空等待模塊,設(shè)置為2秒,最后拖入一個馬達(dá)模塊,停止馬達(dá)1;那么該程序的功能為:馬達(dá)1正轉(zhuǎn)6秒后停止5、定時器Timer定時器
37、Timer相當(dāng)于一個預(yù)先放置在主控器內(nèi)部的時間傳感器,它需要預(yù)先定義變量才能使用,可以控制程序的執(zhí)行時間,懸空等待只能延續(xù)馬達(dá)的啟動時間定時器的單位為毫秒100表示0.1秒1000表示1秒10000表示10秒以此類推1.選擇開始,“開始”命令定時器開始計時。 2.選擇定時器的編號定時器Timer3.選擇預(yù)設(shè),“預(yù)設(shè)”命令允許用戶給定時器預(yù)設(shè)一個固定的值或預(yù)先定義好的變量。 6.選擇取值,“取值”命令允許用戶把來自定時器的反饋值賦給一個變量。 4.選擇編號5.選擇變量7.選擇編號8.選擇變量定時器Timer定時器Timer編程范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(
38、Variables)里面定義變量a和變量b,然后拖入一個定時器模塊選擇開始,賦值給變量a;接著拖入一個定時器模塊,選擇預(yù)設(shè),賦值給變量a;在拖入一個定時器模塊,選擇取值,賦值給變量a;然后拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為a=5000表示定時器變量小于等于5秒,當(dāng)循環(huán)里面拖如一個馬達(dá)模塊,正轉(zhuǎn)1秒,然后停止1秒,最后在次賦值;這個程序的功能為:定時器時間小于等于5秒就執(zhí)行其內(nèi)部的馬達(dá)正轉(zhuǎn)1秒然后停止1秒,當(dāng)定時器的時間大于5秒時就跳出當(dāng)循環(huán)6、懸空等待Wait懸空等待模塊,在指定的時間段里,延長上一個模塊的執(zhí)行時間。這段時間以微秒計時。即100表示0.1秒1000表示1秒10000表示10秒以此類
39、推懸空等待Wait懸空等待Wait模塊編程范例:右邊每一個模塊的屬性在后面的注釋里面都有說明以編馬達(dá)為例,首先拖入一個馬達(dá)模塊,設(shè)置為正轉(zhuǎn);然后拖入以個懸空等待模塊,設(shè)置為3秒,最后拖入一個馬達(dá)模塊設(shè)置為停止;那么該程序的功能為:馬達(dá)1正轉(zhuǎn)3秒停止。7、表達(dá)式賦值A(chǔ)ssignment表達(dá)式賦值A(chǔ)ssignment模塊相當(dāng)于一個通用模塊,你可以在里面輸入任何條件對變量進(jìn)行運(yùn)算或者輸入任何代碼來代替任何模塊的功能; 你能夠?yàn)橐粋€變量設(shè)置一個明確的值,例如: bumper=0 你能夠定義一個數(shù)學(xué)表達(dá)式,例如: x + y=z 8、中斷Break中斷模塊功能常用在當(dāng)循環(huán)或者IF條件中,表示當(dāng)程序運(yùn)行到
40、中斷模塊處,不管它后面還有沒有模塊,或者不管滿不滿足條件,它都會跳到當(dāng)循環(huán)或IF條件的后面,執(zhí)行它們后面的程序只能對該模塊做對你修改和查閱程序有幫助的注釋說明書簽!中斷Break中斷Break編程范例1:右邊每一個模塊的屬性在后面的注釋里面都有說明雖然程序一開始設(shè)置的是一個永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來,但是加了中斷模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),啟動馬達(dá)1正轉(zhuǎn)2秒,然后停止2秒,接著就馬上中斷當(dāng)循環(huán)條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達(dá)1反轉(zhuǎn)1秒,然后停止。中斷Break中斷Break編程范例2:右邊每一個模塊的屬性在后面的注釋里面都
41、有說明雖然程序一開始設(shè)置的是一個永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來,但是加了中斷模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),檢測碰撞,如果碰撞沒碰到,就啟動馬達(dá)1正轉(zhuǎn),如果碰撞開關(guān)閉合,程序就馬上中斷當(dāng)循環(huán)條件,跳到當(dāng)循環(huán)的下面,執(zhí)行下面的馬達(dá)1反轉(zhuǎn)1秒,然后停止。9、繼續(xù)Continue繼續(xù)Continue:跳到循環(huán)的條件判斷處,從新判斷只能對該模塊做對你修改和查閱程序有幫助的注釋說明繼續(xù)Continue繼續(xù)Continue模塊編程范例:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,首先拖入
42、一個碰撞檢測模塊,然后拖入一個當(dāng)循環(huán)模塊,設(shè)置為a=1,表示碰撞開關(guān)斷開,然后拖入一個馬達(dá)模塊,設(shè)置為正轉(zhuǎn),在拖入一個懸空等待模塊,設(shè)置為3秒,在停止馬達(dá),在拖入一個繼續(xù)模塊,然后拖入馬達(dá),設(shè)置為反轉(zhuǎn),延時3秒,然后停止;那么該程序的功能為:當(dāng)碰撞開關(guān)沒碰到的時候就進(jìn)入循環(huán),然后馬達(dá)1正轉(zhuǎn)3秒停止,接著就跳到當(dāng)循環(huán)的條件判斷處,從新判斷,而不執(zhí)行繼續(xù)模塊后面的馬達(dá)1反轉(zhuǎn)3秒這段程序。10、返回Return返回模塊的功能是跳到程序的結(jié)尾處,不管它后面有沒有程序,它都不執(zhí)行,直接跳到程序的結(jié)束位置只能對該模塊做對你修改和查閱程序有幫助的注釋說明自定義代碼返回參數(shù)返回Return返回Return編程
43、范例:右邊每一個模塊的屬性在后面的注釋里面都有說明雖然程序一開始設(shè)置的是一個永遠(yuǎn)循環(huán),理論上是永遠(yuǎn)都運(yùn)行當(dāng)循環(huán)里面的程序,永遠(yuǎn)都跳不出來,但是加了返回模塊以后,程序的功能就變化了;該程序功能為:程序進(jìn)入當(dāng)循環(huán),啟動馬達(dá)1正轉(zhuǎn)3秒,接著就馬上執(zhí)行返回模塊,跳到程序的結(jié)束位置。當(dāng)循環(huán)外面的程序也不會執(zhí)行了。但是由于在返回前面沒有停止馬達(dá)1,所以返回執(zhí)行以后,馬達(dá)1仍然會繼續(xù)轉(zhuǎn)動11、屏幕輸出Print To Screen屏幕輸出模塊(Print To Screen)主要是用來顯示用戶需要檢測的和主控器連接在一起的電子元件的當(dāng)前參數(shù);打開VEX編程軟件英文版的安裝目錄:一般默認(rèn)的路徑是C:Progr
44、am FilesIntelitek;快速找到它的安裝位置的方法是在桌面右鍵點(diǎn)擊VEX編程軟件的圖標(biāo)屬性快捷方式查找目標(biāo);接著打開ProjectsProjectsTest Code這個文件夾就可以查看如何使用屏幕輸出模塊(Print To Screen)進(jìn)行編程;接著把要檢測的傳感器的程序下載到主控器,在不關(guān)閉主控器電源并且下載線也和主控器相連接的情況下,點(diǎn)擊 圖標(biāo)然后該窗口里面就可以顯示出當(dāng)前電子元件檢測到的參數(shù)值。:這是具有C程序經(jīng)驗(yàn)的高級用戶的一個選項(xiàng)。對于大多數(shù)的定義變量缺省為%d。 1.設(shè)置要顯示在屏幕輸出窗口上的內(nèi)容,如定義的變量為a,那么就可以輸入a=,那么顯示的時候等號后面的數(shù)值
45、就是檢測到的值屏幕輸出Print To Screen2.選擇屏幕輸出模塊要檢測的變量,既是說要把哪一個變量的值顯示到屏幕上3.選擇格式,這一項(xiàng)是具有C語言編程經(jīng)驗(yàn)的用戶的一個選項(xiàng)。對于大多數(shù)的用戶只需要選擇%d。 4.選擇類型,這一項(xiàng)也是具有C語言編程經(jīng)驗(yàn)的用戶的一個選項(xiàng)。對于大多數(shù)的用戶只需要選擇int。 屏幕輸出Print To Screen屏幕輸出Print To Screen模塊編程范例1:右邊每一個模塊的屬性在后面的注釋里面都有說明首先在變量定義模塊(Variables)里面定義了一個變量a,然后拖入一個當(dāng)循環(huán)模塊,條件為數(shù)字1,然后在當(dāng)循環(huán)里面拖入一個碰撞檢測模塊,選擇變量a,然后
46、拖入一個屏幕輸出模塊,屏幕輸出模塊的變量為預(yù)先定義的變量a,格式一般為%d,類型為int,輸出內(nèi)容為a=把該程序下載到主控器后,不關(guān)閉電源,也不取掉下載線,然后點(diǎn)終端,就可以顯示當(dāng)前碰撞檢測到的數(shù)據(jù)12、程序注釋Comment對程序做對你修改和查閱有幫助的說明或注釋,中文版1.0不能中文注釋,英文版1.0和2.0可以中文注釋,中文2.0可以中文注釋;源碼注釋被編譯器忽略。 13、自定義代碼User Code自定義代碼User Code:可以替代任何模塊,比如馬達(dá)模塊的代碼是SetMotor ( 1 , 255 ) ;那么只要在自定義代碼User Code模塊里面鍵入馬達(dá)的代碼,那么它就表示一個
47、馬達(dá)模塊;這個模塊為熟悉C語言的用戶設(shè)計。為了編譯器能夠正確編譯代碼,你必須正確使用語法。對于C 語言的信息請自行參閱C 語言的相關(guān)指導(dǎo)書。 鍵入自定義的代碼十一、RC Control遙控通道控制1、遙控器按鍵說明這里插晶體1、左操縱桿9、電源開關(guān)2、左操縱桿縱向微調(diào)(通道3)10、LCD顯示屏3、左操縱桿橫向微調(diào)(通道4)11、數(shù)字選擇設(shè)定鍵4、控制方法設(shè)定鍵12、信號頻率振蕩器(晶體)5、控制方法選擇鍵13、通道6按鍵16、右操縱14、通道6按鍵27、右操縱桿縱向微調(diào)(通道2)15、通道5按鍵18、右操縱桿縱向微調(diào)(通道1)16、通道5按鍵2打開電池蓋這里放電池2、遙控器的基本操作遙控器的
48、操控桿是有兩種模式配置的. 請看以下指示來查看或轉(zhuǎn)換:(1) 把遙控器的開關(guān)推到ON的位置來啟動遙控器(2) 同時按下Mode 及 Select 鈕直至液晶屏顯示出菜單畫面為止.(3) 按Mode鈕直到有”Drive”字出現(xiàn)在液晶屏的左方(是最后的菜單)來進(jìn)入驅(qū)動模式調(diào)節(jié)菜單.(4) 目前的設(shè)定會顯示在液晶屏里, 顯示內(nèi)容是”23”或”12”. 你利用LCD右邊的數(shù)據(jù)輸入按鈕“+ ”或“ ”推上或推下來轉(zhuǎn)換模式.。3、遙控接收器接法示意圖這里插晶體4、遙控最優(yōu)系統(tǒng)搭配+6通道數(shù)字比例遙控器,與Futaba 6通道遙控器全面兼容接收器控制器最優(yōu)系統(tǒng)搭配遙控、程控、線控多種控制方式。使用兩個遙控器
49、同時控制不同的機(jī)器人時,你必須使用兩種不同的晶體RF頻率。在基本套裝里只有一種頻率的晶體;在晶體升級套裝里可以獲得更多的不同頻率的晶體。 遙控最優(yōu)系統(tǒng)搭配可更換晶振,多通道輸入,可實(shí)現(xiàn)單機(jī)器人雙遙控,增添操控和競賽樂趣。雙接收器雙遙控器主控器5、單桿控制雙馬達(dá)Arcade-2 motor單桿控制雙馬達(dá)指的是遙控器的一個操縱桿控制兩個馬達(dá)同時轉(zhuǎn)或同時停,這樣兩個馬達(dá)轉(zhuǎn)動的速度不論快慢,都是一致的,就不會因?yàn)槭值牧α繂栴}而使兩個馬達(dá)轉(zhuǎn)動的速度不一樣1.這里一般選自動2.選擇遙控器控制小車前進(jìn)后退的控制通道3.選擇遙控器控制小車左右轉(zhuǎn)彎的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左
50、右馬達(dá)轉(zhuǎn)動的正反方向單桿控制雙馬達(dá)Arcade-2 motor單桿控制雙馬達(dá)編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙控器發(fā)射出來的信號;然后在當(dāng)循環(huán)里面拖入一個單桿控制雙馬達(dá)模塊,前進(jìn)后退選擇1,旋轉(zhuǎn)選擇3,馬達(dá)通道則選擇1和2;那么該程序的功能就是:遙控器控制馬達(dá)1和2同時轉(zhuǎn)動;遙控器的1通道控制前進(jìn)后退;遙控器的3通道控制旋轉(zhuǎn)6、單桿控制四馬達(dá)Arcade-4 motor單桿控制四馬達(dá)指的是遙控器的一個操縱桿控制四個馬達(dá)同時轉(zhuǎn)或同時停,這樣四個馬達(dá)轉(zhuǎn)動的速度不論快慢,都是一致的,就不會因?yàn)槭值牧α繂栴}而使四個馬達(dá)轉(zhuǎn)動的速度不一樣1.這里一般選自
51、動2.選擇遙控器控制小車前進(jìn)后退的控制通道3.選擇遙控器控制小車左右轉(zhuǎn)彎的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動的正反方向單桿控制四馬達(dá)Arcade-4 motor單桿控制四馬達(dá)編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙控器發(fā)射出來的信號;然后在當(dāng)循環(huán)里面拖入一個單桿控制四馬達(dá)模塊,前進(jìn)后退選擇1,旋轉(zhuǎn)選擇3,馬達(dá)通道則選擇1.2.3.4;那么該程序的功能就是:遙控器控制馬達(dá)1.2.3.4同時轉(zhuǎn)動;遙控器的1通道控制前進(jìn)后退遙控器的3通道控制旋轉(zhuǎn)7、雙桿控制雙馬達(dá)Arcade-2 motor雙桿控制雙馬達(dá)指的是遙控器
52、的兩個操縱桿控制兩個馬達(dá)轉(zhuǎn)或停,這樣兩個馬達(dá)轉(zhuǎn)動的速度不論快慢,都有可能不一致,就會因?yàn)槭值牧α繂栴}而使兩個馬達(dá)轉(zhuǎn)動的速度不一樣1.這里一般選自動2.選擇遙控器控制小車左邊馬達(dá)的控制通道3.選擇遙控器控制小車右邊馬達(dá)的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動的正反方向雙桿控制雙馬達(dá)Arcade-2 motor雙桿控制雙馬達(dá)編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙控器發(fā)射出來的信號;然后在當(dāng)循環(huán)里面拖入一個雙桿控制雙馬達(dá)模塊,左馬達(dá)選擇1,右馬達(dá)選擇3,馬達(dá)通道則選擇1和2;那么該程序的功能就是:遙控器控制馬達(dá)1和2轉(zhuǎn)
53、動;遙控器的1通道控制馬達(dá)1遙控器的3通道控制馬達(dá)28、雙桿控制四馬達(dá)Arcade-4 motor雙桿控制四馬達(dá)指的是遙控器的兩個操縱桿控制四個馬達(dá)轉(zhuǎn)或停,即一個操縱桿控制兩個馬達(dá);這樣四個馬達(dá)轉(zhuǎn)動的速度不論快慢,都有可能不一致,就會因?yàn)槭值牧α繂栴}而使四個馬達(dá)轉(zhuǎn)動的速度不一樣1.這里一般選自動2.選擇遙控器控制小車左邊兩個馬達(dá)的控制通道3.選擇遙控器控制小車右邊兩個馬達(dá)的控制通道4.選擇小車左右馬達(dá)連接在主控器上的通道5.選擇小車左右馬達(dá)轉(zhuǎn)動的正反方向雙桿控制四馬達(dá)Arcade-4 motor雙桿控制四馬達(dá)編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙
54、控器發(fā)射出來的信號;然后在當(dāng)循環(huán)里面拖入一個雙桿控制四馬達(dá)模塊,左馬達(dá)選擇1,右馬達(dá)選擇3,馬達(dá)通道則選擇1.2.3.4 ;那么該程序的功能就是:遙控器控制馬達(dá)1.2.3.4轉(zhuǎn)動;遙控器的1通道控制馬達(dá)1.2,遙控器的3通道控制馬達(dá)3.49、單桿控制單馬達(dá)Motor Module Rx單桿控制單馬達(dá)指的是遙控器的一個操縱桿控制一個馬達(dá)轉(zhuǎn)或停1.這里一般選自動2.選擇遙控器控制馬達(dá)的控制通道3.選擇馬達(dá)連接在主控器上的通道4.選擇馬達(dá)轉(zhuǎn)動的正反方向單桿控制單馬達(dá)Motor Module Rx單桿控制單馬達(dá)編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙控器發(fā)
55、射出來的信號;然后在當(dāng)循環(huán)里面拖入一個單桿控制單馬達(dá)模塊,遙控器控制通道選擇1,馬達(dá)通道則選擇1;那么該程序的功能就是:遙控器的1通道控制馬達(dá)1轉(zhuǎn)動10、單桿控制伺服器Servo Module Rx1.這里一般選自動2.選擇遙控器控制伺服器的控制通道3.選擇伺服器連接在主控器上的通道4.選擇伺服器轉(zhuǎn)動的正反方向單桿控制伺服器指的是遙控器的一個操縱桿控制一個伺服器轉(zhuǎn)或停單桿控制伺服器Servo Module Rx單桿控制伺服器編程范例:首先拖入一個當(dāng)循環(huán)模塊,條件設(shè)置為1,構(gòu)成一個永遠(yuǎn)循環(huán),這樣使它永遠(yuǎn)都檢測遙控器發(fā)射出來的信號;然后在當(dāng)循環(huán)里面拖入一個單桿控制伺服器模塊,遙控器控制通道選擇1,
56、伺服器通道則選擇1;那么該程序的功能就是:遙控器的1通道控制伺服器1轉(zhuǎn)動11、遙控通道Rx Input使用遙控輸入功能模塊得到一個Rx1或Rx2通道的反饋值,并將其存儲于一個變量;12、脈寬調(diào)制PWM Control在競賽模型里,使用脈寬調(diào)制控制模塊控制馬達(dá)端口的脈寬調(diào)制值。你可以使用一組值或預(yù)先定義的變量。 你能夠使用脈寬調(diào)制控制: 在遙控控制模式如果遙控器沒有發(fā)送信號的情況下,可以開啟一個馬達(dá)給其一組脈寬調(diào)制值。 使其運(yùn)轉(zhuǎn)。 混合發(fā)送器信號,構(gòu)造一個程序,像單桿控制模塊。 在競賽模式下,控制帶有一個行程開關(guān)的馬達(dá)行進(jìn)。 參看Project夾里ARMLIMITSAMPLE.ECP 工程。 1
57、3、用戶自定義函數(shù)User Functions用戶自定義函數(shù)User Functions即通常說的子函數(shù)或子程序;其主要作用在于可以簡化主程序、簡化編程步驟等右圖為新建的子函數(shù)窗口可以在其開始模塊和結(jié)束模塊之間進(jìn)行編程操作,如果需要使用傳感器,那么可以在其局部變量里面設(shè)置局部變量編程區(qū)C語言代碼區(qū)用戶自定義函數(shù)User Functions模塊編程操作步驟1.右鍵單擊模塊區(qū)最下面的用戶自定義函數(shù)2.左鍵選擇新增自定義函數(shù)點(diǎn)這里可以打開已經(jīng)保存的子函數(shù)3.選擇子函數(shù)的返回類型,void為不返回任何參數(shù)4.為子函數(shù)命名,必須為英文字母用戶自定義函數(shù)User Functions模塊編程操作步驟5.接著就可以在子程序的編程區(qū)里面自行編制程序了;編好程序后直接關(guān)閉子程序就行了,它已自動保6.然后在軟件的模塊區(qū)最下面的用戶自定義函數(shù)的下面就會顯示你當(dāng)前的子函數(shù)在相應(yīng)子函數(shù)圖標(biāo)上點(diǎn)右鍵,可以打開子程序的編程窗口,也可以對子程序進(jìn)行復(fù)制、刪除等操作用戶自定義函數(shù)User Functions模塊編程操作步驟7.然后選中子程序,點(diǎn)右鍵拖動到主程序的開始模塊和結(jié)束模塊之間放開鼠標(biāo)會顯示如下圖窗口,確定即可9.到這里就成功引用子函數(shù)到主程序里面了,主程序里面就會出現(xiàn)子函數(shù)的模塊圖標(biāo),那么程序就會依次執(zhí)行子
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年商業(yè)廣告燈箱安裝施工合同
- 2025年度大曰金地產(chǎn)樓盤銷售代理合同全案策劃執(zhí)行合同4篇
- 2025年私人住房買賣合同書含物業(yè)管理服務(wù)條款范本2篇
- 2025年度高端鈦礦資源批量采購合同
- 二零二五版鍋爐設(shè)備買賣合同附安全使用操作手冊3篇
- 2025年度醫(yī)療設(shè)備租賃合同擔(dān)保與維修保養(yǎng)服務(wù)范本4篇
- 二零二五年度屋頂防水隔熱一體化合同
- 2025年BEC商務(wù)英語專業(yè)課程研發(fā)與授權(quán)使用合同3篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施用地租賃合同3篇
- 預(yù)應(yīng)力專項(xiàng)施工方案
- 三年級數(shù)學(xué)寒假作業(yè)每日一練30天
- 二年級數(shù)學(xué)上冊100道口算題大全 (每日一套共26套)
- 總住院醫(yī)師管理制度
- 八年級上冊歷史 第二單元 社會主義制度的建立與社會主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
- 訴前車輛保全申請書(5篇)
- 醫(yī)院后勤保障管理組織架構(gòu)圖
- 課件:TTT職業(yè)培訓(xùn)師課程
評論
0/150
提交評論