編輯推薦
適讀人群 :對Arduino感興趣的讀者。 作為成功的開源硬件平颱,Arduino不但讓普通人實現瞭工程師夢想,也被廣泛應用在機器人、環境監測傳感器、衛星等大大小小的正式項目中。 本書針對想瞭解Arduino細節、追求個性和新鮮事物的愛好者,詳盡介紹瞭使用Arduino開發闆與擴展闆的過程中應該瞭解的技術細節、注意事項,並傳達瞭一些非常重要的設計思想,旨在幫助讀者實現創客夢想。 - Arduino開發闆的物理特性與接口功能 - Arduino使用的各種AVR微控製器 - Arduino特有的編程環境,包括“程序” - 各種擴展闆,如閃存、以太網、藍牙、ZigBee - 可與Arduino一起工作的傳感器、繼電器模塊、小鍵盤等附加組件 - 從零開始創建自定義擴展闆 - 介紹如何分析各種設計問題、定義實體與可測試需求,確保開發成功
內容簡介
本書主要講解瞭Arduino開發闆的物理特性與接口功能,Arduino使用的各種AVR微控製器,Arduino特有的編程環境,各種擴展闆,可與Arduino一起工作的傳感器、繼電器模塊、小鍵盤以及其他附加組件,從零開始創建自定義擴展闆的步驟,介紹各種分析設計問題、定義實體與可測試需求的方法,確保開發成功。
作者簡介
John M. Hughes 嵌入式係統工程師,在電子學、嵌入式係統及軟件、航天係統和科學應用開發等領域擁有30餘年的從業經驗。 曾負責為鳳凰號火星探測器開發錶麵成像軟件。他所在的一個小組還開發瞭新型閤成外差激光乾涉儀,用於校正韋伯太空望遠鏡鏡片的位置控製。 另著有《電子工程師必讀:元器件與技術》,為沒有電子學專業背景的愛好者和創客係統介紹電子學中的硬件、元件、工具和技術。
目錄
前言
第 1 章 Arduino 傢族 1
1.1 Arduino 簡史.1
1.2 Arduino 設備類型.2
1.3 Arduino 實物展示.3
1.4 Arduino 兼容設備.6
1.4.1 硬件兼容設備 6
1.4.2 軟件兼容設備 7
1.5 Arduino 命名約定.8
1.6 使用Arduino 可以實現的目的9
1.7 更多信息 .11
第 2 章 AVR 微控製器 .12
2.1 背景.12
2.2 內部架構 .13
2.3 內部存儲器 .16
2.4 外圍功能 .16
2.4.1 控製寄存器 16
2.4.2 數字I O 端口 .17
2.4.3 8 位定時器 計數器 18
2.4.4 16 位定時器 計數器 19
2.4.5 定時器 計數器預分頻器 .19
2.5 模擬比較器 .19
2.6 模數轉換器 .20
2.7 串行I O.21
2.7.1 USART 22
2.7.2 SPI .22
2.7.3 TWI .23
2.8 中斷 24
2.9 看門狗定時器 .26
2.10 電氣特性 .26
2.11 更多信息 .27
第3 章 Arduino 專用AVR 微控製器 .28
3.1 ATmega168 328 29
3.1.1 內存 29
3.1.2 特性 29
3.1.3 封裝 30
3.1.4 端口 31
3.1.5 引腳電路 31
3.1.6 模擬比較器輸入 31
3.1.7 模擬輸入 32
3.1.8 串行接口 32
3.1.9 定時器 時鍾I O .33
3.1.10 外部中斷 33
3.1.11 Arduino 引腳分配 34
3.1.12 基本電氣特性 35
3.2 ATmega1280 ATmega2560 35
3.2.1 內存 35
3.2.2 特性 37
3.2.3 封裝 37
3.2.4 端口 37
3.2.5 引腳功能 38
3.2.6 模擬比較器輸入 38
3.2.7 模擬輸入 39
3.2.8 串行接口 39
3.2.9 定時器 時鍾I O .40
3.2.10 外部中斷 41
3.2.11 Arduino 引腳分配 41
3.2.12 電氣特性 44
3.3 ATmega32U4 44
3.3.1 內存 44
3.3.2 特性 45
3.3.3 封裝 46
3.3.4 端口 46
3.3.5 引腳功能 47
3.3.6 模擬比較器輸入 47
3.3.7 模擬輸入 47
3.3.8 串行接口 48
3.3.9 定時器 時鍾I O .49
3.3.10 外部中斷 50
3.3.11 USB2.0 接口 .51
3.3.12 電氣特性 52
3.3.13 Arduino 引腳分配 52
3.4 熔絲位 .53
3.5 更多信息 .55
第4 章 Arduino 技術細節 .56
4.1 Arduino 特性與功能.56
4.2 Arduino USB 接口 57
4.3 Arduino 物理大小.59
4.3.1 全尺寸基本Arduino PCB 類型.60
4.3.2 Mega 類型的Arduino PCB .61
4.3.3 小型Arduino PCB62
4.3.4 特殊用途PCB 類型 .65
4.4 Arduino 引腳布局.66
4.4.1 Arduino 基綫引腳布局 66
4.4.2 擴展基綫引腳布局 67
4.4.3 Mega 引腳布局 72
4.4.4 非標準布局 74
4.5 更多信息 78
第5 章 對Arduino 與AVR 微控製器編程 .79
5.1 微控製器交叉編譯 .80
5.2 BootLoader 81
5.3 Arduino IDE 環境 .83
5.3.1 安裝Arduino IDE 84
5.3.2 配置Arduino IDE 85
5.4 使用Arduino IDE 進行交叉編譯 86
5.4.1 Arduino 可執行映像 89
5.4.2 Arduino 軟件創建過程 89
5.4.3 程序標簽卡 90
5.4.4 Arduino 軟件架構 91
5.4.5 運行時支持:main() 函數 92
5.4.6 程序示例 94
5.4.7 常量 97
5.4.8 全局變量 97
5.5 庫 .98
5.5.1 在Arduino 程序中使用庫 .98
5.5.2 將庫添加到Arduino IDE 101
5.5.3 創建自定義庫 103
5.6 Arduino 源代碼.103
第6 章 不使用Arduino IDE 編程 .105
6.1 IDE 替換方案 .105
6.1.1 PlatformIO 105
6.1.2 Ino .107
6.2 AVR 工具鏈 .108
6.2.1 安裝工具鏈 111
6.2.2 make 112
6.2.3 avr-gcc.113
6.2.4 binutils 113
6.2.5 avr-libc 116
6.3 從零開始構建C 或C++ 程序 .118
6.3.1 使用avr-gcc 或avr-g++ 進行編譯 118
6.3.2 多個源文件與make 程序 118
6.4 AVR 匯編語言 .120
6.4.1 AVR 編程模型 .121
6.4.2 創建AVR 匯編語言程序 123
6.4.3 AVR 匯編語言資源 .125
6.5 上傳AVR 可執行代碼 126
6.5.1 係統內編程 126
6.5.2 使用Bootloader 編程 .127
6.5.3 不使用Bootloader 上傳 .127
6.5.4 JTAG .129
6.5.5 AVRDUDE .129
6.5.6 將Arduino 用作ISP 131
6.5.7 Bootloader 運作 131
6.5.8 更換Bootloader 133
6.6 小結 .133
第7 章 Arduino 庫 .134
7.1 庫組件 .134
7.1.1 EEPROM 136
7.1.2 Ethernet .138
7.1.3 Firmata 144
7.1.4 GSM 148
7.1.5 LiquidCrystal 157
7.1.6 SD .160
7.1.7 Servo .163
7.1.8 SPI .164
7.1.9 SoftwareSerial .165
7.1.10 Stepper 167
7.1.11 TFT .167
7.1.12 Wi-Fi .170
7.1.13 Wi-Fi 類 172
7.1.14 IPAddress 類 172
7.1.15 Server 類 172
7.1.16 Client 類 173
7.1.17 UDP 類 173
7.1.18 Wire .174
7.1.19 Esplora .176
7.2 第三方庫 .179
第8 章 擴展闆 182
8.1 擴展闆的電氣特性 .183
8.2 擴展闆的物理特性 .184
8.3 堆疊擴展闆 .186
8.4 常用Arduino 擴展闆186
8.4.1 輸入 輸齣 .187
8.4.2 I O 擴展闆 187
8.4.3 I O 拓展闆 191
8.4.4 繼電器擴展闆 194
8.4.5 信號路由擴展闆 196
8.4.6 存儲器 199
8.4.7 通信 201
8.4.8 串行I O 與MIDI .201
8.4.9 Ethernet .202
8.4.10 藍牙 204
8.4.11 USB .205
8.4.12 ZigBee .207
8.4.13 CAN 208
8.4.14 原型 211
8.4.15 製作自定義原型擴展闆 213
8.4.16 運動控製 214
8.4.17 DC 與步進電機控製 214
8.4.18 PWM 與舵機控製 216
8.4.19 顯示器 217
8.4.20 儀錶擴展闆 223
8.4.21 適配器擴展闆 225
8.4.22 混雜擴展闆 226
8.5 非常見Arduino 擴展闆230
8.6 資源 231
第9 章 模塊與I O 組件 .233
9.1 模塊234
9.1.1 物理外形 235
9.1.2 接口 235
9.1.3 模塊來源 238
9.1.4 模塊說明 238
9.2 Grove 模塊 260
9.3 傳感器與模塊介紹 .261
9.4 傳感器 .262
9.4.1 溫度、濕度、壓力傳感器 263
9.4.2 傾斜傳感器 267
9.4.3 聲音傳感器 268
9.4.4 光綫傳感器 269
9.4.5 磁場傳感器 272
9.4.6 振動與敲擊傳感器 273
9.4.7 運動傳感器 274
9.4.8 接觸與位置傳感器 275
9.4.9 距離傳感器 278
9.5 通信 279
9.5.1 APC220 無綫模塊 279
9.5.2 315 433 MHz RF 模塊 .280
9.5.3 ESP8266 收發器.280
9.6 輸齣設備與元件 .281
9.6.1 光源 281
9.6.2 繼電器、電機與舵機 285
9.6.3 模擬信號輸齣 287
9.7 用戶輸入 .288
9.7.1 鍵盤 288
9.7.2 搖杆 289
9.7.3 電位器與鏇轉編碼器 289
9.8 用戶輸齣 .289
9.8.1 文本顯示器 290
9.8.2 圖形顯示器 291
9.9 支持功能 .291
9.9.1 時鍾 292
9.9.2 定時器 293
9.10 連接 294
9.10.1 使用裸露跳綫 294
9.10.2 模塊連接係統 294
9.10.3 自己動手製作連接器 295
9.10.4 選擇連接方法 297
9.11 供應商資源 .297
9.12 小結 .297
第 10 章 自己動手製作元件 .299
10.1 準備工作 .301
10.2 製作擴展闆 .305
10.2.1 物理考慮 .306
10.2.2 堆疊擴展闆 .307
10.2.3 電氣考慮 .308
10.3 製作GreenShield 擴展闆 .309
10.3.1 目標 .309
10.3.2 定義與規劃 .309
10.3.3 設計 .310
10.3.4 製作原型 .316
10.3.5 **終軟件 .322
10.3.6 裝配 .328
10.3.7 **終驗收測試 .332
10.3.8 運行 .333
10.3.9 後續步驟 .334
10.4 製作與Arduino 兼容的PCB .334
10.5 Switchinator 335
10.5.1 定義與規劃 .335
10.5.2 設計 .336
10.5.3 原型 .347
10.5.4 軟件 .350
10.5.5 製造 .353
10.5.6 驗收檢測 .356
10.5.7 後續步驟 .356
10.6 資源 .356
第 11 章 項目:可編程信號發生器 358
11.1 項目目標 .360
11.2 定義與規劃 .360
11.3 設計 362
11.3.1 功能 .362
11.3.2 外殼 .363
11.3.3 電路圖 .364
11.4 搭建原型 .366
11.4.1 控製輸入與模式 .367
11.4.2 顯示輸齣 .368
11.4.3 DDS 模塊 369
11.5 軟件 .370
11.5.1 源代碼組織 .371
11.5.2 軟件描述 .372
11.5.3 DDS 庫 378
11.5.4 測試 .379
11.6 **終組裝 .382
11.6.1 上拉電阻陣列 .382
11.6.2 輸入保護 .383
11.6.3 機箱外殼 .384
11.6.4 DC 電源.386
11.7 **終測試與結束 .386
11.8 削減開支 .387
11.9 成本明細 .388
11.10 資源 .389
第 12 章 項目:智能調溫器 .390
12.1 背景 390
12.1.1 HVAC 概述 .391
12.1.2 溫度控製基礎 .392
12.1.3 智能溫度控製 .394
12.2 項目目標 .395
12.3 定義與規劃 .395
12.4 設計 .396
12.4.1 功能 .396
12.4.2 外殼 .397
12.4.3 電路圖 .399
12.4.4 軟件 .399
12.4.5 用戶輸入 輸齣 402
12.4.6 控製輸齣 .406
12.5 原型 406
12.5.1 DHT22 傳感器 407
12.5.2 鏇轉編碼器 .408
12.5.3 實時時鍾模塊 .409
12.5.4 LCD 擴展闆 410
12.6 軟件 .410
12.6.1 源代碼組織 .410
12.6.2 軟件描述 .410
12.6.3 測試 .413
12.7 **終版本 .413
12.7.1 組裝 .414
12.7.2 測試與運行 .416
12.8 成本明細 .417
12.9 後續步驟 .417
12.10 資源 .418
第 13 章 模型火箭發射器:設計研究 419
13.1 概覽 419
13.2 設計周期 .420
13.3 目標 421
13.4 選擇與定義功能需求 .423
13.5 進行初步設計 .426
13.5.1 設計可行性 .429
13.5.2 初始元件列錶 .432
13.6 原型 432
13.7 **終設計 .433
13.7.1 電氣特徵 .433
13.7.2 物理外形 .438
13.7.3 軟件 .440
13.7.4 測試與運行 .442
13.8 成本分析 .443
附錄A 工具與配件 444
附錄B AVR ATmega 控製寄存器 455
附錄C Arduino 與兼容産品廠商 477
附錄D 推薦閱讀 482
附錄E Arduino 與AVR 軟件開發工具 .484
關於作者.487
關於封麵 487
Arduino技術指南 下載 mobi epub pdf txt 電子書 格式