Arduino開發入門與創意應用( 簡體 字) | |
作者:陳明熒 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> Arduino |
出版社:清華大學出版社 | 3dWoo書號: 55591 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:3/1/2022 | |
頁數:264 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302599340 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章認識Arduino 1
1.1Arduino軟硬件設計的開源電子原型平臺 1 1.2Arduino開發板的硬件架構 2 1.3需要的開發板及實驗方式 5 1.4安裝開發環境及使用 9 1.5安裝開發板驅動程序 14 1.6習題 16 第2章Arduino開發環境 17 2.1內置示例程序的研究 17 2.2編寫基本測試程序 19 2.3最小電路設計板功能的擴充 22 2.4善用C語言的移植性來開發程序 22 2.5建立LCD功能的開發平臺 27 2.6建立遙控設備功能的開發平臺 28 2.7習題 29 第3章認識ArduinoC語言 30 3.1C語言的特色 30 3.2C語言程序的架構 31 3.3Arduino程序架構 31 3.4C語言的標識符及保留字 32 3.5數據類型 32 3.6常數的聲明 35 3.7基本算術運算 36 3.8數據類型的轉換 36 3.9關系運算符和邏輯運算符 37 3.10流程控制 38 3.11數組 43 3.12函數的使用 45 3.13預處理宏指令 48 3.14習題 50 第4章基本IO控制 52 4.1延遲時間控制 52 4.2開發板上的LED工作指示燈 54 4.3走馬燈控制一 55 4.4走馬燈控制二 57 4.5壓電揚聲器測試 59 4.6按鍵 60 4.7七節數字顯示器控制 62 4.8繼電器控制接口 64 4.9習題 66 第5章串口控制 67 5.1串行數據傳輸原理 67 5.2RS232串口介紹 69 5.3Arduino串口 71 5.4使用Arduino傳送數據到計算機 72 5.5Arduino串行輸出格式 73 5.6Arduino接收數據控制LED燈 75 5.7Arduino串口輸出隨機數 77 5.8習題 78 第6章LCD接口控制 79 6.1LCD介紹 79 6.2LCD接口設計 84 6.3LCD顯示器的測試 84 6.4自定義LCD字模 86 6.5LCD倒計時器 87 6.6習題 91 第7章模數轉換器 92 7.1模數轉換器的應用 92 7.2模數轉換器的工作流程 93 7.3Arduino模數轉換 93 7.4LCD電壓表 94 7.5光敏電阻控制LED亮和滅 96 7.6習題 97 第8章數模轉換器 98 8.1數模轉換器的應用 98 8.2數模轉換器的工作流程 99 8.3Arduino數模轉換控制 99 8.4測量輸出電壓 100 8.5通過可變電阻調整LED亮度 101 8.6習題 102 第9章Arduino傳感器實驗 103 9.1顯示溫濕度值的實驗 103 9.2人體移動偵測實驗 105 9.3超聲波測距實驗 107 9.4超聲波測距警示實驗 110 9.5磁簧開關實驗 112 9.6振動開關實驗 114 9.7水滴土壤濕度實驗 117 9.8瓦斯煙霧實驗 120 9.9習題 123 第10章音樂音效控制 124 10.1音調測試 124 10.2音效控制 126 10.3音階控制 127 10.4演奏歌曲 129 10.5習題 132 第11章紅外線遙控器實驗 133 11.1紅外線遙控的應用 133 11.2紅外線遙控器的工作原理 134 11.3紅外線遙控器譯碼實驗 137 11.4紅外線遙控器譯碼顯示機 139 11.5習題 141 第12章舵機控制 142 12.1舵機介紹 142 12.2舵機的控制方式 143 12.3舵機控制實驗 146 12.4習題 148 第13章Arduino說中文 149 13.1中文語音合成模塊介紹 149 13.2Arduino語音合成模塊實驗1 150 13.3Arduino語音合成模塊實驗2 154 13.4習題 156 第14章Arduino控制學習型遙控器模塊 157 14.1學習型遙控器模塊介紹 157 14.2Arduino控制學習型遙控器 159 14.3有人移動發射紅外線信號 162 14.4Arduino控制史賓機器人實驗 165 14.5Arduino控制發射飛鏢玩具機器人實驗 168 14.6Arduino控制遙控風扇實驗 169 14.7習題 170 第15章Arduino不限定語言聲控設計 171 15.1基本聲控技術介紹 171 15.2聲控模塊介紹 173 15.3Arduino控制聲控模塊 174 15.4Arduino聲控亮燈 176 15.5習題 183 第16章Arduino控制中文聲控模塊 184 16.1中文聲控模塊介紹 184 16.2遙控設備免改裝變為聲控設備的實驗 185 16.3Arduino控制中文聲控模塊 186 16.4Arduino聲控玩具實驗 190 16.5Arduino聲控風扇實驗 194 16.6習題 197 第17章Arduino專題作品的制作 198 17.1遙控八音盒 198 17.2遙控倒計時器 203 17.3智能盆栽澆灌器 207 17.4紅外線遙控車 211 17.5Arduino中文聲控車 216 17.6Android手機遙控車 221 17.7Arduino聲控譜曲 231 17.8Arduino控制家中的電視機 236 17.9Arduino聲控電視機 240 附錄A 247 A.1ASCII對照表 247 A.2簡易穩壓電源的制作 249 A.3自制Arduino實驗板 250 A.4L51學習型遙控器模塊特性的說明 253 A.5L51學習型遙控器的使用 254 A.6L51學習型遙控模塊的遙控器信號分析及應用 257 A.7VI中文聲控模塊的使用 259 A.8VCMM特定人語音聲控模塊的使用 261 A.9本書實驗所需的零部件及模塊 263 本書是基于作者多年的軟硬件平臺設計和教學經驗撰寫的Arduino Uno開發入門指導,指導初學者做出自己喜歡的實驗,同時幫助有經驗的工程師更有效率地開發應用專題。
本書的核心內容包括:引導讀者使用Arduino Uno開發板輕松創建自己的創意實驗平臺;基于自己動手制作(DIY)的實驗平臺,解碼和開發穩定的紅外線遙控器、聲音控制器,完成功能完備的項目專題制作和產品原型機的開發;利用Arduino基本I/O功能,實現包括七節顯示器、按鍵掃描、串行通信接口、繼電器及音樂控制等項目應用。 本書的技術探討部分深入淺出,實驗項目貼近實際應用,既適合初學者自學實踐,也適合有經驗的工程師用于項目開發的參考。 筆者所在的實驗室一直將基于8051微控制器的單片機用于教學和項目應用,歷經20多年,因而想在基于8051微控制器的實驗測試平臺之外另行開發一個新的實驗測試平臺。幸運的是,近幾年來Arduino開源電子原型平臺成為實現這個想法的最佳選擇。對于我這個在8051實驗測試平臺編寫C語言程序有20年經驗的人來說,相比于其他程序設計語言,還是更青睞C語言,因為它既簡單,移植性又好。
特別是看到Arduino系統的范例及鏈接庫、軟件串行接口、I2C 接口、SPI 接口、EEPROM、服務器電機、LCD、SD卡、網絡、WiFi等常用的控制接口都有人已經編寫好了,筆者內心感動不已。親自編寫過硬件底層驅動程序的人都知道,這不僅僅需要花費很多時間進行編寫,還需要花費更多時間進行測試,而現在只要把它們集成到應用中即可,豈不是幸事? Arduino官網及網上的相關論壇中還有更多的應用,可供讀者看和學的資源幾乎是“無限的”,實在是太棒了。 再好的工具,自己不能理解掌握就無法成為自己的應用技術。 接下來的N個小時、N個工作日及節假日,筆者都在測試自己感興趣的相關應用實驗。經過數百個小時的“Arduino程序實驗奇幻漂流及探索”過程,才有了本書中講述的各種實驗項目,在日常的工作之余,筆者還在持續探索其他神奇有趣的應用,更多實驗項目還在持續進行中。 Arduino是一種開放授權的互動開發平臺,它有一塊簡單輸入、輸出的開源電路板,并結合了類似Java、C語言的開發環境,讓初學者易于上手使用。有了基本工具后,搭配一些常用的電子元器件,如LED、揚聲器、按鍵、光敏電阻、紅外線遙控、超聲波測距儀、服務器電機等元器件。相信讀者閱讀完本書,便可以進行有趣的實驗,展示產品原型機、互動作品、學生專題,當然讀者還需動手做才能實現自己的作品。 對于Arduino Uno而言,筆者的使用心得如下: ? 具有簡單、易學、易用的集成開發工具。 ? 硬件架構簡單。 ? 支持標準C語言的程序開發。 ? 有DIP芯片可用于手工焊接拓展實驗。 ? 有大量范例可供學習參考。 ? 支持新硬件的應用。 目前根據工作需要,筆者建立了一個Arduino應用開發平臺: ? 以Uno板為開發板,自動下載程序,可以快速驗證程序功能。 ? 自己焊接制作Arduino最小電路設計板,按需求可以快速復制。 ? 在Arduino最小電路設計板上加LCD、遙控接口,取代Uno板。 ? 定制化各種Arduino應用板。 ? 以Arduino玩玩“免改裝”聲控玩具、家電、居家自動化應用。 ? 支持Arduino聲控紅外線遙控各種可能的應用。 對于不同的用戶,筆者的建議是: ? 初學者:測試過后,看看自己是否有需求、有愿望、有動機來學習。有動機學,再來投資硬件進行學習。 ? 已入門者:建議自己焊接一塊Arduino最小電路設計板加LCD模塊。因為Uno板沒有輸入輸出,不方便驗證應用,而接面包板只是為了一時的實驗,有太多不方便的地方。善用Arduino最小電路設計板以及Uno芯片,可以互換使用,因為可為Arduino最小電路設計板手動下載程序。 有經驗的程序員,應該知道筆者想說的是:Arduino系統提供的現成的開發工具如果可以幫助讀者解決工作上的問題,為什么不直接拿來用呢?如果讀者正苦于缺乏研發產品的時間和精力,那么采用Arduino研發平臺將省下很多時間,因為其背后有全世界一流的研發高手在提供支持,很多開發工作不必我們親自動手,只需看懂程序,便可以拿來開始進行實驗。Arduino為我們準備好了入門學習的所有工具,你準備好了嗎? Arduino魅力無窮,本書集成了自行研發的模塊來進行實驗,包括中文語音合成模塊MSAY、控制紅外線學習模塊 L51、控制中文聲控模塊VI。 本書提供了以下實驗: ? Arduino控制史賓機器人、發射飛鏢的機器人、遙控風扇、家中電視機的實驗。 ? Arduino手機遙控車、聲控發射飛鏢的機器人、聲控風扇、聲控家中電視機的實驗。 簡化程序設計,不必編寫一堆程序代碼來控制,關鍵程序只需10多行程序語句。 學會Arduino C程序設計后,在校學生可以把本書學到的設計應用到自己的畢業設計中,完成屬于自己的畢業設計論文,畢業后甚至可以把這個設計作為自己的“代表作”,在面試時也會有加分作用。特別是應聘嵌入式開發工程師時,效果會更好,因為基于Arduino的任何專題作品,都是軟件與硬件相結合開發的成果。 在C語言程序設計中覺得好玩、有趣的實驗,筆者都會安排時間去嘗試研究和實驗。同樣,在使用Arduino系統開發的過程中,讀者將會發現更多的應用,值得讀者不斷去探索和研究。筆者最大的心愿就是希望本書能引導初學者,用Arduino輕松愉快地設計和制造出自己的專題作品以及“玩出”自己的精彩實驗。 代碼下載 本書的代碼可掃描右側的二維碼獲取,也可按提示把下載鏈接轉發到自己的郵箱中下載。如果下載有問題,請發送電子郵件,郵件主題為“Arduino開發入門與創意應用”。 陳明熒 2021年11月 |