Java與樂高機器人( 簡體 字) | |
作者:鄭劍春、魏曉暉 | 類別:1. -> 程式設計 -> JAVA -> Java 2. -> 電子工程 -> 機器人 |
出版社:清華大學出版社 | 3dWoo書號: 38819 詢問書籍請說出此書號! 有庫存 NT售價: 380 元 |
出版日:6/5/2014 | |
頁數:264 | |
光碟數:0 | |
站長推薦: | |
印刷:全彩印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302357452 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章認識樂高機器人1
1.1樂高簡介1 1.1.1樂高公司簡介1 1.1.2樂高機器人系列3 1.2樂高零件6 1.2.1基本尺寸6 1.2.2種類7 1.3樂高機器人搭建12 1.3.1結構與功能12 1.3.2結構與載重14 1.4小結14 第2章LEGO Mindstorms NXT15 2.1NXT主機15 2.2輸出系統16 2.3傳感器17 2.4其他輸入/輸出裝置21 2.4.1按鈕21 2.4.2藍牙和數據線22 2.5小結23 第3章初識leJOS24 3.1leJOS概述24 3.2安裝leJOS25 3.2.1安裝驅動程序25 3.2.2安裝Java JDK27 3.2.3安裝leJOS32 3.2.4更新固件37 3.3leJOS系統介紹40目錄 Java與樂高機器人〖2〗〖2〗 〖1〗 3.3.1菜單40 3.3.2工具和文檔45 3.4小結46 第4章使用Eclipse開發leJOS47 4.1Eclipse概述47 4.2安裝Eclipse47 4.2.1下載47 4.2.2運行47 4.2.3安裝NXT插件51 4.3Eclipse開發環境介紹54 4.3.1界面54 4.3.2菜單54 4.4第一個程序: HelloNXT60 4.4.1新建、編譯和運行60 4.4.2讀懂leJOS程序65 4.5小結68 第5章編程的基礎知識69 5.1數據類型69 5.1.1基本數據類型69 5.1.2類型轉換70 5.2變量71 5.2.1定義變量71 5.2.2變量的作用域72 5.3數組和字符串73 5.3.1聲明數組73 5.3.2使用數組74 5.3.3length屬性75 5.3.4二維數組75 5.3.5字符串77 5.4運算符81 5.4.1算術運算符81 5.4.2連接運算符82 5.4.3賦值運算符82 5.4.4關系運算符83 5.4.5邏輯運算符83 5.5條件語句85 5.5.1if語句85 5.5.2switch語句86 5.6循環語句88 5.6.1for語句88 5.6.2while語句90 5.6.3do while語句91 5.7面向對象92 5.7.1類93 5.7.2方法94 5.7.3屬性96 5.7.4對象97 5.8小結98 第6章機器人編程99 6.1屏幕顯示99 6.1.1print方法99 6.1.2LCD類103 6.1.3Graphics類111 6.2聲音輸出124 6.3電動機控制130 6.4按鈕140 6.5數學計算145 6.6小結147 第7章傳感器編程148 7.1觸碰傳感器148 7.2顏色傳感器151 7.3距離傳感器157 7.4角度傳感器160 7.5小結161 第8章線程與監聽162 8.1線程162 8.1.1線程概述162 8.1.2生命周期和優先級163 8.1.3編寫多線程程序164 8.2監聽168 8.2.1監聽概述168 8.2.2為按鈕添加監聽器169 8.3小結173 第9章綜合實驗174 9.1單光感巡線車174 9.2自動避障車181 9.3防跌落小車187 9.4測距儀193 9.5環境光檢測儀199 9.6小結204 第10章通信與遠程控制205 10.1通信方式簡介205 10.1.1USB205 10.1.2藍牙205 10.2機器人與PC通信206 10.2.1建立USB連接206 10.2.2PC端發送消息206 10.2.3NXT端接收消息210 10.2.4PC遠程控制機器人212 10.2.5雙向通信220 10.3機器人與機器人通信229 10.3.1建立藍牙連接229 10.3.2遠程控制機器人230 10.4小結236 第11章機器人與智能手機237 11.1基礎知識237 11.2手機端程序238 11.2.1搭建Android開發環境238 11.2.2新建Android程序243 11.2.3運行Android程序250 11.3NXT端程序252 11.4小結253 第12章擴展閱讀254 12.1更新固件254 12.2圖像轉換257 12.3數據處理258 12.3.1數據記錄258 12.3.2數據查看259 12.4文件管理260 12.5查看示例程序262 12.6設置環境變量264 12.7小結267 參考文獻268 樂高機器人是樂高公司推出的一款新產品,它包括一套用于搭建物理結構的零件庫和一個控制行為動作的大腦。通過在計算機上編寫程序并上傳至機器人的大腦,就可以打造一個實現某項功能的智能機器人。
本書介紹的是一門操控樂高機器人的語言——leJOS。它源自于軟件界大名鼎鼎的Java語言,并對機器人控制部分進行了封裝和優化。本書從Java編程的基礎知識講起,循序漸進地介紹了數據類型、變量、運算符、循環語句等內容。在此基礎上,進一步介紹了機器人編程需要用到的各類知識,如LCD類、Motor類、傳感器類等。對這些類中的方法、屬性等進行了詳細的講解,并將Java編程的基礎知識運用到相關示例中。在本書的后半部分,重點介紹了多線程、通信、智能手機開發等高級知識。掌握了上面這些內容,也就掌握了leJOS編程的核心。建議讀者在閱讀時,邊閱讀邊實踐,逐章逐節地掌握每個知識點,在實踐中靈活運用,以加深理解。 本書適合機器人愛好者和編程愛好者閱讀。已經投入到智能機器人比賽項目中的青少年及指導教師可以以本書作為參考,學習使用Java語言為機器人設計控制程序。 當我剛剛接觸樂高機器人的時候,馬上就被它深深地吸引住了。原因很簡單,它能動,聽指揮,是一個優秀的創作平臺。
按照網絡上的圖紙,我很快就制作出了幾個機器人的模型。但是如何處理機器人的核心部分——控制程序,卻一時沒有頭緒。如何讓機器人像人類一樣“思考”呢?為了達到這個目的,我先后嘗試了多種編程語言,直到使用leJOS之后,終于發現,這正是我想要的。leJOS是基于標準的Java語言,它很強大,同時又十分小巧,可以提供給樂高愛好者無限的創作空間。對于像我這樣從事軟件開發工作多年的人來講,只要經過簡單的學習,馬上就可以上手開發程序。而對于編程知識了解不多的讀者,現在有了一個學習Java編程的好機會。只要幾行代碼,就可以指揮機器人動起來,這種“學以致用”的方式會極大地激發讀者的學習熱情。同時,leJOS又在樂高機器人和真正的工業機器人之間架起了一座橋梁,為讀者的未來提供了更多的選擇方向。下面,就開始踏上我們的學習之路吧! 本書的內容主要分為以下幾個部分。 第1、2章,從樂高的基礎知識講起,先帶領大家全面認識樂高機器人NXT 8547。 第3、4章,介紹樂高的編程環境。樂高公司提供了NXTG語言來為樂高機器人設計程序。這是一門圖形化的編程語言,用戶通過拖放圖形達到編寫程序的目的,而不用直接書寫代碼。這樣的編程方式雖然直觀,但是遇到過于復雜的邏輯,僅僅依靠圖形總會感到難以表達清楚自己的思路。本書介紹的是現今軟件行業極為流行的一門編程語言——Java。它是最近十幾年開始興起的一門面向對象的編程語言。Java有一個專用于樂高NXT開發的工具包,就是前面提到的leJOS。本書的主要內容就是向讀者介紹Java和leJOS的編程方法。 第5章講述的是編程的基礎知識。如果本書的讀者以前學習過一門編程語言,如C或VB,那么學習這一章的內容會十分輕松。沒有基礎的讀者也不用擔心,本書使用Java作為載體,簡單、明快地講解了類型、變量、循環語句這些概念,這些知識用作樂高機器人開發已經足夠了。 第6、7章講解樂高機器人程序設計。本書本著循序漸進的原則,依次講解了屏幕輸出、電動機控制、傳感器編程等幾部分內容,并對每個對象的操作方法一一闡述。結合書中例題,力求做到內容翔實、用例準確、深入淺出、易學易用。 第8章向讀者介紹了編程中較為高級的技巧——線程與監聽。運用多線程知識,前言 Java與樂高機器人〖2〗〖2〗 〖1〗 樂高機器人可以在捕獲外界物理量變化的同時及時做出反饋。這部分內容可以使簡單的程序更加精煉,同時也是開發復雜程序必不可少的知識。 第9章是對前面各章節知識的一個綜合運用。通過5個小例子,帶領大家一邊思考一邊動手,分析編程思路,梳理知識點,最終完成代碼的編寫。 第10、11章的內容涉及遠程控制和智能手機。樂高機器人的連接方式有USB和藍牙兩種,遠程控制分為PC控制機器人、機器人控制機器人和手機控制機器人。 現在安卓智能手機的使用已經十分普遍,本書利用安卓手機上的重力感應器編寫了一個控制程序,遙控樂高小車做出前進、后退等動作。 第12章作為擴展閱讀,主要向讀者介紹leJOS提供的圖形化工具的使用方法。此外,初學編程的讀者,經常會遇到語法知識已經掌握了幾分,但卻不知從何入手編寫程序這個難題。在12.5節告訴讀者如何查看leJOS提供的示例代碼,認真閱讀之后會有所幫助。 因為本人所學有限,書中難免存在疏漏和不足,歡迎讀者朋友批評指正,我將十分感謝并及時發布勘誤信息。我的郵箱是: wxh1907@sina.com。在我的博客http://blog.sina.com.cn/u/1014509487可以下載到本書的全部代碼。 崔世杰、張巍、李夢軍、劉玉田、李甫成、趙亮等老師參加了本書部分章節的編寫工作,并在技術與材料上提供了支持,在此向他們表示衷心的感謝同。最后,對正在閱讀本書的讀者表示由衷的感謝!希望本書能給您帶來快樂和收獲! 魏曉暉2013年11月10日 |