1 簡介篇 1
1.1 什麼是Arduino 1
1.2 Arduino的特色 1
1.3 Arduino曆史 2
1.4 Arduino相關網站 4
2 Arduino硬件介紹 5
2.1 Arduino硬件介紹 5
2.2 Arduino硬件外觀 8
2.2.1 Arduino硬件 8
2.2.2 Arduino外接闆 12
2.3 自製Arduino闆子 14
2.4 Arduino MCU IC介紹 18
2.4.1 ATMega8 18
2.4.2 ATMega168 19
2.5 相關網站介紹 20
2.5.1 畫硬件電路圖Fritzing 20
2.5.2 本書博客與討論區 20
3 Arduino開發環境介紹 21
3.1 Arduino軟件 21
3.1.1 安裝Arduino 22
3.1.2 安裝Arduino的Windows驅動程序 23
3.2 用Eclipse寫Arduino 27
3.3 Arduino 漢化設置 27
4 我的第一個Arduino 29
4.1 麵包闆怎麼接 29
4.2 Arduino上的第一個程序:LED閃爍 30
4.3 確認你的程序是否編譯成功 34
4.4 燒錄I/O Board 34
4.5 瞭解我的第一個Arduino程序 35
5 Digital數字輸入與輸齣 42
5.1 Digital Output設置Pin的輸齣——霹靂燈示例 42
5.2 Digital Input——讀取按鈕信號數值code 45
6 Analog模擬 48
6.1 Ana logInput——讀取可變電阻的數據 48
6.2 Analog Output的輸齣,示例LED的明暗控製 51
7 UART、Serial RX/TX——TTL、RS232傳輸數據 54
7.1 UART的數據傳遞 55
7.1.1 通過UART顯示數據到Serial Monitor——除錯功能 55
7.1.2 通過UART在兩個Arduino之間相互傳遞數據 57
8 PWM脈衝寬度調製 61
8.1 PWM Output 62
8.2 PWM通過DigitalWrite達成效果 63
9 Pulse脈衝 65
9.1 pulseIn(pin,state,timeout) 65
9.2 pulseIn示例——查用戶多久沒有按下按鈕 65
10 SPI 68
10.1 SPI介紹 68
10.1.1 SPI接口數據傳輸 68
10.1.2 SPI類及其成員函數 69
10.2 SPI示例程序——主從端Master 70
10.3 SPI示例程序——被控製端Master 75
11 Arduino函數 81
11.1 輸入/輸齣函數 81
11.1.1 pinMode(pin,mode) 81
11.1.2 digitalWrite(pin,value) 81
11.1.3 digitalRead(pin) 82
11.1.4 analogRead(pin) 82
11.1.5 analogWrite(pin,value) 82
11.1.6 analogReference(mode)模擬參考 83
11.1.7 shiftOut(dataPin,clockPin,bitOrder,val) 84
11.2 數據類型datatype 86
11.2.1 int整數 86
11.2.2 float浮點數 87
11.2.3 char字符 89
11.2.4 String字符串 91
11.2.5 byte字符組 93
11.2.6 long長字符 95
11.2.7 word 96
11.2.8 boolean布爾代數 98
11.2.9 short 100
11.2.10 unsigned char、unsigned int、unsigned long 101
11.3 時間 103
11.3.1 millis() 103
11.3.2 delay(ms) 104
11.3.3 delayMicroseconds(us) 105
11.4 數學 107
11.4.1 min(x,y) 107
11.4.2 max(x,y) 108
11.4.3 abs(x) 109
11.4.4 constrain(amt,low,high) 110
11.4.5 map(x,in_min,in_max,out_min,out_max) 111
11.5 邏輯流程控製 112
11.5.1 if...else條件判斷語句 112
11.5.2 switch...case條件判斷語句 115
11.5.3 for循環語法 116
11.5.4 while循環語法 118
11.5.5 do....while循環語法 119
11.5.6 Array,實驗:霹靂燈 120
11.6 中斷函數 123
11.6.1 attachInterrupt(interrupt,function,mode),實驗:按鍵計數器 123
11.6.2 interrupts()使用中斷函數和noInterrupts()停止中斷函數 126
11.7 字符串處理函數String 128
11.7.1 String對象 128
11.7.2 charAt() 130
11.7.3 compareTo() 132
11.7.4 concat() 136
11.7.5 endsWith() 137
11.7.6 equals(),equalsIgnoreCase() 139
11.7.7 getBytes() 141
11.7.8 indexOf() 142
11.7.9 lastIndexOf() 144
11.7.10 length() 146
11.7.11 replace() 147
11.7.12 setCharAt() 149
11.7.13 startsWith() 150
11.7.14 substring() 152
11.7.15 toCharArray() 153
11.7.16 toInt() 155
11.7.17 toLowerCase() 157
11.7.18 toUpperCase() 158
11.7.19 trim() 160
11.8 串行端口通信 161
11.8.1 Serial.begin(baud) 162
11.8.2 Serial.print()和Serial.println() 163
11.8.3 Serial.available()和Serial.read() 165
11.9 特殊函數庫 168
11.10 開發自己專屬的函數庫和設計自己的函數 172
11.10.1 設計函數 172
11.10.2 設計函數庫 175
11.10.3 使用函數庫 177
12 Arduino與其他的傳感器 180
12.1 水銀開關讀取 180
12.2 光敏電阻——實驗小夜燈 182
12.3 晶體管 185
12.3.1 NPN晶體管——NPN與DC直流馬達 185
12.3.2 PNP晶體管—— PNP與DC直流馬達 187
12.4 濕度傳感器 190
12.5 溫度傳感器 194
12.5.1 實驗:溫度計 196
12.5.2 實驗:冰熱溫度顯示杯 198
12.6 Servo步進馬達 201
12.7 遊戲杆 206
12.8 一氧化碳傳感器 208
12.9 超聲波距離傳感器 213
12.9.1 實驗1 尺寸測量器(3個引腳的超聲波距離傳感器) 213
12.9.2 實驗2 倒車警告器(4個引腳的超聲波距離傳感器) 217
12.10 火焰傳感器 220
12.11 一氧化碳/瓦斯傳感器/煙霧傳感器 226
12.12 紅外綫運動傳感器 231
12.13 繼電器 235
12.14 七段式數字號碼LED 239
12.15 土壤濕度傳感器 243
12.16 數字鍵盤 246
12.17 聲音監測器 250
12.18 溫度計和濕度計二閤一的傳感器DHT11 254
12.19 酒精測試器 258
12.20 DC 馬達 261
12.21 8×8 LED 263
12.22 顔色測試器 278
12.23 FM收音機 283
12.24 藍色背光液晶模塊LCD 2×16麵闆 286
12.25 RFID卡片閱讀器 289
12.26 SD讀卡器 294
12.26.1 實驗:顯示SD卡片文件名、容量 295
12.26.2 實驗:使用SD卡片儲存和讀取數據 300
12.27 ADXL345 三軸重力加速度/傾斜角度模塊 304
12.28 三軸磁場傳感器——指南針 309
13 通 信 315
13.1 遙控器 315
13.1.1 讀取遙控器送來的數據 316
13.1.2 把Arduino 當遙控器 319
13.2 與個人計算機傳遞數據 324
13.2.1 PC與Arduino 互傳數據——USB綫 325
13.2.2 PC與Arduino互傳數據——RS232 329
13.2.3 與其他程序語言交互——Arduino與Processing溝通 337
13.2.4 與其他程序語言交互——Arduino與Unity溝通 342
13.2.5 與其他程序語言交互——Arduino與Java互傳數據 345
13.2.6 與其他程序語言交互——Scratch 352
13.2.7 與其他程序語言交互——ardublock 354
13.2.8 與其他程序語言交互——Flash連接 355
13.3 MIDI 364
13.4 網絡Ethernet 368
13.4.1 實驗:讀取網頁數據 369
13.4.2 抓取Yahoo的天氣數據 372
13.4.3 Web Server——成為網頁服務器 377
13.5 ZigBee/XBee 382
13.6 藍牙 386
13.6.1 藍牙JY-MCU 389
13.6.2 設定修改藍牙速度 392
13.6.3 修改藍牙設備名稱 396
13.6.4 修改配對密碼; 397
13.7 RF 433MHz 398
14 Arduino與IC實驗 404
14.1 74HC 595——延伸齣多個引腳 404
14.2 LM 393——比較A引腳和B引腳哪個大 406
15 Arduino 綜閤實驗 409
15.1 音樂播放 409
15.1.1 實驗:利用Tone和Pitch播放音樂 409
15.1.2 實驗:加上功率放大器播放音樂 411
15.1.3 實驗:mp3播放器 413
15.2 計算按鈕按下的時間 418
16 Android手機與Arduino 連接——移動物聯網 419
16.1 Arduino USB Host 419
16.2 使用藍牙將Arduino和Android連接 432
16.3 Android與Arduino連接——通過Android IOIO 445
16.3.1 Android IOIO介紹 445
16.3.2 Android IOIO初次安裝設定 447
16.3.3 Android IOIO實驗 449
16.4 Android與Arduino連接——直接連接 453
16.5 iOS與Arduino連接——通過藍牙4.0BLE 463
· · · · · · (
收起)