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