本教程介紹了如何使用 Java 語言對(duì) Lego Mindstorms NXT 機(jī)器人編程。教程步驟詳細(xì)并配以大量圖片說明,適合準(zhǔn)備使用Java語言在 Lego Mindstorms NXT (下文簡(jiǎn)稱為:NXT)上編程的初學(xué)者。(注:教程中圖片均截自 WindowsXP 操作系統(tǒng)) 7 d; ^5 ?* p: E7 P教程分為以下4個(gè)步驟: 7 X/ U4 i$ Z' y) m* f2 ]第一步 安裝 Java 開發(fā)工具包如果你的計(jì)算機(jī)上已經(jīng)安裝 JDK1.5 或更高的版本,并配置了所需的環(huán)境變量(這里指 JAVA_HOME 與 PATH )那么你可以直接進(jìn)入第二步: 安裝樂高 USB 驅(qū)動(dòng)程序。下面介紹安裝、配置 JDK 的過程: # ~+ o* A1 B, F9 ~9 ?. l首先登陸到 Sun 公司的官方網(wǎng)站下載 Java 開發(fā)工具包,這里要求你下載并安裝 JDK1.5 或更高的版本,因?yàn)樽钚掳娴?Lejos NXJ (Version 0.6)需要在 JDK1.5 或更高版本上方可運(yùn)行。而且在后續(xù)的教程中,還會(huì)介紹如何借助 Eclipse3.3 平臺(tái)開發(fā) NXT 的 java 程序,同樣運(yùn)行 Eclipse3.3 也需要 JDK1.5 或更高的版本的支持。下面以下載安裝 JDK1.5 為例,你也可以選擇下載安裝其他 更高的版本。注:在安裝 JDK 的同時(shí) JRE 也會(huì)被一同安裝。 - 進(jìn)入 JDK 下載頁(yè)面,點(diǎn)擊 Download。
# I d- _ h4 @5 K - 選擇 Windows 操作系統(tǒng)和默認(rèn)的多國(guó)語言(Multi-Language),然后點(diǎn)擊 Continue(下一步)。
& x$ f: Y6 D9 y) U# t- e) i, w - 點(diǎn)擊 jdk1.5 下載鏈接,將安裝文件保存至本地。
, a& N; X/ E1 y5 e1 K; ?4 e2 { - 下載完成后,運(yùn)行剛剛下載的安裝程序,開始安裝 JDK。安裝過程中會(huì)提示安裝 JDK 和 JRE ,根據(jù)提示選擇你所要安裝的程序,這里我們默認(rèn)安裝全部功能,點(diǎn)擊 下一步 繼續(xù)運(yùn)行安裝程序即可。1 c7 N+ z: T. i* }8 e4 K
- 安裝成功后會(huì)提示安裝完成,點(diǎn)擊 完成 按鈕結(jié)束 JDK 的安裝。, K* w- {% }7 C4 u$ ]! ^6 { q5 A' D4 E
- 下面設(shè)置 Java 的環(huán)境變量,首先在 我的電腦 上點(diǎn)擊右鍵,選擇屬性。- j8 @) a" ~: J1 }6 _& O
- 在 系統(tǒng)屬性 窗口中選擇高級(jí)選項(xiàng)卡,點(diǎn)擊下面的環(huán)境變量按鈕,彈出環(huán)境變量窗口。
2 t- z g. n B; j - 這里需要新建一個(gè)環(huán)境變量“JAVA_HOME”和修改一個(gè)環(huán)境變量“Path”。在環(huán)境變量窗口中點(diǎn)擊新建按鈕添加環(huán)境變量。
* }' P: {+ e5 @ - 在彈出的新建系統(tǒng)變量對(duì)話框中,設(shè)置變量名為: JAVA_HOME
9 r, T& n Z* C& H$ h# c" H& ^. u. o變量值為 JDK 的安裝目錄,如果是默認(rèn)安裝則應(yīng)為: C:\Program Files\Java\jdk1.5.0_156 Z# s0 X% K x7 u 填寫完成后點(diǎn)擊 確定 按鈕,關(guān)閉對(duì)話框。 ; L( D. O7 e8 i - 再選中環(huán)境變量 Path,然后點(diǎn)擊編輯按鈕,彈出 編輯系統(tǒng)變量 對(duì)話框。在變量值后追加 JDK 的執(zhí)行文件目錄(安裝目錄下的 bin 目錄) ;%JAVA_HOME%\bin# _! F) ~9 c, k. ~' r7 w3 j7 i
編輯完成后點(diǎn)擊確定,關(guān)閉對(duì)話框。注:多個(gè)環(huán)境變量值要用 ; 號(hào)隔開。" x2 Y3 _5 \& z; {6 a - 環(huán)境變量設(shè)置完成后點(diǎn)擊環(huán)境變量窗口的確定按鈕保存設(shè)置結(jié)果。接下來驗(yàn)證剛剛設(shè)置的環(huán)境變量是否生效。首先打開 命令提示符 打開方法:開始=>程序=>附件=>命令提示符。9 X# `, k: O1 {/ r+ E! o& I
- 在命令行中輸入執(zhí)行(回車) javac3 i6 t8 M- G3 `- n% B
如果命令窗口中出現(xiàn)下圖中的提示信息則說明環(huán)境變量設(shè)置成功,這樣 JDK 的安裝和配置到此結(jié)束。5 _4 x7 ^$ J+ Z' ]! ` 7 _& `$ d% x+ p& B4 @+ g! _: N第二步 安裝樂高 USB 驅(qū)動(dòng)程序如果你的計(jì)算機(jī)上已經(jīng)安裝了 LEGO 隨機(jī)附帶的 LEGO MINDSTORMS NXT 軟件那么你可以直接進(jìn)入教程第三步: Lejos 的安裝 ,因?yàn)?LEGO MINDSTORMS NXT 軟件的安裝過程中已經(jīng)包含了下面所要安裝的 USB 驅(qū)動(dòng)程序。 - 登陸樂高官方網(wǎng)站下載最新的驅(qū)動(dòng)程序。
$ V4 ^) v4 a+ \" p# @$ v( L; C - 下載完成后將壓縮包解壓,執(zhí)行里面的 setup.exe 安裝 USB 驅(qū)動(dòng)程序。; C; R8 T" c$ L& s' S
- 驅(qū)動(dòng)安裝完成后會(huì)提示你重新啟動(dòng)計(jì)算機(jī),點(diǎn)擊 Restart 重新啟動(dòng)計(jì)算機(jī)。$ I; Z z1 e. k" T# x
- 下面驗(yàn)證驅(qū)動(dòng)安裝是否正確,計(jì)算機(jī)重新啟動(dòng)后用 USB 線將 NXT 與電腦連接,確認(rèn)連接后啟動(dòng) NXT。右鍵單擊 我的電腦 選擇 屬性 。選擇 硬件 選項(xiàng)卡,點(diǎn)擊 設(shè)備管理器,如果在硬件列表中查看到 Lego Devices => Lego Mindstorms NXT ,這說明 LEGO USB 驅(qū)動(dòng)已經(jīng)成功的安裝在你的計(jì)算機(jī)上。
# d- q7 F1 J; [, |( z $ X' v6 D7 [' U, Z第三步 安裝 Lejos - 登陸 Lejos 主頁(yè)點(diǎn)擊 NXT 圖片進(jìn)入 Lejos 下載頁(yè)面,點(diǎn)擊 NXJ 的下載鏈接。$ R# P- U% H- f+ z) P& ~
- 下載完成后將下載的壓縮包解壓到指定文件夾。這里注意你所指定的文件夾路徑中不要包含空格,比如: C:\Program Files\legos
' w4 L, \) V) f4 o, c這個(gè)路徑就不正確,因?yàn)槲募A“Program Files”中包含了一個(gè)空格。在使用 Java 開發(fā)的過程中空格總會(huì)引起這樣或那樣的問題,所以為了避免不必要的麻煩保存路徑中一定不要包含任何空格。下面添加運(yùn)行 Lejos 所需要的系統(tǒng)環(huán)境變量,變量添加的方法與添加 JDK 環(huán)境變量的方法相同,請(qǐng)參照第一步中的方法打開環(huán)境變量窗口進(jìn)行設(shè)置。: ]: a: P C9 s$ z: C 添加環(huán)境變量: NXJ_HOME; A# L) Q+ {" @3 H7 p. n5 K+ S- L 環(huán)境變量值是 Lejos 的安裝目錄,即解壓后 lejos_nxj 的全路徑,注意路徑中不能包含空格。這里我們解壓到目錄: C:\lejos_nxj% x: K0 a( x& F/ T) c3 B2 F3 R 完成后點(diǎn)擊確定。0 T* j4 C* A4 q$ P - 向環(huán)境變量 Path! A: {, _0 r" i, S: S6 U( |
的變量值后追加 ;%NXJ_HOME%\bin 9 c+ O6 B/ p8 t4 q確定后保存設(shè)置結(jié)果。! ~$ Y4 P# s: e8 x+ M5 S$ L: p - 打開 命令提示符,執(zhí)行命令 nxj/ w+ M; P* M+ T5 j9 n9 D
如果窗口中出現(xiàn)下圖提示信息,說明環(huán)境變量已經(jīng)設(shè)置生效。這里還要注意:要在完成設(shè)置以后,重新打開一個(gè) 命令提示符 窗口,否則所設(shè)置的環(huán)境變量在命令提示符中不能生效。; @0 w: K: y% H, w0 Y$ J' u - 因?yàn)?Lejos 需要使用 Libusb 與 NXT 進(jìn)行通訊所以接下來我們來安裝 Libusb。Libusb 的安裝文件可以在 Lejos 的安裝目錄下 lejos_nxj\3rdparty\lib! R, l x$ i; H8 H& w
里找到,運(yùn)行 Libusb 的安裝程序 libusb-win32-filter-bin-0.1.12.1.exe ,點(diǎn)擊 Install 開始安裝。) [$ ?% q+ f/ V" n! e, Z - 安裝完成后默認(rèn)執(zhí)行測(cè)試程序(Test Program)。. J2 C- S9 V6 W- V# B& G3 G
- 接下來就要在 NXT 上安裝 Lejos 系統(tǒng)了。注意當(dāng)你安裝 Lejos 后 NXT 原來的標(biāo)準(zhǔn)系統(tǒng)將被覆蓋,NXT 中所有的數(shù)據(jù)也將全部刪除,所以開始安裝前一定要備份好有用的數(shù)據(jù)。如果想重新安裝 NXT 默認(rèn)的操作系統(tǒng)你可以使用 LEGO Mindstorms software 重新安裝 LEGO 的標(biāo)準(zhǔn)系統(tǒng)(具體步驟請(qǐng)參照 Lego 玩具說明書)?,F(xiàn)在確認(rèn)你的 NXT 已經(jīng)打開,用曲別針或牙簽(個(gè)人覺得牙簽比曲別針更方便更易取得)持續(xù)按下 NXT 主機(jī)背面的重啟按鈕大于4秒鐘,NXT 即進(jìn)入了固件上載模式(firmware upload mode),這個(gè)模式下就可以刷新 NXT 的操作系統(tǒng)了。
z; [8 f% J, @4 ` - 進(jìn)入固件上載模式后屏幕什么也不顯示并連續(xù)發(fā)出微弱的滴答聲?,F(xiàn)在用 USB 線連接 NXT 和計(jì)算機(jī),當(dāng)計(jì)算機(jī)識(shí)別 NXT 的固件上載模式后。在 命令提示符 執(zhí)行命令 nxjflash
1 k8 V- i4 ]0 D7 }* R4 ?/ n C7 O開始上載 Lejos ,待上載完成后 Lejos NXJ 會(huì)自動(dòng)啟動(dòng),出現(xiàn)歡迎界面與開始菜單。在 Lejos 運(yùn)行的過程中,包括正在運(yùn)行程序時(shí),同時(shí)按下桔色和灰色的按鈕(Enter+Space)就可以立即將 NXT 關(guān)閉。如果要重新啟動(dòng)只要按下桔黃色的按鈕。如果 NXT 突然死機(jī)的話,將電池全部取出后重新安上啟動(dòng)即可。7 Q0 {9 |' W5 `# A+ f $ ?1 E. I2 s% I8 Z/ a第四步 編寫、上載和運(yùn)行的你第一個(gè)程序 - 打開記事本,打開方法:開始=>程序=>附件=>記事本。
1 q+ k( |* t* Z6 P1 f3 g# z - 在已經(jīng)打開的記事本中輸入如下的代碼: import lejos.nxt.*;
3 z& d( m! d9 E/ T, B S2 D' Z' T" T- _" q, Y6 l public class HelloWorld{ % b7 J9 G! r6 l& o1 ypublic static void main (String[] aArg) throws Exception{ 1 N: m0 D9 t7 d6 uLCD.drawString("Hello World",3,4); 8 U+ j3 e5 D$ P8 h2 RThread.sleep(2000); $ r& c& `) O1 Q, p/ [0 Q7 T7 {: h, \} } & R* X2 K5 V l' p ! ^9 j" t! c; G8 z, l6 F - 將文件另存為 HelloWorld.java,這里我將文件保存在文件夾 C:\lejos_class 下,當(dāng)然你可以選擇保存的位置。* i" A @' k. O3 l
- 打開 命令提示符 進(jìn)入剛才保存 HelloWorld.java 的文件夾,這里是:C:\lejos_class ,然后在命令提示符中執(zhí)行命令 nxjc HelloWorld.java
! \1 s& l) o1 S( G, S! i將 Java文件編譯為 HelloWorld.class 和 HelloWorld.nxj。+ Q+ M6 O Q! }! @5 l7 l+ p - 現(xiàn)在確認(rèn)你的 NXT 已使用 USB 連接到計(jì)算機(jī)上,并處于開機(jī)狀態(tài)。在剛才打開的 命令提示符 中執(zhí)行命令 nxj -r HelloWorld1 k) x) P0 m: h. B- x* { `
上載你的程序。幾秒鐘后隨著一聲悅耳的聲音(程序上載成功提示音),屏幕上隨即出現(xiàn)“Hello World”字樣。至此你的第一個(gè)程序已經(jīng)順利在 NXT 上運(yùn)行成功,如果要獲得更多這方面的信息請(qǐng)?jiān)L問 Lejos 的官方站點(diǎn)。 |