十天學(xué)會(huì)智能車--基于Arduino
定 價(jià):49 元
- 作者:綦聲波 周麗芹 江文亮
- 出版時(shí)間:2020/4/1
- ISBN:9787512432727
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:U46
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:1
- 開本:16K
《十天學(xué)會(huì)智能車:基于Arduino》以開源硬件Arduino為技術(shù)背景,以創(chuàng)新教育為時(shí)代背景,以競(jìng)速型智能車為載體,由淺人深地講述了基于Arduino的編程方法及智能車應(yīng)用。考慮到中小學(xué)的智能車教育及普及,特別講述了基于ArduBlock的圖形化編程步驟及具體應(yīng)用。
本教材分為10講,1~6講為基礎(chǔ)知識(shí),由淺入深地熟悉Arduino的硬件和軟件平臺(tái);7~9講為智能車的驅(qū)動(dòng)、檢測(cè)和調(diào)試方法,并用簡(jiǎn)單的整車實(shí)例講述了智能車的控制思路;第10講為積木化編程,并分別以四輪車和三輪車為例講解了圖形化編程的思路和編程方法,適合于中小學(xué)的智能車教學(xué)。
《十天學(xué)會(huì)智能車:基于Arduino》既可作為低年級(jí)大學(xué)生學(xué)習(xí)智能車的培訓(xùn)教材,也可作為中小學(xué)生創(chuàng)客創(chuàng)新教育的參考用書。
未來社會(huì)科技發(fā)展的大趨勢(shì),就是人工智能、機(jī)器人、計(jì)算機(jī)、物聯(lián)網(wǎng)等。機(jī)器人所具有的“能聽、能看、能動(dòng)’’的特性吸引了很多人的目光,機(jī)器人的分類很多,從它們的用途來說,有工業(yè)機(jī)器人、服務(wù)機(jī)器人、水下機(jī)器人、軍用機(jī)器人、農(nóng)業(yè)機(jī)器人等。除了外形像人的機(jī)器人外,還有一些外形不像人、但在其領(lǐng)域發(fā)揮巨大作用的機(jī)器人。運(yùn)動(dòng)方式也是多種多樣,有雙足步行的,也有輪式的,本書介紹的智能車屬于輪式機(jī)器人范疇。
智能車競(jìng)速比賽是一項(xiàng)觀賞性強(qiáng)、參與面廣的科技競(jìng)賽活動(dòng),已經(jīng)在全國(guó)大學(xué)生智能車競(jìng)賽中得到了廣泛的開展,成為自動(dòng)化及其相關(guān)專業(yè)大學(xué)生最受歡迎的競(jìng)賽活動(dòng)之一。在帶領(lǐng)大學(xué)生參與智能車競(jìng)賽的十幾年時(shí)間里,我陸續(xù)提出了一些智能車競(jìng)賽培訓(xùn)理念,例如,“人此門來選擇奮斗,出此門去已成大!钡摹皧^斗大牛”模式,以及“大一看熱鬧,大二探門道,大三做主力,大四做指導(dǎo)”的大學(xué)四年培養(yǎng)模式等,將智能車競(jìng)賽轉(zhuǎn)變?yōu)橐环N具有奮斗、傳承、包容、感恩、擔(dān)當(dāng)?shù)染裉卣鞯闹悄苘囄幕囵B(yǎng)了一批又一批優(yōu)秀的智能車隊(duì)員。隨著智能車影響力的擴(kuò)大和時(shí)間的推移,大一不再滿足于僅僅“看熱鬧”,而是想實(shí)實(shí)在在地參與智能車競(jìng)賽活動(dòng)。但自動(dòng)化專業(yè)的大一學(xué)生并不具備專業(yè)知識(shí),和其他工科、理課、文科的同學(xué)基礎(chǔ)是一樣的,如何讓他們快速入門,感受智能車的樂趣,是擺在每個(gè)智能車教育者面前的一道難題。
從2017年開始,全國(guó)大學(xué)生智能車競(jìng)賽開始引人中小學(xué)組,其簡(jiǎn)潔直觀的積木化編程方式讓人耳目一新。2018年我也嘗試帶領(lǐng)一支高中組的智能車隊(duì)參加競(jìng)賽,竟然意外地獲得了山東賽區(qū)第一名,并最終以全國(guó)第二名的成績(jī)獲得高中組全國(guó)智能車競(jìng)賽一等獎(jiǎng)。兩名高中生表現(xiàn)出的對(duì)智能車的超級(jí)喜歡和強(qiáng)大的程序理解能力讓我感到驚訝:他們竟然理解了我講解的PID調(diào)節(jié)和分段控制,而且編寫出了原理相同且改進(jìn)的程序,并在一個(gè)月的連續(xù)測(cè)試中跑壞了兩個(gè)舵機(jī),最終用自己換好的第三個(gè)舵機(jī)及改進(jìn)后的程序獲得佳績(jī)!
從這次指導(dǎo)高中組的競(jìng)賽過程受到啟發(fā),我開始關(guān)注中小學(xué)生的編程能力需求及培養(yǎng)。蘋果公司CEO庫(kù)克曾透露,在他們公司的APP開發(fā)者里,年齡最小的只有9歲。00后和10后的孩子們從小就接觸互聯(lián)網(wǎng),接觸電子設(shè)備,擁有天然的優(yōu)勢(shì),與其讓孩子沉迷手機(jī),不如讓他們?cè)缫稽c(diǎn)擁抱新科技,而編程能力可能在未來會(huì)成為一種剛需。2014年,英國(guó)強(qiáng)制5~12歲孩子接受編程教育;2015年,美國(guó)投了40億美元,總統(tǒng)奧巴馬出面大力推廣創(chuàng)客教育;日本計(jì)劃2020年以后,把編程納人中小學(xué)的必修課。就我國(guó)而言,在教育部公布的《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》中透露,將從2019年開始啟動(dòng)中小學(xué)生信息素養(yǎng)測(cè)評(píng),并推動(dòng)在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育。
由此可見,編程需求低齡化已經(jīng)成為大勢(shì)所趨,得到了社會(huì)認(rèn)同。在這種形勢(shì)下,如何開展編程教育就會(huì)成為一個(gè)焦點(diǎn)。中小學(xué)的編程教育不應(yīng)該是依樣畫葫蘆地學(xué)寫幾行代碼,而應(yīng)該是一種“編程思維”的訓(xùn)練。在日本文部科學(xué)省公布的小學(xué)新版教學(xué)大綱中,將“編程思維”定義為:為了實(shí)現(xiàn)自己的意圖,通過理性思考確定各個(gè)步驟的最優(yōu)組合并逐步完善,從而逐漸接近最理想的結(jié)果。面對(duì)智能車這種相對(duì)比較復(fù)雜的控制問題,可以分解為一個(gè)個(gè)的小問題,從熟悉開發(fā)工具人手,逐漸過渡到電機(jī)控制、舵機(jī)控制、賽道檢測(cè)、車速檢測(cè)等關(guān)鍵問題,找到整車控制與各關(guān)鍵問題之間的關(guān)聯(lián),從問題的逐一解決中找到答案。
興趣是最好的老師,而喜歡小車是孩子們的天性,哪個(gè)孩子從小沒有幾輛小車呢?而具有智能特性的小車可以自主識(shí)別賽道,并沿著特定的軌道飛速前進(jìn),對(duì)學(xué)生的吸引力很大。為了降低學(xué)習(xí)難度,通過比較甄別,本書選擇了Arduino開源式平臺(tái)。由于Arduino設(shè)計(jì)之初的目標(biāo)人群就是非電子專業(yè)尤其是藝術(shù)家學(xué)習(xí)使用的,讓他們更容易實(shí)現(xiàn)自己的創(chuàng)意,這正符合不同專業(yè)大一新生的實(shí)際情況;其次,在Arduino軟件環(huán)境下,可利用積木化編程方式實(shí)現(xiàn)對(duì)智能車的控制,非常適合中小學(xué)生學(xué)習(xí)使用。
為了降低使用難度,我們開發(fā)了基于ArduinoNano的智能車系統(tǒng),并以套件的方式讓學(xué)生們組裝使用。考慮到學(xué)生的基礎(chǔ),根據(jù)學(xué)生對(duì)知識(shí)的認(rèn)識(shí)規(guī)律,對(duì)教學(xué)內(nèi)容進(jìn)行了精心篩選和安排,先從Arduino本身學(xué)起,逐步過渡到智能車的控制。本教材分為10講,l~6講為基礎(chǔ)知識(shí),由淺人深地熟悉ArdLtino的硬件和軟件平臺(tái);7~9講為智能車的驅(qū)動(dòng)、檢測(cè)和調(diào)試方法,并用簡(jiǎn)單的整車實(shí)例講述了智能車的控制思路;第10講為積木化編程,并分別以四輪車和三輪車為例講解了圖形化編程的思路和編程方法,適合于中小學(xué)的智能車教學(xué)。
第1講 智能車與創(chuàng)客教育
1.1 智能車與智能車競(jìng)賽
1.1.1 汽車與智能車
1.1.2 智能車競(jìng)賽
1.1.3 中小學(xué)智能車競(jìng)賽
1.2 創(chuàng)客與創(chuàng)客教育
1.2.1 創(chuàng)客與創(chuàng)客文化
1.2.2 創(chuàng)客教育
1.3 開源硬件與Arduino
1.3.1 開源硬件
1.3.2 什么是Arduino
1.3.3 Arduino的優(yōu)勢(shì)
1.3.4 Arduino程序開發(fā)過程
1.4 Arduino硬件的分類
1.4.1 Arduino開發(fā)板
1.4.2 Arduino擴(kuò)展硬件
1.5 Arduino軟件環(huán)境
1.5.1 什么是交叉編譯
1.5.2 Arduino IDE的安裝
1.5.3 Arduino IDE的設(shè)置
1.5.4 第一個(gè)示例程序
1.6 本講小結(jié)
第2講 Arduino編程基礎(chǔ)
2.1 Arduino基本要素
2.2 變量和數(shù)組
2.2.1 變量
2.2.2 數(shù)組
2.3 1 I/O口操作
2.3.1 數(shù)字I/O口的操作函數(shù)
2.3.2 模擬I/O口的操作函數(shù)
2.3.3 高級(jí)I/O口的操作函數(shù)
2.4 各種函數(shù)
2.4.1 時(shí)間函數(shù)
2.4.2 中斷函數(shù)
2.4.3 串口通信函數(shù)
2.4.4 庫(kù)函數(shù)
2.5 本講小結(jié)
第3講 點(diǎn)亮一個(gè)LED
3.1 實(shí)驗(yàn)器件
3.1.1 面包板
3.1.2 杜邦線
3.1.3 電阻器
3.1.4 發(fā)光二極管
3.2 點(diǎn)亮一個(gè)LED
3.2.1 LED實(shí)驗(yàn)原理圖
3.2.2 LED實(shí)驗(yàn)電路連接
3.2.3 LED點(diǎn)亮實(shí)驗(yàn)程序
3.2.4 程序編譯下載
3.2.5 實(shí)驗(yàn)中的問題與解答
3.3 按鍵控制LED
3.3.1 按鍵電路
3.3.2 程序與理解
3.3.3 實(shí)驗(yàn)思考
3.4 本講小結(jié)
第4講 點(diǎn)亮多個(gè)LED
4.1 流水燈實(shí)驗(yàn)
4.2 數(shù)碼管顯示同一數(shù)字
4.2.1 認(rèn)識(shí)數(shù)碼管
4.2.2 程序與理解
4.2.3 思考與實(shí)踐
4.3 數(shù)碼管顯示不同數(shù)字
4.3.1 靜態(tài)顯示和動(dòng)態(tài)顯示
4.3.2 電路連接與程序
……
第5講 深入理解Arduino Nano
第6講 Arduino編程進(jìn)階
第7講 智能車驅(qū)動(dòng)控制技術(shù)
第8講 智能車檢測(cè)技術(shù)
第9講 智能車調(diào)試方法
第10講 Arduino的圖形化編程
附錄A U-ADO-F10X系列智能車套件介紹
附錄B U-ADO-F101智能車組裝說明
附錄C U-ADO-F101智能車用戶手冊(cè)與常見問題
附錄D U-ADO-F102智能車組裝說明
附錄E U-ADO-F10X主控板電路圖
參考文獻(xiàn)