-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Arduino編程從基礎到實踐

( 簡體 字)
作者:楊繼志,郭敬類別:1. -> 電腦組織與體系結構 -> 單晶片 -> Arduino
譯者:
出版社:電子工業出版社Arduino編程從基礎到實踐 3dWoo書號: 42725
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:10/1/2015
頁數:288
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121272530
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

關于作者 Brian Evans 是專注于電子藝術裝置領域的藝術家,同時也是位于丹佛的大都會州立學院的副教授。他教授藝術設計中的多學科融合課程和設計概論,包括特殊的藝術表現媒介、電子藝術品創作和 3D 打印課程。他在許多課程中使用了開源硬件,把它們用于藝術和設計創作,這些開源硬件包括 MakerBot 和 RepRap 的 3D 打印機及 Arduino 開發平臺。 他的作品已經在洛杉磯巴恩斯德爾公園市政藝術畫廊、奧蘭治縣的當代藝術中心、加州州立大學藝術博物館、長灘市等地展出。Brian Evans 還是加拿大艾伯塔的班夫新媒體研究所開源硬件園地的常客和活躍分子。他于 2005 年在亞利桑那州大學獲得美術學士學位,于 2008 年獲得長灘市加利福尼亞州立大學的美術碩士學位,于 2009 年曾作為志愿者為紐約開源硬件高峰論壇服務。 關于技術顧問 Ryan Owens 畢業于華盛頓芝加哥大學,獲得電子和計算機工程學位。他是 SparkFun Electronics 公司的設計工程師,他在那里設計新產品,為各層次的嵌入式電子愛好者編寫手冊和 “跟我學” 之類的指導書。 他也為電子技術初學者講授初步的電子實踐課程和 Arduino編程課程,無論是孩子還是 IT 專家都可以學習這些課程。 致 謝 沒有我的妻子 Susan、同事和好朋友們的真誠支持和鼓勵,我無法完成本書的寫作。感謝你們對我的幫助;并感謝我的女兒 Kori,在我寫作本書的過程中給了我精神上的支持;我還必須向我的父親 Arvin 致敬并表示感謝,他幫助我掙脫了一些束縛,甚至可能最嚴重的一些羈絆;同時,我誠摯地向我的朋友和 Metropolitian State 公司的同事表示感謝,他們給了我一個成為人師的平臺并鼓勵我展開本書的寫作。 感謝 Paul Badger, 我們倆圍繞本書早期想法的反復討論對我有很大的啟發; 感謝 DavidMellis 對我的那些愚蠢的 E-mail 的回復;感謝 Tom Igoe,我們分享了那些有思想有內容的對話。本書的完成也離不開影響力巨大的活躍的社區創建者們的支持,是他們成就了Arduino 平臺,還無私地分享了大量的成果。我受到了極大的啟發,并使用了該平臺的大量資源,感謝你們。 當然我還需要感謝出版者們——Apress 公司的了不起的編輯團隊,他們不知疲倦地工作以使這本書出版:Frank Pohlmann,他給我機會實現這個藍圖;Jessica Belanger 幫助我堅持下去;James Markhan 使我從溜號狀態返回到專注狀態;也感謝技術顧問 Ryan Owens,他的洞察力和反饋對我完成這個項目幫助很大。 我必須感謝我的非常有創造力的天才般的學生們,他們使我在本書開始寫作后不敢有絲毫松懈,并且給了我每天做我該做的事情的理由。 簡介 本書可幫助你開發實用的 Arduino 控制器項目。我們主要關注物理計算方面的軟件問題——通過設計軟件代碼控制物理實體來展現各種行為或通過軟件實現人機互動。本書從講解 Arduino 平臺的基本內容開始,運行第一個例子代碼,接下來討論 Arduino 的類 C 編程語言的結構和語法,探討變量、控制結構、數組和存儲器。本書還涉及許多 Arduino 開發所獨有的函數,這些函數用來控制數字和模擬量輸入輸出、定時器、隨機事件,之后討論如何編寫自己的函數,以及如何使用豐富的 Arduino 庫資源來控制各種各樣的硬件和使用各種通信協議。 就像之前所說的,Arduino 適合模塊化快速開發項目的理念。可以打這樣一個比喻:我們在用代碼實現項目藍圖時,就像是用“代碼積木”以一種個性化的直觀方法快速實現自己的設計目標。本書絕大部分論述方式都圍繞了這樣一種理念,通過實用項目來發展編程技巧,我們也提供了一些關于新項目和新元件使用的建議、新編程語言的試驗項目,以及反哺技術社區的方法。本書有意避免涉及太深的電子技術理論、電路設計和瑣碎的細節或其他基于特定硬件的練習項目,但是在每章最后回顧硬件方面的內容時提供了一些基礎的物理計算公式。 本書在很多地方涉及了在 Arduino 編程手冊中沒有涉及的內容,甚至更深入地探討了Arduino 開發環境,提供了簡單的全是干貨的代碼例程、簡單易讀的示意圖和說明。我在2007 年用 Arduino 給第十五系的學生上藝術和設計主修課時,編寫了一本手冊和一個小巧的 PDF 文檔,這是我第一次編寫 Arduino 編程知識,并不是一本簡單的手冊。這本精心編寫的小冊子,已經被譯成西班牙語、俄語和荷蘭語等版本,其中有許多內容與當前技術不同,可能跟不上 Arduino 的飛速發展,但它還是在全世界的工廠和課堂中被廣泛使用。最近幾年我沒升級這本手冊,我也不確信它現在還有用,因此希望本書能填補這個空白,成為這本手冊的升級版。 本書讀者對象 本書寫給以 Arduino 為平臺的藝術家、設計師、學生、喜歡創作小作品的人。在選擇使用 Arduino 平臺時,你需要一些在該平臺上編程和實踐的知識,本書的受眾假定為沒有編程經驗的人。順便說一下,用家用電腦去查找超出本書范圍的答案會很有用。 Arduino 的大多數使用者通常不關心技術細節, 只想讓其項目能夠工作。 我非常理解這種想法,因為我就是其中一員。在還是一名藝術專業的學生時,我發現了可編程控制器,那時的藝術學校通常沒有學寫代碼和纏電機的環境,Arduino 的到來改變了這一切。同樣,我也不是一名數學愛好者,幸運的是,這也不是鉆研寫 Arduino 代碼所預先要求具備的條件。 閱讀本書 本書的每章內容都集中在幾個基本項目上,這些項目又建立在相應章節所提到的基本概念之上。對于每個項目,都是先給出對項目的描述,之后討論項目中需要的硬件。書中也提供一些關于如何建立這些簡單的電路和如何把元器件連接到 Arduino 控制板的圖示和說明。在學習這些項目的過程中,你可以在頁邊空白處做點筆記并寫一些心得——我鼓勵你這樣做。一定要多加練習,試驗新東西,觀察新變化。 本書所涉及的項目都是非常典型的,或者是為演示設計新東西需要的基本概念而設計的。本書將遵循一定程度的“極簡藝術”理念,通過使用簡單并容易獲得的硬件來培養以高雅的方式寫代碼的技能。一旦實踐了這些典型的項目,這些項目就可以用到真正的項目中。本書不完全是在做這些實際項目,而是專注于如何編寫代碼并逐漸完善代碼。書中的例子會互相借鑒,在需要理解正在編寫的和逐漸完善的代碼時,你可以回顧之前的例子。 例子代碼的編寫本著在任何地方都可以輕松復用的原則,或可以進一步改進為部件化的模塊化的代碼的原則。讀者要花大量的時間提升編寫復用代碼的技巧,因此在得到一個獨立的新項目時,你就會知道該如何下手。你可以隨意更改這些通用的例子代碼,例如改變數值、時間、引腳分配、變化幅度等,直到代碼不工作了,再嘗試把它弄好。在本書的例子中,我保持了一種十分特別的書寫代碼的風格,我極力主張你發展自己書寫代碼的風格,這種風格反映了你的思維方式和看待代碼的方式。 做項目電路布線是非常簡單、直觀的,幾乎不需要任何電子知識。第 12 章匯總了基本的電子器件知識,貫穿了我們討論的編程方法,以及書中涉及的物理電路,回顧了編程與硬件之間的聯系,包括電路是如何工作的、讀圖表及焊接方法等。如果你發現自己學第 12章之前的內容時比較辛苦,那么你可以先跳到第 12 章預習一下硬件知識。如果你對硬件已經有所了解,那么第 12 章可作為一個好的概要,回答一些你還不是很清楚答案的問題。可以把這些硬件知識看作一個簡要的介紹,這些知識在我這幾年的授課中發揮了比較重要的作用。 Arduino 1.0 在我編寫這本書時,Arduino 的開發者們正在為創建更穩定、更高效的被叫作 Arduino1.0 的 Arduino 升級版開發軟件而努力。 Arduino 1.0 的最終發布版本在本書出版時應該已經發行了。版本升級是非常重要的,因為要使事情做得更好,某些常規要有所突破才行。這意味著在阿爾法版本的 Arduino 軟件下寫的一些舊代碼可能在 Arduino 1.0 版本上不能使用了。 相反,本書中的代碼和 Arduino 開發環境的圖片都是用 Arduino 1.0 Beta 發行版本做的(http://code.google.com/p/arduino/wike/Arduino1) , 因此本書中的 Arduino 軟件界面可能與最終版本展示的界面有所不同,書中的一些代碼也可能在舊版本的軟件下不能工作,Arduino 1.0 軟件的其他特征并沒有完全在本書中展現,所以我沒有寫有關新特征的內容。在升級版本時還有一些關于硬件引腳升級的內容,但我們現在對這些具體內容還不太清楚,因此如果有異常問題發生,那么這可能要歸結為 Arduino 1.0 軟件的問題,從而查找在哪里發生了什么錯誤。 約定 在本書中我們使用了一些約定,包括使用定寬字體來標識例子代碼,以及使用任何后面帶有括號的字符串如 setup()或 loop()來標識調用函數。有時會從主句中分離出一個適合定寬字形的塊。下面是一個多行注釋的例子: //this is a mulitline //code example ? 注意 千萬不要用比實際需要小的電阻,因為如果你向 LED 輸入了太大的電流,則不但會造成 LED 的永久性損壞,也可能會損壞電路中的其他元件。 ?下載代碼 本書代碼可以從 Apress 網站的代碼資源下載頁面下載,如果你需要發布本書中使用的例子代碼,則請使用包括書名、作者、出版社、年份和 ISBN 的屬性文件。
內容簡介:

目前Arduino開源硬件技術在國內漸漸興起,相關的圖書的市場表現不錯,作為計算機的硬件科學,這本書apress系列書之一,內容正統,篇幅適中,翻譯難度不大。與電子社已經獲得版權的《beginning arduino》(偏重案例)和《arduino robotics》(偏重高端應用)相比,偏重初級與中級理論實踐普及方面,屬于入門圖書,讀者基數多。

目錄:

第 1 章 開始 .................................1
Arduino 是為 DIY 愛好者設計的 .......................1
Arduino 生態系統 .............................3
Arduino 平臺 .............................3
開源硬件 ...............................4
社區 .................................5
Arduino 世界 .............................6
Arduino 采用 C 語言還是其他語言 ......................7
我們需要什么元件 .............................9
進入正題 ................................ 11
安裝軟件 .............................. 12
連接到 Arduino ........................... 13
打開一個框架 ............................ 13
選擇板子和串口 ........................... 14
上傳框架 .............................. 15
總結 .................................. 16
第 2 章 代碼架構 .............................. 17
什么是代碼的框架 ............................ 18
項目 1:RGB 閃燈 ............................ 19
把它連上 ..............................20
上傳代碼 .............................. 21
代碼總結 .............................. 22
Arduino C 的結構 ............................. 22
使用注釋 .............................. 23
基本函數 .............................. 24
語句和語法 .............................26
確認和上傳 ............................... 27
確認 ................................ 27
保存 ................................ 28
上傳 ................................ 29
常見的錯誤 ............................. 30
總結 .................................. 32
第 3 章 使用變量 .............................. 34
項目 2:七色變色燈 ........................... 35
把它們連接起來 ........................... 35
上傳源代碼 ............................. 36
代碼總結 .............................. 37
什么是變量 ............................... 38
聲明變量 .............................. 39
變量名 ............................... 40
數據類型 .............................. 41
變量修飾 .............................. 43
預定義常量 ............................. 44
變量作用域 ............................. 44
使用操作符 ............................... 45
數學運算符:+、-、*、/ ....................... 46
復合操作符:++、??、+=、-=、 * =、/= .................. 47
運算順序 .............................. 48
總結 .................................. 49
第 4 章 進行判斷 .............................. 50
項目 3:閃燈 ..............................51
把它連接起來 ............................51
上傳代碼 .............................. 52
源代碼總結 ............................. 54
對比和邏輯操作 ............................. 56
控制結構 ................................ 58
if ................................. 58
for................................. 60
while ................................ 61
do ................................. 62
switch ............................... 63
break ................................ 64
continue .............................. 65
總結 .................................. 65
第 5 章 數字輸入和輸出 ........................... 67
Arduino I/O 擴展 ............................. 68
項目 4:吵鬧的蛐蛐 ........................... 70
把它連起來 ............................. 70
上傳代碼 .............................. 72
源代碼總結 .............................73
數字函數 ................................ 75
pinMode() .............................. 75
digitalWrite() ............................. 76
digitalRead() ............................. 77
狀態轉換 ................................ 78
切換 ................................ 79
計數 ................................ 81
模式 ................................82
總結 .................................. 85
第 6 章 模擬輸入、模擬輸出 ......................... 86
模擬量揭秘 ............................... 87
項目 5:呼吸遠程信息處理 ........................ 88
把它們連起來 ............................ 89
上傳代碼 .............................. 91
源代碼總結 ............................. 91
模擬函數 ................................ 93
analogRead() ............................. 93
analogWrite() ............................ 95
analogReference() ........................... 96
模擬串口監視器 ............................. 97
讀模擬值 .............................. 98
使用串口監視器 ........................... 99
它是如何工作的 .......................... 100
映射數值 ............................... 101
map() ............................... 101
constrain() .............................102
總結 ................................. 103
第 7 章 高級函數 ............................. 104
時間函數 ............................... 105
delay() ............................... 105
delayMicroseconds() ......................... 106
millis() ............................... 107
micros() .............................. 109
隨機函數 ............................... 109
random() .............................. 110
randomSeed() ............................ 112
項目 6:環境溫度 ............................ 113
連接起來 ............................. 114
上傳源代碼 ............................ 116
源代碼總結 ............................ 118
寫函數 ................................ 121
聲明函數 ............................. 121
調用函數 ............................. 122
函數返回值 ............................ 122
函數的參數 ............................ 124
項目 7:HSB 彩色 LED .......................... 125
把它們連起來 ........................... 125
上傳源代碼 ............................. 127
源代碼總結 ............................ 129
硬件中斷 ............................... 130
attachInterrupt() ........................... 131
detachInterrupt() .......................... 132
總結 ................................. 132
第 8 章 數組和存儲區 ........................... 133
項目 8:占卜機 ............................. 134
把它們連起來 ........................... 134
上傳源代碼 ............................ 136
源代碼總結 ............................ 139
數組 ................................. 143
聲明數組 ............................. 143
使用數組 ............................. 145
字符數組 ............................. 148
多維數組 ............................. 149
Arduino 存儲器 ............................. 151
檢查剩余的 RAM .......................... 153
使用程序存儲空間 ......................... 154
使用 EEPROM ............................ 156
總結 ................................. 158
第 9 章 硬件庫 .............................. 159
使用庫 ................................ 160
生成一個實例 ........................... 160
初始化庫 ............................. 161
LiquidCrystal 庫 ............................. 161
例子代碼:用 Arduino 顯示詩句 .................... 163
LiquidCrystal() ............................ 164
begin() ............................... 165
print() ............................... 165
clear() ............................... 166
setCursor() ............................. 166
例子代碼:符號和 Characters() .................... 166
write() ............................... 168
createChar() ............................ 169
例子代碼:魚缸動畫 ........................ 171
scrollDisplayLeft()和 scrollDisplayRight() .................. 173
舵機庫 ................................. 174
例子代碼:鬧鐘 ........................... 176
舵機 ............................... 177
attach() .............................. 177
write() ............................... 178
步進電機 ................................179
例子代碼:60s 掃描 ......................... 183
Stepper .............................. 183
setSpeed() ............................. 184
step() ............................... 184
SD 卡庫 ................................ 186
例子代碼:SD 卡記錄儀 ....................... 188
File ................................ 189
SD.begin() ............................. 190
SD.open() ............................. 190
close() ............................... 191
write() ............................... 191
print() ............................... 191
例子代碼:SD 卡閃爍 ........................ 192
available() ............................. 193
read() ............................... 193
總結 ................................. 194
第 10 章 串行通信和 I2C .......................... 195
使用硬件串口 ............................. 196
項目 9:串口控制舵機 .......................... 198
把它連起來 ............................ 198
上傳代碼 ............................. 199
代碼總結 ............................. 200
串口庫 ................................ 200
begin() ............................... 201
available() ............................. 201
read() ............................... 202
print() ............................... 204
println() .............................. 205
write() ............................... 205
項目 10:RFID 讀卡器 .......................... 206
把東西連接起來 .......................... 206
上傳源代碼 ............................. 207
源代碼總結 ............................ 209
軟串口庫 ............................... 210
SoftwareSerial() ........................... 211
begin() ............................... 211
flush() ............................... 211
strncmp() ............................. 212
項目 11:串行時鐘 ........................... 213
把它們連接起來 .......................... 213
上傳源代碼 ............................ 214
代碼總結 ..............................217
wire 庫 ................................ 222
begin() ............................... 222
beginTransmission() ......................... 223
endTransmission() .......................... 223
write() ............................... 223
requestFrom(); ........................... 224
read() ............................... 224
總結 ................................. 224
第 11 章 繼續 ............................... 226
建立更多的項目 ............................ 226
紅利項目 1:做個自動發送 Twitter 的項目 ............... 226
紅利項目 2:使東西運動 ....................... 229
紅利項目 3:大型的東西 ....................... 235
學習其他語言 ............................. 236
Firmata .............................. 236
Processing ............................. 238
PureData .............................. 239
為社區做貢獻 ............................. 241
參與在線論壇 ........................... 241
發布你的項目 ........................... 243
總結 ................................. 245
第 12 章 基礎電子學 ............................ 247
基礎電子學 .............................. 248
電路 ............................... 248
電源 ............................... 249
常見元件 ............................... 250
電阻 ................................251
電容 ................................251
二極管 ............................... 252
三極管 ...............................253
開關 ................................255
電機 ............................... 256
讀原理圖 ................................ 257
原型 ................................. 258
面包板 .............................. 259
焊接 .................................. 262
總結 ................................. 264
附錄 資源 ................................ 265
附加資源 ............................... 265
論壇 ............................... 265
指導書 .............................. 266
其他素材 ............................. 266
選擇供應商 ............................... 267
本書中用到的元件 ........................... 268
序: