Java與樂高機器人(青少年科技創(chuàng)新叢書)
定 價:76 元
- 作者:鄭劍春,魏曉暉 著
- 出版時間:2014/6/1
- ISBN:9787302357452
- 出 版 社:清華大學出版社
- 中圖法分類:TP242.6-49
- 頁碼:267
- 紙張:膠版紙
- 版次:1
- 開本:16開
樂高機器人是樂高公司推出的一款新產(chǎn)品,它包括一套用于搭建物理結(jié)構(gòu)的零件庫和一個控制行為動作的大腦。通過在計算機上編寫程序并上傳至機器人的大腦,就可以打造一個實現(xiàn)某項功能的智能機器人。
《青少年科技創(chuàng)新叢書:Java與樂高機器人》介紹的是一門操控樂高機器人的語言——leJOS。它源自于軟件界大名鼎鼎的Java語言,并對機器人控制部分進行了封裝和優(yōu)化。本書從Java編程的基礎(chǔ)知識講起,循序漸進地介紹了數(shù)據(jù)類型、變量、運算符、循環(huán)語句等內(nèi)容。在此基礎(chǔ)上,進一步介紹了機器人編程需要用到的各類知識,如LCD類、Motor類、傳感器類等。對這些類中的方法、屬性等進行了詳細的講解,并將Java編程的基礎(chǔ)知識運用到相關(guān)示例中。在本書的后半部分,重點介紹了多線程、通信、智能手機開發(fā)等高級知識。掌握了上面這些內(nèi)容,也就掌握了leJOS編程的核心。建議讀者在閱讀時,邊閱讀邊實踐,逐章逐節(jié)地掌握每個知識點,在實踐中靈活運用,以加深理解。
《青少年科技創(chuàng)新叢書:Java與樂高機器人》適合機器人愛好者和編程愛好者閱讀。已經(jīng)投入到智能機器人比賽項目中的青少年及指導教師可以以本書作為參考,學習使用Java語言為機器人設(shè)計控制程序。
前言
當我剛剛接觸樂高機器人的時候,馬上就被它深深地吸引住了。原因很簡單,它能動,聽指揮,是一個優(yōu)秀的創(chuàng)作平臺。
按照網(wǎng)絡(luò)上的圖紙,我很快就制作出了幾個機器人的模型。但是如何處理機器人的核心部分——控制程序,卻一時沒有頭緒。如何讓機器人像人類一樣“思考”呢?為了達到這個目的,我先后嘗試了多種編程語言,直到使用leJOS之后,終于發(fā)現(xiàn),這正是我想要的。leJOS是基于標準的Java語言,它很強大,同時又十分小巧,可以提供給樂高愛好者無限的創(chuàng)作空間。對于像我這樣從事軟件開發(fā)工作多年的人來講,只要經(jīng)過簡單的學習,馬上就可以上手開發(fā)程序。而對于編程知識了解不多的讀者,現(xiàn)在有了一個學習Java編程的好機會。只要幾行代碼,就可以指揮機器人動起來,這種“學以致用”的方式會極大地激發(fā)讀者的學習熱情。同時,leJOS又在樂高機器人和真正的工業(yè)機器人之間架起了一座橋梁,為讀者的未來提供了更多的選擇方向。下面,就開始踏上我們的學習之路吧!
本書的內(nèi)容主要分為以下幾個部分。
第1、2章,從樂高的基礎(chǔ)知識講起,先帶領(lǐng)大家全面認識樂高機器人NXT 8547。
第3、4章,介紹樂高的編程環(huán)境。樂高公司提供了NXTG語言來為樂高機器人設(shè)計程序。這是一門圖形化的編程語言,用戶通過拖放圖形達到編寫程序的目的,而不用直接書寫代碼。這樣的編程方式雖然直觀,但是遇到過于復雜的邏輯,僅僅依靠圖形總會感到難以表達清楚自己的思路。本書介紹的是現(xiàn)今軟件行業(yè)極為流行的一門編程語言——Java。它是最近十幾年開始興起的一門面向?qū)ο蟮木幊陶Z言。Java有一個專用于樂高NXT開發(fā)的工具包,就是前面提到的leJOS。本書的主要內(nèi)容就是向讀者介紹Java和leJOS的編程方法。
第5章講述的是編程的基礎(chǔ)知識。如果本書的讀者以前學習過一門編程語言,如C或VB,那么學習這一章的內(nèi)容會十分輕松。沒有基礎(chǔ)的讀者也不用擔心,本書使用Java作為載體,簡單、明快地講解了類型、變量、循環(huán)語句這些概念,這些知識用作樂高機器人開發(fā)已經(jīng)足夠了。
第6、7章講解樂高機器人程序設(shè)計。本書本著循序漸進的原則,依次講解了屏幕輸出、電動機控制、傳感器編程等幾部分內(nèi)容,并對每個對象的操作方法一一闡述。結(jié)合書中例題,力求做到內(nèi)容翔實、用例準確、深入淺出、易學易用。
第8章向讀者介紹了編程中較為高級的技巧——線程與監(jiān)聽。運用多線程知識,前言 Java與樂高機器人〖2〗〖2〗 〖1〗
樂高機器人可以在捕獲外界物理量變化的同時及時做出反饋。這部分內(nèi)容可以使簡單的程序更加精煉,同時也是開發(fā)復雜程序必不可少的知識。
第9章是對前面各章節(jié)知識的一個綜合運用。通過5個小例子,帶領(lǐng)大家一邊思考一邊動手,分析編程思路,梳理知識點,最終完成代碼的編寫。
第10、11章的內(nèi)容涉及遠程控制和智能手機。樂高機器人的連接方式有USB和藍牙兩種,遠程控制分為PC控制機器人、機器人控制機器人和手機控制機器人。 現(xiàn)在安卓智能手機的使用已經(jīng)十分普遍,本書利用安卓手機上的重力感應器編寫了一個控制程序,遙控樂高小車做出前進、后退等動作。
第12章作為擴展閱讀,主要向讀者介紹leJOS提供的圖形化工具的使用方法。此外,初學編程的讀者,經(jīng)常會遇到語法知識已經(jīng)掌握了幾分,但卻不知從何入手編寫程序這個難題。在12.5節(jié)告訴讀者如何查看leJOS提供的示例代碼,認真閱讀之后會有所幫助。
因為本人所學有限,書中難免存在疏漏和不足,歡迎讀者朋友批評指正,我將十分感謝并及時發(fā)布勘誤信息。我的郵箱是: wxh1907@sina.com。在我的博客http://blog.sina.com.cn/u/1014509487可以下載到本書的全部代碼。
崔世杰、張巍、李夢軍、劉玉田、李甫成、趙亮等老師參加了本書部分章節(jié)的編寫工作,并在技術(shù)與材料上提供了支持,在此向他們表示衷心的感謝同。最后,對正在閱讀本書的讀者表示由衷的感謝!希望本書能給您帶來快樂和收獲!
魏曉暉2013年11月10日
第1章 認識樂高機器人
1.1樂高簡介
1.1.1樂高公司簡介
1.1.2樂高機器人系列
1.2樂高零件
1.2.1基本尺寸
1.2.2種類
1.3樂高機器人搭建
1.3.1結(jié)構(gòu)與功能
1.3.2結(jié)構(gòu)與載重
1.4小結(jié)
第2章 LEGO Mindstorms NXT
2.1NXT主機
2.2輸出系統(tǒng) 第1章 認識樂高機器人
1.1樂高簡介
1.1.1樂高公司簡介
1.1.2樂高機器人系列
1.2樂高零件
1.2.1基本尺寸
1.2.2種類
1.3樂高機器人搭建
1.3.1結(jié)構(gòu)與功能
1.3.2結(jié)構(gòu)與載重
1.4小結(jié)
第2章 LEGO Mindstorms NXT
2.1NXT主機
2.2輸出系統(tǒng)
2.3傳感器
2.4其他輸入/輸出裝置
2.4.1按鈕
2.4.2藍牙和數(shù)據(jù)線
2.5小結(jié)
第3章 初識leJOS
3.1leJOS概述
3.2安裝leJOS
3.2.1安裝驅(qū)動程序
3.2.2安裝Java JDK
3.2.3安裝leJOS
3.2.4更新固件
3.3leJOS系統(tǒng)介紹
3.3.1菜單
3.3.2工具和文檔
3.4小結(jié)
第4章 使用Eclipse開發(fā)leJOS
4.1Eclipse概述
4.2安裝Eclipse
4.2.1下載
4.2.2運行
4.2.3安裝NXT插件
4.3Eclipse開發(fā)環(huán)境介紹
4.3.1界面
4.3.2菜單
4.4第一個程序: HelloNXT
4.4.1新建、編譯和運行
4.4.2讀懂leJOS程序
4.5小結(jié)
第5章 編程的基礎(chǔ)知識
5.1數(shù)據(jù)類型
5.1.1基本數(shù)據(jù)類型
5.1.2類型轉(zhuǎn)換
5.2變量
5.2.1定義變量
5.2.2變量的作用域
5.3數(shù)組和字符串
5.3.1聲明數(shù)組
5.3.2使用數(shù)組
5.3.3length屬性
5.3.4二維數(shù)組
5.3.5字符串
5.4運算符
5.4.1算術(shù)運算符
5.4.2連接運算符
5.4.3賦值運算符
5.4.4關(guān)系運算符
5.4.5邏輯運算符
5.5條件語句
5.5.1if語句
5.5.2switch語句
5.6循環(huán)語句
5.6.1for語句
5.6.2while語句
5.6.3do while語句
5.7面向?qū)ο?br />5.7.1類
5.7.2方法
5.7.3屬性
5.7.4對象
5.8小結(jié)
第6章 機器人編程
6.1屏幕顯示
6.1.1print方法
6.1.2LCD類
6.1.3Graphics類
6.2聲音輸出
6.3電動機控制
6.4按鈕
6.5數(shù)學計算
6.6小結(jié)
第7章 傳感器編程
7.1觸碰傳感器
7.2顏色傳感器
7.3距離傳感器
7.4角度傳感器
7.5小結(jié)
第8章 線程與監(jiān)聽
8.1線程
8.1.1線程概述
8.1.2生命周期和優(yōu)先級
8.1.3編寫多線程程序
8.2監(jiān)聽
8.2.1監(jiān)聽概述
8.2.2為按鈕添加監(jiān)聽器
8.3小結(jié)
第9章 綜合實驗
9.1單光感巡線車
9.2自動避障車
9.3防跌落小車
9.4測距儀
9.5環(huán)境光檢測儀
9.6小結(jié)
第10章 通信與遠程控制
10.1通信方式簡介
10.1.1USB
10.1.2藍牙
10.2機器人與PC通信
10.2.1建立USB連接
10.2.2PC端發(fā)送消息
10.2.3NXT端接收消息
10.2.4PC遠程控制機器人
10.2.5雙向通信
10.3機器人與機器人通信
10.3.1建立藍牙連接
10.3.2遠程控制機器人
10.4小結(jié)
第11章 機器人與智能手機
11.1基礎(chǔ)知識
11.2手機端程序
11.2.1搭建Android開發(fā)環(huán)境
11.2.2新建Android程序
11.2.3運行Android程序
11.3NXT端程序
11.4小結(jié)
第12章 擴展閱讀
12.1更新固件
12.2圖像轉(zhuǎn)換
12.3數(shù)據(jù)處理
12.3.1數(shù)據(jù)記錄
12.3.2數(shù)據(jù)查看
12.4文件管理
12.5查看示例程序
12.6設(shè)置環(huán)境變量
12.7小結(jié)
參考文獻