前言
第1章 Arduino1.0.4的內(nèi)核變化 1
1.1 Arduino IDE的變化 1
1.2 程序的變化 2
1.3 API的升級(jí) 3
1.3.1 pinMode 3
1.3.2 返回類(lèi)型 4
1.3.3 uint_8 4
1.4 Arduino API Core 1.0.4 4
1.4.1 Arduino.h 4
1.4.2 串行對(duì)象的升級(jí) 5
1.4.3 升級(jí)后的Stream類(lèi) 5
1.4.4 Print類(lèi) 6
1.4.5 新型的可打印類(lèi) 7
1.4.6 字符串庫(kù)的升級(jí) 7
1.4.7 有線庫(kù)的升級(jí) 8
1.4.8 硬件串口的升級(jí) 8
1.5 物理電路板的升級(jí)和USB的兼容性 8
1.5.1 Avrdude的升級(jí) 8
1.5.2 新的Arduino Leonardo電路板 8
1.5.3 電路板變量 10
1.6 上傳器選項(xiàng)重命名為編程器 12
1.7 新的引導(dǎo)加載程序 12
1.8 USB固件程序 13
1.9 總結(jié) 13
第2章 Arduino的發(fā)展及社交編程 14
2.1 社交編程和項(xiàng)目管理組件 14
2.1.1 項(xiàng)目是什么,它又是如何組織的 15
2.1.2 版本控制簡(jiǎn)述 16
2.1.3 問(wèn)題追蹤簡(jiǎn)述 16
2.1.4 文檔 17
2.2 社交編程中的項(xiàng)目管理 17
2.2.1 使用Git完成版本控制 18
2.2.2 什么是Git 18
2.2.3 Git安裝 18
2.2.4 GitHub工具 19
2.3 版本控制、基本工作流程 20
2.3.1 項(xiàng)目創(chuàng)建 20
2.3.2 代碼的修訂和檢查 21
2.3.3 工作流程 21
2.3.4 工作流程總結(jié):創(chuàng)建項(xiàng)目 23
2.3.5 工作流程總結(jié):項(xiàng)目復(fù)刻 24
2.3.6 創(chuàng)建一個(gè)“拉拽”請(qǐng)求 26
2.3.7 如何融合拉拽請(qǐng)求 29
2.3.8 什么是議題管理 32
2.3.9 GitHub上的議題管理 33
2.3.10 使用議題管理鏈接版本控制 33
2.4 歸檔 34
2.4.1 GitHub wiki 34
2.4.2 創(chuàng)建頁(yè)面 34
2.4.3 使用Markdown 35
2.5 為Arduino開(kāi)發(fā)做出貢獻(xiàn) 38
2.6 如何從源代碼構(gòu)建Arduino IDE 39
2.7 社區(qū)資源 40
2.8 總結(jié) 41
第3章 openFrameworks
和Arduino 42
3.1 準(zhǔn)備開(kāi)始 43
3.2 Arduino代碼 43
3.2.1 驗(yàn)證代碼 44
3.2.2 Arduino串口函數(shù) 44
3.3 openFrameworks設(shè)置 45
3.3.1 將openFrameworks連接到Arduino 46
3.3.2 驗(yàn)證代碼 47
3.3.3 openFrameworks串口函數(shù) 48
3.4 使用Firmata和ofArduino時(shí)的編碼 49
3.4.1 設(shè)置Firmata 49
3.4.2 用openFrameworks控制Arduino 50
3.4.3 驗(yàn)證代碼 52
3.4.4 ofArduino用到的關(guān)鍵常量 52
3.4.5 ofArduino類(lèi)函數(shù)的參考 53
3.5 拓展思路 54
3.5.1 改變代碼 55
3.5.2 驗(yàn)證代碼 56
3.6 更多的工作思路 56
3.7 總結(jié) 57
第4章 Android ADK 58
4.1 Android設(shè)備 59
4.2 如何檢查 59
4.3 連接工作設(shè)備 59
4.4 改裝 60
4.5 安裝Arduino IDE 61
4.5.1 創(chuàng)建Android應(yīng)用程序 62
4.5.2 Arduino程序 64
4.5.3 Android ADK應(yīng)用 66
4.6 完成框架 76
4.6.1 完成應(yīng)用程序 78
4.6.2 Arduino 82
4.6.3 驗(yàn)證代碼 83
4.7 SPI和ADK 83
4.8 總結(jié) 85
第5章 XBee 87
5.1 購(gòu)買(mǎi)XBee 87
5.2 簡(jiǎn)單設(shè)置 89
5.3 透明模式 90
5.3.1 模塊配置 90
5.3.2 Arduino設(shè)置 91
5.3.3 驗(yàn)證代碼 91
5.4 API模式 91
5.4.1 模塊配置 92
5.4.2 API包結(jié)構(gòu) 93
5.4.3 發(fā)送命令 94
5.4.4 數(shù)據(jù)發(fā)送 94
5.5 請(qǐng)求包 95
5.6 應(yīng)答包 96
5.7 Arduino數(shù)據(jù)呼應(yīng) 98
5.8 端點(diǎn)固件 102
5.9 總結(jié) 104
第6章 傳感器的模擬 105
6.1 模擬量傳感器 105
6.1.1 模擬傳感器讀寫(xiě)器 106
6.1.2 RC低通濾波器 106
6.1.3 驗(yàn)證代碼 107
6.1.4 電阻梯 108
6.1.5 驗(yàn)證代碼 110
6.2 數(shù)字傳感器 110
6.2.1 PWM 111
6.2.2 格雷碼 111
6.3 串行傳感器 114
6.3.1 輸出串行數(shù)據(jù) 115
6.3.2 驗(yàn)證代碼 116
6.4 I2C 117
6.4.1 TWCR寄存器 117
6.4.2 TWAR寄存器 118
6.4.3 TWDR寄存器 118
6.4.4 TWSR寄存器 118
6.4.5 I2C數(shù)據(jù)輸出 119
6.4.6 驗(yàn)證代碼 120
6.5 總結(jié) 120
第7章 PID控制器 121
7.1 數(shù)學(xué)部分 121
7.1.1 比例語(yǔ)句 121
7.1.2 積分語(yǔ)句 122
7.1.3 微分語(yǔ)句 122
7.1.4 小結(jié) 123
7.1.5 時(shí)間 123
7.2 PID控制器設(shè)置 124
7.2.1 硬件布線 124
7.2.2 驗(yàn)證代碼 125
7.3 PID調(diào)諧器 126
7.4 對(duì)比PID、死區(qū)和ON/OFF
控制器 127
7.5 PID的控制功能 128
7.5.1 調(diào)諧 129
7.5.2 PID庫(kù) 130
7.5.3 PID庫(kù)函數(shù) 130
7.6 其他資源 132
7.7 總結(jié) 132
第8章 Android傳感器網(wǎng)絡(luò) 133
8.1 設(shè)置傳感器網(wǎng)絡(luò) 134
8.2 openFrameworks 136
8.3 Arduino 142
8.4 Android應(yīng)用程序 150
8.5 總結(jié) 158
第9章 PIC32和Atmel ATtiny芯片與Arduino聯(lián)合使用 159
9.1 Arduino和非標(biāo)準(zhǔn)環(huán)境 159
9.2 MPI DE和chipKIT PIC32 160
9.3 Arduino對(duì)ATtiny家族的支持 167
9.3.1 ATtiny 85/45/25 169
9.3.2 ATtiny 84/44/24 169
9.3.3 ATtiny 4313和2313 169
9.4 將Arduino作為一個(gè)ISP編程器使用 170
9.5 工程:用敲擊密碼打開(kāi)盒子 171
9.5.1 設(shè)備在做什么 171
9.5.2 材料清單 172
9.6 總結(jié) 175
第10章 多道處理:使Arduino更強(qiáng)大 176
10.1 I2C總線 177
10.2 串行外圍接口 178
10.3 連接兩個(gè)設(shè)備 179
10.3.1 安裝一個(gè)主SPI設(shè)備 180
10.3.2 驗(yàn)證代碼 181
10.3.3 中斷向量 182
10.3.4 SPI寄存器 182
10.3.5 確認(rèn)代碼 185
10.3.6 多從機(jī) 186
10.3.7 主機(jī)寄存器 186
10.3.8 再次驗(yàn)證代碼 187
10.4 對(duì)稱(chēng)型架構(gòu)雙極性總線 187
10.4.1 通過(guò)代碼實(shí)現(xiàn)SABB 189
10.4.2 驗(yàn)證代碼 191
10.4.3 連接SABB到SPI 191
10.5 轉(zhuǎn)換為Mega 192
10.6 物理上的最佳實(shí)踐 193
10.7 總結(jié) 193
第11章 Arduino下的游戲開(kāi)發(fā) 194
11.1 適合Arduino的游戲 194
11.2 一個(gè)簡(jiǎn)單的游戲 196
11.2.1 概念驗(yàn)證 196
11.2.2 游戲Stop It的代碼 197
11.2.3 驗(yàn)證游戲代碼 202
11.2.4 小花招 203
11.3 增添一些更好的顯示和圖像 203
11.3.1 Gameduino庫(kù) 204
11.3.2 一個(gè)Stack It游戲 206
11.3.3 游戲的美術(shù)設(shè)計(jì) 207
11.3.4 游戲Stack It的代碼 208
11.3.5 驗(yàn)證游戲代碼 214
11.3.6 發(fā)出聲音 214
11.3.7 增加一些啟動(dòng)換面 216
11.3.8 游戲自動(dòng)運(yùn)行的編程 217
11.3.9 最后的修飾 219
11.3.10 游樂(lè)場(chǎng)和游戲資源 220
11.4 總結(jié) 221
第12章 自定義Arduino庫(kù) 222
12.1 創(chuàng)建自定義庫(kù)需要了解的東西 222
12.2 創(chuàng)建電動(dòng)機(jī)庫(kù) 228
12.3 Arduino庫(kù)文件夾的分析 233
12.3.1 示例文件夾 234
12.3.2 許可證 234
12.3.3 keywords.txt 234
12.3.4 安裝Arduino庫(kù) 235
12.3.5 使用Arduino庫(kù) 235
12.4 Arduino對(duì)象和庫(kù)條例 235
12.5 總結(jié) 242
第13章 Arduino測(cè)試套件 243
13.1 安裝Arduino測(cè)試套件 243
13.2 開(kāi)始測(cè)試 246
13.3 Arduino測(cè)試結(jié)果的格式 247
13.4 Arduino測(cè)試套件基本的函數(shù) 249
13.4.1 ATS_begin 249
13.4.2 ATS_PrintTestStatus 249
13.4.3 ATS_end 250
13.4.4 使用基本的函數(shù) 250
13.5 Arduino測(cè)試套件內(nèi)置測(cè)試 251
13.6 測(cè)試自己的Arduino派生板的策略 252
13.7 內(nèi)存測(cè)試 252
13.8 測(cè)試庫(kù) 256
13.8.1 SPI.transfer()測(cè)試 262
13.8.2 setBitOrder()測(cè)試 263
13.8.3 setClockDivider()測(cè)試 263
13.8.4 setDataMode()測(cè)試 264
13.8.5 SPI測(cè)試結(jié)果 264
13.9 總結(jié) 265