Arduino從基礎到實踐

Arduino從基礎到實踐

《Arduino從基礎到實踐》是2013年電子工業出版社出版的圖書,作者是麥克羅伯茨。本書主要介紹了Arduino軟體的基礎知識、使用方法以及套用技巧。

Arduino 從基礎到實踐( 0 編程經驗玩轉 Arduino 技術的完美自學手冊

【美】麥克羅伯茨(McRoberts,M.)著

楊繼志 郭敬 .

ISBN 978-7-121-19201-2

2013 3 月出版

定價: 79.00

468

16

編輯推薦

本書通過50個非常酷的項目講授當前流行的Arduino知識,幫你會從一個初學者,轉變成為能夠建立自己的Arduino項目的能手,而且之前絕對不需要你擁有任何編程和電子知識。

本書採用手把手教學方法,從開始你就會沉浸在項目製作中,學習如何使用各種電子元件,學習如何對Arduino編程以實現控制和溝通各種元件。每一個項目都建立在之前項目的知識基礎上,你可以穩步提升編程知識和電子技術技能。

本書採用逐步詳細講解的教學方法,列出了全部原始碼,你可以學到非常有趣的東西.學習完這本書你就可以非常自信並有創造力地製作屬於自己的項目了!一起開動吧。

內容提要

採用Arduino進行電子製作越來越流行,在網路上可以找到很多用Arduino製作機器人、媒體互動產品、電子創意項目的案例。本書用50個項目來介紹Arduino的套用,從最基礎的輸入輸出項目逐漸進入較高級的話題,比如Arduino與網際網路的連線等。每一個項目都由完整的硬體方案和軟體程式組成,讀者無須再翻閱其他書籍即可完成本書中的各種電子製作項目。

本書對讀者的基礎知識要求非常低,非常適合學生進行課外電子製作項目使用,同時本書也介紹了一些相當有難度和實用性很強的項目,對於有一定基礎的電子愛好者也有很好的參考價值。

目錄

作者簡介 iii

校訂者簡介 iv

致謝 v

前言 vi

 第1章引言 1

如何使用本書 2

你需要的東西 2

Arduino到底是什麼? 3

可以開始了 6

在Windows XP上安裝 7

在Windows 7或Vista上安裝 8

在Mac OSX上安裝 8

板子和接口的選擇 9

載入第一個程式 11

Arduino的IDE 12

 第2章讓我們開始吧 19

項目1——LED閃燈器 19

需要的元件 19

連線所有的東西 20

輸入代碼 21

代碼回顧 21

硬體回顧 26

項目2——S.O.S莫爾斯碼信號源 31

代碼回顧 32

項目3——交通信號燈35

需要的元件 35

把元件連起來 35

輸入代碼 36

項目4——互動交通燈37

需要的元件 38

把元件連線起來 38

輸入代碼 38

代碼回顧 41

硬體回顧 45

邏輯狀態 45

下拉電阻 46

上拉電阻 47

Arduino的內部上拉電阻 48

小結 49

本章的主題和概念 49

 第3章 LED效果51

項目5——LED跑馬燈效果 51

需要的元件 51

把元件連線起來 51

代碼回顧 53

項目6——互動LED跑馬燈效果55

需要的元件 55

把元件連線起來 55

輸入代碼 56

代碼回顧 57

硬體回顧 57

項目7——閃爍燈58

需要的元件 58

把元件連起來 59

輸入代碼 59

代碼回顧 60

項目8——RGB彩燈 61

需要的元件 61

把元件連線起來 62

輸入代碼 62

代碼回顧 63

項目9——LED火焰效果 67

需要的元件 67

把元件連線起來 68

輸入代碼 68

代碼回顧 69

項目10——串口控制彩燈 70

輸入代碼 70

代碼回顧 73

小結 83

本章的主題和概念 83

 第4章簡單的發聲器和感測器 85

項目11——壓電聲音報警器 85

需要的元件 85

把元件連線起來 85

輸入代碼 86

代碼回顧 87

硬體回顧 88

項目12——壓電揚聲器音樂演奏 89

輸入代碼 90

代碼回顧 91

項目13——壓電震動感測器 95

需要的元件 95

把元件連線起來 95

輸入代碼 96

代碼回顧 97

項目14——光敏元件 98

需要的元件 98

把元件連線起來 99

輸入代碼 99

硬體回顧 100

小結 102

本章的主題和概念 102

 第5章驅動直流電機 104

項目15——簡單的電機控制系統 104

需要的元件 104

把元件連線起來 105

輸入代碼 106

代碼回顧 106

硬體回顧 107

項目16——使用L293D電機驅動晶片 109

需要的元件 109

把元件連線起來 110

輸入代碼 111

代碼回顧 112

硬體回顧 113

小結 115

本章的主題和概念 115

 第6章二進制計數器 116

項目17——移位暫存器8位二進制計數器 116

需要的元件 116

把元件連線起來 117

輸入代碼 117

二進制數制 119

硬體回顧 120

代碼回顧 123

按位操作 125

代碼回顧(繼續) 128

項目18——16位二進制計數器 130

需要的元件 130

把元件連線起來 130

輸入代碼 131

代碼和硬體回顧 133

小結 134

本章的主題和概念 134

 第7章 LED顯示器 135

項目19——LED點陣顯示器——基本動畫 135

需要的元件 135

把元件連線起來 136

輸入代碼 137

硬體回顧 140

代碼回顧 143

項目20——LED點陣顯示器——滾動畫面 146

輸入代碼 146

代碼回顧 148

項目21——LED點陣顯示器——滾動信息 151

需要的元件 152

把元件連線起來 152

輸入代碼 154

硬體回顧 159

代碼回顧 163

項目22——LED點陣顯示器——Pong遊戲 173

需要的元件 173

把元件連線起來 173

上傳代碼 174

代碼回顧 175

小結 180

本章的主題和概念 180

 第8章液晶顯示器 182

項目23——基本的LCD控制 182

需要的元件 182

把元件連線起來 183

輸入代碼 184

代碼回顧 188

硬體回顧 193

項目24——LCD溫度顯示器 194

需要的元件 194

把元件連線起來 194

輸入代碼 195

代碼回顧 197

小結 201

本章的主題和概念 202

 第9章舵機 203

項目25——舵機控制 204

需要的元件 204

把元件連線起來 204

輸入代碼 205

代碼回顧 206

硬體回顧 207

項目26——兩個舵機控制系統 208

需要的元件 208

把元件連線起來 209

輸入代碼 209

代碼回顧 211

項目27——操縱桿控制舵機 214

需要的元件 214

把元件連線起來 214

輸入代碼 216

代碼回顧 217

小結 218

本章的主題和概念 218

 第10章步進電機和機器人 220

項目28——基本步進電機控制 220

需要的元件 220

把元件連線起來 221

輸入代碼 222

代碼回顧 223

硬體回顧 224

項目29——使用電機模板 226

需要的元件 226

把元件連線起來 227

輸入代碼 228

代碼回顧 230

硬體回顧 232

項目30——巡線機器人 233

需要的元件 233

把元件連線起來 234

輸入代碼 236

代碼回顧 239

小結 244

本章的主題和概念 244

 第11章壓力感測器 246

項目31——數字壓力感測器 246

需要的元件 246

把元件連線起來 247

輸入代碼 248

代碼回顧 251

代碼回顧(繼續) 257

項目32——數字氣壓表 262

需要的元件 262

把元件連線起來 263

輸入代碼 264

代碼回顧 269

小結 275

本章的主題和概念 276

 第12章觸控螢幕 277

項目33——基本的觸控螢幕 277

需要的元件 277

把元件連線起來 278

輸入代碼 279

硬體回顧 281

代碼回顧 282

項目34——觸控螢幕鍵盤 284

需要的元件 285

把元件連線起來 285

輸入代碼 286

代碼回顧 289

項目35——觸控螢幕燈控制 291

需要的元件 291

把元件連線起來 292

輸入代碼 293

代碼回顧 295

小結 297

本章的主題和概念 297

 第13章溫度感測器 298

項目36——串口溫度感測器 298

需要的元件 298

把元件連線起來 299

輸入代碼 300

代碼回顧 301

項目37——單線數字溫度感測器 303

需要的元件 303

把元件連線起來 303

輸入代碼 304

代碼回顧 309

小結 312

本章的主題和概念 312

 第14章超聲測距 313

項目38——簡單的超聲測距儀 313

需要的元件 313

把元件連起來 314

輸入代碼 314

代碼回顧 315

硬體回顧 317

項目39——超聲測距顯示儀 318

需要的元件 318

把元件連線起來 319

輸入代碼 321

代碼回顧 322

項目40——超聲報警 326

需要的元件 326

把元件連線起來 327

輸入代碼 327

代碼回顧 330

項目41——超聲電子音樂 333

輸入代碼 333

代碼回顧 334

小結 335

本章的主題和概念 336

 第15章讀寫SD卡 337

項目42——簡單的SD卡讀寫 337

需要的元件 337

把元件連線起來 338

輸入代碼 338

代碼回顧 342

項目43——用SD卡記錄溫度數據 348

需要的元件 348

把元件連線起來 349

輸入代碼 350

代碼回顧 356

硬體回顧 361

小結 363

本章的主題和概念 363

 第16章 RFID讀卡器 365

項目44——簡單的RFID讀卡器 365

需要的元件 366

把元件連線起來 366

輸入代碼 367

硬體回顧 367

項目45——門禁控制系統 368

需要的元件 369

把元件連線起來 369

輸入代碼 370

代碼回顧 373

小結 380

本章的主題和概念 380

 第17章連線到Internet 381

項目46——Ethernet板 381

需要的元件 381

把元件連線起來 382

輸入代碼 382

代碼回顧 386

項目47——Internet天氣顯示 391

輸入代碼 394

代碼回顧 400

項目48——電子郵件提醒系統 410

輸入代碼 410

代碼回顧 414

項目49——微博機器人 421

輸入代碼 421

代碼回顧 425

項目50——RSS讀取氣象信息 431

輸入代碼 431

代碼回顧 436

小結 446

本章的主題和概念 446

作者簡介

米歇爾·麥克羅伯茨(Michael McRoberts)2008年在天體攝影的小項目中製作雲探測器,尋找將溫度感測器連線到PC的方法時發現了Arduino。經過研究,發現Arduino是解決這個問題的理想選擇。最後很快成功地製作出了雲探測器,而且價格便宜。米歇爾對Arduino的興趣由此開始。自那以後,他採用Arduino完成了大量的工程項目。他同時在網上發現了被稱為“地球之光電子”(Earthshine Electronics)的Arduino入門套件及組件。他採用Arduino製作的下一個項目是在UKHAS和CUSF的搭檔們的幫助下,將一個高海拔氣球送到邊緣空間進行拍照和錄像。他做這個項目僅僅是為了好玩。

當米歇爾還是一個孩子的時候,就對電子產生了濃厚的興趣。那時,無線電器材公司還在利用一百合一電子套件製作聖誕禮物單。在他青少年時,得到一台辛克萊81計算機,開始對編程感興趣。從那以後,他再也離不開計算機。最近,他又成為了Mac平台的冬粉。

他是倫敦黑客聯盟(London Hackspace)和奧爾平頓天文協會的會員,他還經常為Arduino論壇寫一些東西。他還喜歡以“Arduino愛好者”(TheArduinoGuy)為網名,潛伏在Arduino、高海拔探測項目和倫敦黑客聯盟(一個位於倫敦的非盈利性的技術人員分享工具和知識的社區)等論壇上,或在Twitter上與網民閒聊。閒暇之餘,他也喜歡研究天文學、天體攝像,以及騎機車兜風和航海。

校訂者簡介

約翰·亞當斯(John Adams)是一名程式設計師和設計師,具有超過9年的產品質量檢測軟體和管理項目設計經驗。他曾經為高校科研項目做過能夠射出27英寸電火花的特斯拉線圈。作為Isotope 11網站的首席設計師,他負責審查架構決策,及將用戶需要轉換成工作軟體。約翰畢業於阿拉巴馬大學伯明罕分校,獲得數學和哲學學位。約翰業餘時間利用他的Arduino微處理器核對了本書的程式。不工作的時候,約翰喜歡和他的家人在一起。

媒體評論

最優秀的初級到中級Arduino培訓教程。

——新IT技術顧問、HCI研究員、前數字設備公司高級職員,伊拉.拉夫斯基

對於讀者來說最合適的Arduino書。我買了大量的Arduino書籍,我一直相信我的Arduino圖書館已經足夠完全了。然而當我看到這本書,我意識到我錯了,本書絕對是一個頂級的集大成者。讀此書,我不忍釋卷,一直閱讀並對應操作至昨日凌晨。現在已經完成到了第三章項目,實在是太酷了。

——讀者,克里斯托弗.戴

本書對於初學者來說棒極了;對於高手和技術宅來說也充滿了趣味。本書非常棒,內容通俗易懂,循序漸進,從第一章開始幫助初學者建立項目樹立信心。我向各位新手們推薦它。

——讀者,愛德華.楊

前言

我第一次接觸Arduino是在2008年,當時我正在為雲探測計畫的溫度感測器與計算機的連線方法發愁。我想實現一個氣象論壇上的雲探測想法,因為這是個實習性質的項目,所以我不想因項目失敗而損失太多的錢。當時有許多解決方案,但是採用Arduino的方案對我來說有點特別,因為它不僅是容易使用、價格便宜的連線感測器的方法,而且它還可以用於其他很酷的事情。在部落格、視頻網站和論壇上有成千上萬的用Arduino做得很炫的項目。看上去很有團隊精神,每個人都試圖幫助其他人。

顯而易見,我可以從Arduino上得到很多樂趣。然而,我不想在網站上漫無目的地尋找需要的信息。我想要買一本關於Arduino的書籍,我想手邊有些資料在工作中隨時去翻閱。一番尋找後,我發現了一本書。但是,它太基礎了,信息量小,幾乎不能給我使用Arduino提供一點實際的幫助,而且我不喜歡那本書的講授方式。我希望得到的是一本手冊式的書來指導編程和學習電子知識,當我做一些東西時不想首先閱讀一大串理論知識。這種簡潔明了的書當時還不存在。

當我開始封裝基於Arduino的“地球之光”項目工具的時候,為幫助使用這個工具,我寫了一個小指導書指導其他人使用這個工具。這本小書後來非常流行,並且我從人們的提問中得到了幾百條反饋意見,包括什麼時候增加更多的項目或是否賣印刷版的指導手冊。實際上,我已經想到了寫一本初學者容易理解的書要採用這種項目講授方式,即簡單指導動手做的編寫方式。這就是這本書的來源。

我寫這本書假定讀者之前從來沒有編寫過電腦程式,也沒有電子知識,並且假定讀者在實際動手用Arduino做一些事情前沒有興趣學習大量的理論知識。因此,當你使用這本書時就從做一些小項目開始,接下來你將要完成整整50個項目,直到你對Arduino開發精通。我相信學一項技術最好的方法是通過直接動手做些事情來學。

本書是這樣編排的,第一個項目介紹一些關於Arduino編程和電子學知識的基本概念。接下來的項目再增加一點,每一個項目都建立在之前項目的基礎上,當你完成50個項目時,你就可以有信心並且專業地做你自己的項目了。用新的技巧和知識去連線Arduino的外圍元件,根據你的興趣用Arduino做電子設計項目。

每一個項目開始就列出了項目元件需求單。我選擇的都是通用元件,很容易買到。我也提供了一個電路圖直觀演示如何使用跳線和麵包板連線Arduino和元件。為給這本書生成元件圖和麵包板電路圖,我用了一款優秀的開源軟體Fritzing。這個程式用逼真的方法演示麵包板電路圖及其他電路。

當你連線電路之後,根據書中提供的代碼,把它輸入Arduino的開發環境(IDE)就可以上傳到你的Arduino中,並使項目工作。很快就可以得到一個真正的項目運行結果。當項目工作並看到它的運行結果之後,我解釋代碼是如何工作的。硬體也通過這種方式向你解釋它是如何工作的,以及如何正確地把它們連線到Arduino。之後為你一步一步地解釋代碼,因此你會非常清楚代碼每一部分的作用。通過分解電路和代碼,你就能理解整個項目,之後這些技巧和知識可用在後面的項目及今後你自己的項目中。

這種講授方式非常容易動手操作。即使你對編程和電子設計一點經驗也沒有,你也可以非常容易地以這種方式理解相關概念。更重要的是,你不會因大量枯燥的理論而喪失興趣。Arduino是強大、有趣、開源的產品,在這本書的幫助下,你會發現通過單片機使你自己的設備與環境互動是多么簡單。

MikeMcRoberts

相關詞條

相關搜尋

熱門詞條

聯絡我們