目 錄
第 1 章 Arduino開發平颱介紹
為何製作機器人… …………………………………………………………………………… 2
為何用Arduino製作機器人…………………………………………………………………… 3
Arduino可以為機器人做什麼………………………………………………………………… 4
Arduino:硬件和軟件的整閤………………………………………………………………… 5
近距離觀察Arduino硬件…………………………………………………………………… 6
Arduino主闆上需要關注的重點…………………………………………………………… 7
可用內存… …………………………………………………………………………………14
關於電壓和處理速度… ………………………………………………………………………15
Arduino工作電壓:3.3V或5V………………………………………………………………15
Arduino工作速度……………………………………………………………………………16
瞭解主闆上所有的LED… ……………………………………………………………………17
舊版本的Arduino主闆…………………………………………………………………………17
瞭解Arduino軟件………………………………………………………………………………17
IDE版本………………………………………………………………………………………19
USB驅動… …………………………………………………………………………………20
使用麵包闆或擴展闆擴展… …………………………………………………………………20
第 2 章 讓Arduino跑起來
所需零件… ……………………………………………………………………………………23
Arduino快速上手………………………………………………………………………………25
步驟1——下載Arduino…IDE…………………………………………………………………25
步驟2——解壓縮軟件包……………………………………………………………………26
步驟3——安裝USB驅動……………………………………………………………………26
步驟4——確認Arduino正常工作……………………………………………………………27
步驟5——啓動Arduino…IDE…………………………………………………………………28
步驟6——選定Arduino主闆類型和通信端口………………………………………………29
步驟7——上傳測試Sketch…………………………………………………………………29
步驟8——修改測試Sketch…………………………………………………………………30
再次瞭解Arduino…………………………………………………………………………………31
微控製器編程入門… …………………………………………………………………………32
概念:全都是“數字”… …………………………………………………………………32
HIGH到底是多高……………………………………………………………………………33
bit、byte、word………………………………………………………………………………33
煩人的概念:命令、函數、聲明、數據類型運算符及變量名… ………………………34
語法和結構… ………………………………………………………………………………35
Sketch的結構分析… …………………………………………………………………………36
上手實驗1:我們的LED閃光燈………………………………………………………………36
上手實驗2:我們的LED閃光燈,鏡頭2… …………………………………………………39
上手實驗3:讀取按鍵狀態……………………………………………………………………41
上手實驗4:讓Arduino發齣聲音… …………………………………………………………44
第 3 章 製作Teachbot學習平颱
舵機版Teachbot概述… ………………………………………………………………………47
舵機版Teachbot的功能… ……………………………………………………………………49
製作舵機版Teachbot底闆… …………………………………………………………………50
切割零件… …………………………………………………………………………………51
開孔技巧… …………………………………………………………………………………53
添加甲闆… …………………………………………………………………………………54
組裝Teachbot… ………………………………………………………………………………54
步驟0——準備好基本零件…………………………………………………………………54
步驟1——將舵機安裝到舵機固定座上……………………………………………………55
步驟2——將L支架和舵機固定座連接在一起……………………………………………55
步驟3——將舵機固定座安裝到底層甲闆上………………………………………………55
步驟4——安裝平衡支撐杆…………………………………………………………………56
步驟5——給舵機安裝輪子…………………………………………………………………57
步驟6——安裝電池…………………………………………………………………………57
步驟7——將Arduino安裝到第二層甲闆上…………………………………………………58
步驟8——在第二層甲闆上固定麵包闆……………………………………………………59
步驟9——在底層甲闆上添加第二層甲闆…………………………………………………59
舵機版Teachbot如何… ………………………………………………………………………61
舵機ABC… …………………………………………………………………………………62
改進普通舵機的方法… ………………………………………………………………………64
基本改進步驟… ……………………………………………………………………………64
所需工具… …………………………………………………………………………………65
選擇改進對象… ……………………………………………………………………………65
Hitec…HS-422改進實例………………………………………………………………………65
Futaba…S3003改進實例………………………………………………………………………67
改進後測試… ………………………………………………………………………………68
第 4 章 教學機器人編程:使其運動
接綫並嘗試驅動一個舵機… …………………………………………………………………69
舵機控製編程… ……………………………………………………………………………71
舵機控製Sketch分析…………………………………………………………………………72
兩個舵機的控製… ……………………………………………………………………………75
麵包闆接綫… ………………………………………………………………………………79
運行舵機測試sketch…………………………………………………………………………80
分析測試Sketch………………………………………………………………………………83
舵機版Teachbot的有綫控製… ………………………………………………………………83
關於Servo對象的更多知識……………………………………………………………………87
連接和分離舵機… …………………………………………………………………………88
從特定位置開始運行… ……………………………………………………………………91
設定舵機轉速… ……………………………………………………………………………91
使用變量指代I/O引腳編號…………………………………………………………………93
讓舵機無延遲運轉… ………………………………………………………………………94
連續鏇轉舵機的不足之處… …………………………………………………………………94
第 5 章 編程教學機器人:觀察其反應 ………………………………101
讓機器人具有觸覺… …………………………………………………………………………95
用微動開關檢測碰撞… ………………………………………………………………………97
瞭解碰撞檢測Sketch……………………………………………………………………… 101
使用輪詢或中斷的方法來判斷開關的觸發… ………………………………………… 102
抖動和防抖… …………………………………………………………………………… 105
安裝更多的開關… ……………………………………………………………………… 106
光綫檢測… ………………………………………………………………………………… 106
將光敏電阻的輸齣轉換成電壓信號… ………………………………………………… 106
基礎的光綫傳感器應用… ……………………………………………………………… 107
用手電筒控製機器人… ………………………………………………………………… 108
循跡… ……………………………………………………………………………………… 112
循跡基礎… ……………………………………………………………………………… 112
使用成品循跡傳感器模塊… …………………………………………………………… 114
製作自己的循跡模塊… ………………………………………………………………… 118
紅外綫LED和光敏三極管的安裝… …………………………………………………… 120
雙傳感器的循跡… ……………………………………………………………………… 121
第 6 章 教學機器人編程:使其開始探索
“非接觸”和“近距檢測”概述… ……………………………………………………… 124
使用超聲波測距傳感器… ………………………………………………………………… 124
超聲波傳感器的基本功能… …………………………………………………………… 126
安裝傳感器… …………………………………………………………………………… 127
使用超聲波傳感器避障… ……………………………………………………………… 128
添加鏇轉雲颱… …………………………………………………………………………… 128
添加夏普GP2Y0D810紅外綫測距傳感器… ……………………………………………… 132
添加一個夏普GP2D120紅外綫傳感器… ………………………………………………… 133
將GP2D120連接到Arduino……………………………………………………………… 135
給Teachbot添加電源開關… ……………………………………………………………… 137
迴顧Teachbot的舵機連接… ……………………………………………………………… 139
第 7 章 機械製作
製作機器人的重要工具… ………………………………………………………………… 142
製作機器人的材料… ……………………………………………………………………… 143
使用木材製作機器人… ………………………………………………………………… 143
使用塑料製作機器人… ………………………………………………………………… 144
使用鋁型材製作機器人… ……………………………………………………………… 146
使用泡沫闆和硬紙闆製作機器人… …………………………………………………… 147
組裝技術… ………………………………………………………………………………… 148
膠… 帶… ………………………………………………………………………………… 148
魔術貼… ………………………………………………………………………………… 149
塑料紮帶… ……………………………………………………………………………… 150
膠水… …………………………………………………………………………………… 150
機械緊固件… …………………………………………………………………………… 150
緊固件類型… …………………………………………………………………………… 152
製作過程… ………………………………………………………………………………… 153
鑽孔技巧… ……………………………………………………………………………… 153
切割技巧… ……………………………………………………………………………… 153
第 8 章 製作:電子電路
麵包闆… …………………………………………………………………………………… 157
透視麵包闆… …………………………………………………………………………… 158
如何使麵包闆電路持久工作… ………………………………………………………… 159
麵包闆的使用技巧… …………………………………………………………………… 159
擴展闆(Shield)…………………………………………………………………………… 160
I/O衝突…………………………………………………………………………………… 161
電路過流… ……………………………………………………………………………… 161
物理和機械特性的限製… ……………………………………………………………… 161
處理擴展闆I/O重復使用的問題………………………………………………………… 161
擴展闆和不同版本Arduino主闆的兼容性……………………………………………… 162
電路製作的工具… ………………………………………………………………………… 163
導綫… ……………………………………………………………………………………… 163
接綫… ……………………………………………………………………………………… 163
使用將導綫焊接到排針上的方法製作排綫… ………………………………………… 165
使用壓接的方法製作排綫… …………………………………………………………… 166
電路製作… ………………………………………………………………………………… 167
麵包闆… ………………………………………………………………………………… 167
萬用闆… ………………………………………………………………………………… 167
定製PCB… ……………………………………………………………………………… 168
接口技術… ………………………………………………………………………………… 170
LED接口… ……………………………………………………………………………… 171
電動機接口… …………………………………………………………………………… 172
輸入保護… ……………………………………………………………………………… 174
減少輸入/輸齣的綫路乾擾………………………………………………………………… 177
減少來自於電動機的乾擾… …………………………………………………………… 177
減少來自於電子設備的電學噪聲… …………………………………………………… 178
第 9 章 強化教學機器人
總物料清學… ……………………………………………………………………………… 179
製作直流電機版Teachbot… ……………………………………………………………… 181
對直流電機版Teachbot接綫… …………………………………………………………… 186
電源開關連綫… ………………………………………………………………………… 187
麵包闆接綫… …………………………………………………………………………… 187
最後一次檢查接綫… …………………………………………………………………… 189
讓直流電機版Teachbot邁齣第一步… …………………………………………………… 189
測試電動機速度控製… …………………………………………………………………… 192
添加循跡模塊… …………………………………………………………………………… 193
鏇轉轉嚮和圓角轉嚮… ………………………………………………………………… 198
測試傳感器的紅外綫LED是否點亮… ………………………………………………… 199
開始循跡學習… ………………………………………………………………………… 199
添加編碼器… ……………………………………………………………………………… 200
編碼器的工作機製… …………………………………………………………………… 201
Teachbot編碼器的硬件製作……………………………………………………………… 202
加強編碼器的實用性… ………………………………………………………………… 209
提高編碼器的分辨率… ………………………………………………………………… 210
添加發聲功能… …………………………………………………………………………… 211
安裝喇叭… ……………………………………………………………………………… 211
對Babblebot模塊進行控製… …………………………………………………………… 213
Teachbot應該擴展… ……………………………………………………………………… 214
第 10 章 有趣的音樂機器人
Tunebot設計概述…………………………………………………………………………… 215
製作Tunebot……………………………………………………………………………… 217
組裝和固定電動機… …………………………………………………………………… 218
安裝背闆… ……………………………………………………………………………… 221
組裝橡膠履帶… ………………………………………………………………………… 221
測試和使用Tunebot的減速電動機………………………………………………………… 222
製作可逆控製闆… ……………………………………………………………………… 222
對電動機和控製闆接綫… ……………………………………………………………… 224
手動操縱Tunebot………………………………………………………………………… 226
使用電機控製模塊… ……………………………………………………………………… 228
使用H橋電路控製電動機………………………………………………………………… 228
更換Tamiya減速箱的電動機……………………………………………………………… 229
安裝Arduino和其他電子零件……………………………………………………………… 230
MIDI模塊………………………………………………………………………………… 230
安裝Arduino主闆………………………………………………………………………… 232
安裝ArduMoto擴展闆… ………………………………………………………………… 233
將電動機連接到電動機擴展闆(ArduMoto)… ……………………………………… 233
安裝麵包闆擴展闆… …………………………………………………………………… 234
配備供電電池組… ………………………………………………………………………… 236
電源和電動機測試… ……………………………………………………………………… 237
使傳動係統更加耐用… ………………………………………………………………… 240
添加循跡模塊… …………………………………………………………………………… 240
使用MIDI産生音樂………………………………………………………………………… 242
關於樂器、音色庫、通道的知識… …………………………………………………… 243
通道音頻信息… ………………………………………………………………………… 245
變更設置信息… ………………………………………………………………………… 246
MIDI作麯………………………………………………………………………………… 247
常… 數… ………………………………………………………………………………… 249
演奏復閤音節… ………………………………………………………………………… 251
對機器人運動和音樂編程… ……………………………………………………………… 254
為Tunebot擴展接近傳感器和碰撞傳感器………………………………………………… 254
在綫內容:為Tunebot添加紮實的履帶…………………………………………………… 255
第 11 章 讓遙控機器人到達指定位置 ………………………………273
無綫控製機器人… ………………………………………………………………………… 257
ZigBee入門… …………………………………………………………………………… 259
瞭解ZigBee標準的變遷… ……………………………………………………………… 259
使用XBee…Series…1通信…………………………………………………………………… 260
三個Arduino,一個遙控機器人…………………………………………………………… 260
製作無綫遙控器… ………………………………………………………………………… 261
安裝Arduino和麵包闆擴展闆…………………………………………………………… 261
連接XBee無綫模塊……………………………………………………………………… 262
使用主令開關… ………………………………………………………………………… 263
使用兩軸加速度傳感器或電子羅盤… ………………………………………………… 264
使用復閤傳感器… ……………………………………………………………………… 266
給Telebot添加XBee接收器………………………………………………………………… 270
使用主令開關控製Telebot… …………………………………………………………… 271
使用電子羅盤控製Telebot… …………………………………………………………… 274
在綫內容:使用電子羅盤的方位數據控製Telebot……………………………………… 276
給Telebot加載實時視頻傳輸功能………………………………………………………… 277
為視頻添加字幕… ……………………………………………………………………… 278
將信息寫入Backpack模塊… …………………………………………………………… 280
顯示環境數據… ………………………………………………………………………… 283
加強遙控機器人… ………………………………………………………………………… 285
第 12 章 機器蛇 ………………………………………………………303
模仿蛇的運動… …………………………………………………………………………… 287
機器蛇設計概述… ………………………………………………………………………… 288
體… 節… ………………………………………………………………………………… 289
Arduino主闆……………………………………………………………………………… 289
自動化和遙控… ………………………………………………………………………… 291
製作機器蛇… ……………………………………………………………………………… 291
組裝體節… ……………………………………………………………………………… 292
設定舵機的中點… ……………………………………………………………………… 295
電池和舵機接綫闆的安裝… …………………………………………………………… 297
使用舵機延長綫… ……………………………………………………………………… 299
體節間接綫… …………………………………………………………………………… 300
Arduino…Pro…Mini接綫……………………………………………………………………… 302
對機器蛇編程… …………………………………………………………………………… 303
降低舵機的運行速度… ………………………………………………………………… 305
加載和運行機器蛇的Sketch……………………………………………………………… 307
在綫內容:將Arduino用作舵機控製器…………………………………………………… 309
用遙控器控製機器蛇… …………………………………………………………………… 310
第 13 章 機械手 ………………………………………………………331
瞭解機械手… ……………………………………………………………………………… 316
剖析機械手結構… ………………………………………………………………………… 317
自由度… ………………………………………………………………………………… 318
舵機的選擇… …………………………………………………………………………… 318
舵… 盤… ………………………………………………………………………………… 319
特殊的Arduino主闆……………………………………………………………………… 319
製作機械手… ……………………………………………………………………………… 320
將所有舵機調整到中點… ……………………………………………………………… 320
切割底闆… ……………………………………………………………………………… 321
製作肩部基闆… ………………………………………………………………………… 322
組裝肩部… ……………………………………………………………………………… 323
製作上臂和前臂… ……………………………………………………………………… 330
製作腕部… ……………………………………………………………………………… 333
製作夾持器… …………………………………………………………………………… 335
連接前臂和上臂… ……………………………………………………………………… 335
連接上臂和鏇轉平颱… ………………………………………………………………… 336
增加逆嚮彈性平衡… …………………………………………………………………… 336
安裝Arduino主闆…………………………………………………………………………… 339
電源接綫… ………………………………………………………………………………… 339
將控製電路接到Arduino…………………………………………………………………… 342
添加橡膠腳墊… …………………………………………………………………………… 344
對機械手編程… …………………………………………………………………………… 344
測試起始位置和最小/最大位置………………………………………………………… 344
使用串口監視器控製機械手… ………………………………………………………… 346
使用帶Joystick手柄和鍵盤的控製器控製機械手……………………………………… 349
對機械手編程以實現交互控製… ………………………………………………………… 350
操縱機械手… ……………………………………………………………………………… 357
使用Joystick手柄來操縱………………………………………………………………… 358
使用鍵盤操縱… ………………………………………………………………………… 358
附件 A ARB支持網站 ………………………………………………379
在綫資源… ………………………………………………………………………………… 359
特殊零件來源或網站… …………………………………………………………………… 359
附件 B 物料采購鏈接 …………………………………………………381
機器人… …………………………………………………………………………………… 361
電子零件… ………………………………………………………………………………… 362
愛好者商店… ……………………………………………………………………………… 363
特殊資源… ………………………………………………………………………………… 363
支架:金屬和塑料… …………………………………………………………………… 363
競賽和機器人小組… …………………………………………………………………… 363
電子套件… ……………………………………………………………………………… 364
論壇(非産品專題)… ………………………………………………………………… 364
齒輪和機械件… ………………………………………………………………………… 364
塑料和結構件… ………………………………………………………………………… 364
二手貨… ………………………………………………………………………………… 364
如何在一個大型目錄中找到所需的電子零件… ………………………………………… 365
附件 C 排錯及如何避免犯錯 …………………………………………387
預防檢查… ………………………………………………………………………………… 367
係統開發和排錯… ………………………………………………………………………… 368
使用串口監視器調試問題… ……………………………………………………………… 369
插入到setup()函數中間…………………………………………………………………… 370
插入到loop()函數的開頭或結尾部分…………………………………………………… 371
插入到用戶自定義函數中… …………………………………………………………… 371
插入到Sketch中任何使用到循環的位置………………………………………………… 372
插入到任何需要預覽的某個值附近… ………………………………………………… 372
排錯建議… ………………………………………………………………………………… 373
無電源,指示燈不亮,處於最原始的狀態… ………………………………………… 373
行為異常… ……………………………………………………………………………… 374
指示燈亮,但是沒有串口調試信息… ………………………………………………… 374
串口監視器窗口顯示亂碼… …………………………………………………………… 374
調試信息重復齣現,但是設計並非如此… …………………………………………… 374
數據結果錯誤或是未預料的… ………………………………………………………… 375
Sketch無法編譯…………………………………………………………………………… 375
一切都在工作,除瞭電動機… ………………………………………………………… 375
· · · · · · (
收起)