簡單易學(xué) 玩轉(zhuǎn)Arduino
本書基于Arduino平臺,針對Arduino入門者透徹講解了Arduino開發(fā)的基礎(chǔ)知識和實(shí)例、工具,詳細(xì)介紹了Arduino編程所需的硬件、編程環(huán)境和Arduino上的編程方法;重點(diǎn)說明了Arduino硬件與開發(fā)板、各種傳感器的應(yīng)用、遠(yuǎn)程通信與控制(如藍(lán)牙等)的實(shí)現(xiàn)技巧,列舉了機(jī)器人的制作等豐富的應(yīng)用實(shí)例,引導(dǎo)讀者觸類旁通,舉一反三,快速提高開發(fā)技能。
本書適合于對硬件編程感興趣的技術(shù)人員及廣大電子愛好者、電子技術(shù)人員閱讀,也可作為學(xué)校電子及自動化相關(guān)專業(yè)師生用書。
適讀人群 :本書適合于對硬件編程感興趣的技術(shù)人員及廣大電子愛好者、電子技術(shù)人員閱讀,也可作為學(xué)校電子及自動化相關(guān)專業(yè)師生用書。
《簡單易學(xué) 玩轉(zhuǎn) Arduino 》特點(diǎn):
* Arduino快速入門:詳細(xì)介紹了arduino硬件與開發(fā)板:傳感器應(yīng)用、遠(yuǎn)程通信(如藍(lán)牙等)的實(shí)現(xiàn)技巧。
* 實(shí)例經(jīng)典,程序代碼可靠:機(jī)器人制作等實(shí)例可以直接使用,并引導(dǎo)讀者觸類旁通,舉一反三,提高開發(fā)技能。
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,是嵌入式、遠(yuǎn)程通信、物聯(lián)網(wǎng)等的優(yōu)選開發(fā)平臺,借用電子愛好者的評價(jià)——Arduino火的很大一點(diǎn)在于,讓不懂硬件電路的軟件工程師(程序員),玩上硬件了。它基本透明掉了硬件電子部分,只剩下軟件部分,通過把電子部分包裝成黑箱,使得大量IT人士、普通人、甚至小學(xué)生也能玩的來。具體來講,Arduino包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、電機(jī)和其他的裝置來反饋、影響環(huán)境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對Arduino的編程是利用 Arduino編程語言及開發(fā)環(huán)境來實(shí)現(xiàn)的。
本書基于Arduino平臺,針對Arduino入門者透徹講解了Arduino開發(fā)的基礎(chǔ)知識和實(shí)例、工具,詳細(xì)介紹了Arduino編程所需的硬件、編程環(huán)境和Arduino上的編程方法;重點(diǎn)說明了Arduino硬件與開發(fā)板、各種傳感器的應(yīng)用、遠(yuǎn)程通信與控制,列舉了機(jī)器人的制作等豐富的應(yīng)用實(shí)例;全書內(nèi)容基礎(chǔ)起點(diǎn)低,語言通俗易懂,圖文并茂,易于初學(xué)者入門并快速提高。
本書由孫德軍主編,由周玉翠、劉美靜副主編,參加編寫的還有孟健杰、彭思文、任振生、蘇玉志、孫富財(cái)、王勝軍、王順利、王先成、吳家盤、武燕兵、許海洋、楊勇、楊興成、楊長生、張彥、張俊坡、趙繼軍、房瓊、鄧江林等,全書由張伯虎統(tǒng)稿。編寫過程中得到了許多同行和專家的幫助,在此表示衷心的感謝!
限于水平有限,書中不足之處難免,敬請讀者批評指正。
編者
查看全部↓
第1章 基礎(chǔ)知識 1
1.1 Arduino硬件與開發(fā)板 1
1.1.1 Arduino硬件與主控芯片 1
1.1.2 Arduino 開發(fā)板 3
1.1.3 Arduino UNO開發(fā)板的認(rèn)識 6
1.1.4 Arduino UNO電路分析 8
1.2 Arduino開發(fā)環(huán)境(Arduino IDE) 15
1.2.1 獲取Arduino IDE 15
1.2.2 安裝驅(qū)動 15
1.2.3 程序燒錄 16
1.2.4 Arduino IDE用戶界面 20
1.3 軟件基礎(chǔ) 26
1.3.1 流程圖 26
1.3.2 C語言基礎(chǔ) 27
1.3.3 控制語句 31
1.3.4 程序結(jié)構(gòu) 34
1.4 Arduino基本函數(shù) 35
1.4.1 數(shù)字I/O口相關(guān)函數(shù) 36
1.4.2 模擬I/O口相關(guān)函數(shù) 38
1.4.3 高級I/O 41
1.4.4 時(shí)間函數(shù) 42
1.4.5 中斷函數(shù) 44
1.4.6 串口通信函數(shù) 46
1.4.7 數(shù)學(xué)庫 48
1.4.8 隨機(jī)數(shù) 48
1.4.9 位操作(SPI口) 49
1.5 串口通信 51
1.5.1 通信協(xié)議 51
1.5.2 RS-232 52
1.6 Arduino的應(yīng)用 54
1.6.1 串口的應(yīng)用 54
1.6.2 數(shù)字I/O口的應(yīng)用 56
1.6.3 模擬I/O口的應(yīng)用 58
第2章 Arduino入門實(shí)訓(xùn) 60
2.1 LED燈試驗(yàn) 60
2.1.1 LED基礎(chǔ)知識 60
2.1.2 LED閃燈試驗(yàn) 65
2.1.3 交通信號燈試驗(yàn) 70
2.1.4 廣告流水燈試驗(yàn) 71
2.1.5 PWM(脈寬調(diào)制) LED調(diào)光試驗(yàn) 75
2.2 壓電音頻試驗(yàn) 77
2.2.1 壓電陶瓷片和蜂鳴器 77
2.2.2 模擬救護(hù)車警笛試驗(yàn) 79
2.2.3 壓電振動傳感器 80
2.3 按鍵試驗(yàn) 82
2.3.1 按鍵開關(guān) 82
2.3.2 薄膜鍵盤 83
2.3.3 按鍵控制LED試驗(yàn) 85
2.3.4 按鍵顯示試驗(yàn) 86
2.3.5 用薄膜鍵盤控制LED小燈試驗(yàn) 88
2.3.6 搶答器試驗(yàn) 89
2.4 移位寄存器應(yīng)用試驗(yàn) 91
2.4.1 二進(jìn)制數(shù)制 91
2.4.2 8位二進(jìn)制計(jì)數(shù)器試驗(yàn) 92
2.5 驅(qū)動LED顯示器試驗(yàn) 99
2.5.1 LED點(diǎn)陣顯示模塊 99
2.5.2 多路復(fù)用技術(shù) 101
2.5.3 LED點(diǎn)陣顯示模塊基本動畫試驗(yàn) 102
2.5.4 滾動畫面試驗(yàn) 106
2.5.5 LED數(shù)碼管 110
2.5.6 驅(qū)動數(shù)碼管試驗(yàn) 111
2.6 繼電器驅(qū)動試驗(yàn) 116
2.6.1 繼電器驅(qū)動電路 116
2.6.2 繼電器控制LED試驗(yàn) 116
第3章 Arduino進(jìn)階實(shí)戰(zhàn) 119
3.1 LCD液晶顯示屏的應(yīng)用 119
3.1.1 LCD液晶顯示屏的構(gòu)造及原理 119
3.1.2 1602液晶顯示文字試驗(yàn) 120
3.1.3 LCD溫度顯示試驗(yàn) 129
3.2 直流電機(jī)的應(yīng)用 133
3.2.1 直流電機(jī)工作原理 133
3.2.2 直流電機(jī)簡單驅(qū)動試驗(yàn) 134
3.2.3 L293D直流電機(jī)驅(qū)動芯片 136
3.2.4 L293D芯片應(yīng)用試驗(yàn) 139
3.3 步進(jìn)電機(jī)的應(yīng)用 141
3.3.1 步進(jìn)電機(jī) 141
3.3.2 ULN2003A步進(jìn)電機(jī)驅(qū)動芯片 143
3.3.3 步進(jìn)電機(jī)驅(qū)動試驗(yàn) 144
3.4 舵機(jī)的應(yīng)用 148
3.4.1 舵機(jī)的結(jié)構(gòu)和工作原理 148
3.4.2 Arduino舵機(jī)控制函數(shù)庫 150
3.4.3 簡單的舵機(jī)控制試驗(yàn) 151
3.4.4 兩個(gè)舵機(jī)控制試驗(yàn) 153
3.4.5 兩個(gè)舵機(jī)分別控制試驗(yàn) 156
3.5 兩輪機(jī)器底盤的應(yīng)用 158
3.5.1 電機(jī)驅(qū)動擴(kuò)展模塊 158
3.5.2 兩輪機(jī)器底盤 159
3.5.3 兩輪機(jī)器底盤控制試驗(yàn) 159
3.6 SD存儲卡的應(yīng)用 162
3.6.1 SD存儲卡 162
3.6.2 SD卡庫 163
3.6.3 SD存儲卡讀寫試驗(yàn) 164
第4章 傳感器的應(yīng)用 171
4.1 光敏電阻傳感器的應(yīng)用 171
4.1.1 光敏電阻的應(yīng)用 171
4.1.2 光控LED點(diǎn)亮試驗(yàn) 172
4.2 溫度傳感器的應(yīng)用 174
4.2.1 模擬溫度傳感器 174
4.2.2 基于LM35的計(jì)算機(jī)溫度測量試驗(yàn) 174
4.2.3 單線數(shù)字溫度傳感器應(yīng)用 176
4.3 紅外接近開關(guān)的應(yīng)用 181
4.3.1 紅外接近開關(guān) 181
4.3.2 傳感器擴(kuò)展板 182
4.3.3 障礙物檢測試驗(yàn) 183
4.4 紅外測距傳感器的應(yīng)用 184
4.4.1 紅外測距傳感器 184
4.4.2 液晶屏顯示距離試驗(yàn) 185
4.5 超聲波測距傳感器的應(yīng)用 189
4.5.1 超聲波測距傳感器原理 189
4.5.2 HC-SR04型超聲波測距模塊 190
4.5.3 利用串口輸出的超聲波測距試驗(yàn) 190
4.5.4 距離控制小燈試驗(yàn) 193
4.6 紅外避障傳感器的應(yīng)用 194
4.6.1 紅外避障傳感器 194
4.6.2 紅外避障傳感器應(yīng)用試驗(yàn) 195
4.7 紅外尋線傳感器的應(yīng)用 196
4.7.1 紅外尋線傳感器 196
4.7.2 紅外尋線傳感器應(yīng)用試驗(yàn) 197
4.8 激光傳感器的應(yīng)用 198
4.8.1 激光傳感器 198
4.8.2 激光傳感器應(yīng)用試驗(yàn) 199
4.9 傾斜傳感器的應(yīng)用 200
4.9.1 傾斜傳感器 200
4.9.2 傾斜傳感器應(yīng)用試驗(yàn) 201
4.10 水銀碰撞傳感器的應(yīng)用 202
4.10.1 水銀碰撞傳感器 202
4.10.2 水銀碰撞傳感器應(yīng)用試驗(yàn) 202
4.11 振動傳感器的應(yīng)用 203
4.11.1 振動傳感器 203
4.11.2 振動傳感器應(yīng)用試驗(yàn) 204
4.12 敲擊傳感器的應(yīng)用 205
4.12.1 敲擊傳感器 205
4.12.2 敲擊傳感器應(yīng)用試驗(yàn) 205
4.13 金屬觸摸傳感器的應(yīng)用 206
4.13.1 金屬觸摸傳感器 206
4.13.2 金屬觸摸傳感器的應(yīng)用實(shí)驗(yàn) 206
4.14 火焰?zhèn)鞲衅鞯膽?yīng)用 208
4.14.1 火焰?zhèn)鞲衅?208
4.14.2 火焰?zhèn)鞲衅髂M輸出應(yīng)用試驗(yàn) 208
4.14.3 火焰?zhèn)鞲衅鲾?shù)字輸出應(yīng)用試驗(yàn) 209
4.15 旋轉(zhuǎn)編碼器的應(yīng)用 210
4.15.1 旋轉(zhuǎn)編碼器 210
4.15.2 旋轉(zhuǎn)編碼器的應(yīng)用試驗(yàn) 211
4.16 溫濕度一體傳感器 213
4.16.1 DHT11型數(shù)字溫濕度傳感器 213
4.16.2 DHT11應(yīng)用試驗(yàn) 214
4.17 顏色傳感器的應(yīng)用 216
4.17.1 三原色原理 216
4.17.2 TCS3200D型顏色傳感器 216
4.17.3 顏色傳感器應(yīng)用試驗(yàn) 217
4.18 PS2搖桿的應(yīng)用 221
4.18.1 Joystick PS2搖桿 221
4.18.2 Joystick PS2搖桿控制液晶屏顯示試驗(yàn) 222
4.19 氣壓傳感器的應(yīng)用 223
4.19.1 氣壓傳感器 223
4.19.2 BMP085型氣壓傳感器 224
4.19.3 基于BMP085的氣壓測量試驗(yàn) 225
4.20 運(yùn)動檢測傳感器的應(yīng)用 231
4.20.1 MMA7361型加速度傳感器 231
4.20.2 MMA7361型加速度傳感器的應(yīng)用試驗(yàn) 231
4.20.3 ADXL345加速度傳感器 234
4.20.4 I2C總線函數(shù)庫 235
4.20.5 ADXL345加速度傳感器應(yīng)用試驗(yàn) 236
4.20.6 MPU6050運(yùn)動檢測傳感器的應(yīng)用 239
4. 21 磁阻傳感器的應(yīng)用 242
4.21.1 HMC5883L型磁阻傳感器 243
4.21.2 HMC5883L型磁阻傳感器應(yīng)用試驗(yàn) 244
第5章 Arduino的遠(yuǎn)程通信與控制 245
5.1 無線通信網(wǎng)絡(luò) 245
5.1.1 1對多通信 245
5.1.2 多對多通信 246
5.1.3 混合式通信 247
5.2 紅外遙控的應(yīng)用 247
5.2.1 紅外線 247
5.2.2 紅外遙控系統(tǒng)原理 248
5.2.3 紅外遙控試驗(yàn) 252
5.2.4 家電遙控器替代試驗(yàn) 256
5.3 Arduino的網(wǎng)絡(luò)應(yīng)用 259
5.3.1 Ethernet庫 260
5.3.2 網(wǎng)絡(luò)擴(kuò)展模塊Ethernet Shield 261
5.3.3 Arduino Web服務(wù)器 268
5.3.4 網(wǎng)絡(luò)溫度傳感器試驗(yàn) 270
5.4 Arduino的無線網(wǎng)絡(luò)應(yīng)用 275
5.4.1 WiFi擴(kuò)展板 276
5.4.2 WiFi庫 277
5.4.3 無線加速度傳感器試驗(yàn) 278
5.4.4 WiFi轉(zhuǎn)串口模塊的應(yīng)用 281
5.5 無線藍(lán)牙通信 291
5.5.1 藍(lán)牙技術(shù)簡介 291
5.5.2 BLK-MD-BC04-B型藍(lán)牙模塊 292
5.5.3 BLK-MD-BC04-B型藍(lán)牙模塊AT指令集 293
5.5.4 主從配置 303
5.5.5 藍(lán)牙控制點(diǎn)亮LED試驗(yàn) 310
5.6 ZigBee通信技術(shù)的應(yīng)用 313
5.6.1 ZigBee通信技術(shù) 313
5.6.2 DRF1605H型ZigBee無線模塊的應(yīng)用 314
5.6.3 XBee-PRO模塊的應(yīng)用 325
5.7 無線數(shù)傳模塊的應(yīng)用 331
5.7.1 2.4GHz無線數(shù)傳模塊的應(yīng)用 331
5.7.2 APC220無線數(shù)傳模塊的應(yīng)用 342
第6章 輪式機(jī)器人的制作 350
6.1 機(jī)器人基礎(chǔ)知識 350
6.1.1 機(jī)器人的基本組成 350
6.1.2 機(jī)器人的分類 351
6.1.3 自律型移動機(jī)器人 351
6.1.4 機(jī)器人的運(yùn)動 352
6.2 輪式機(jī)器人的制作 354
6.2.1 動力機(jī)構(gòu) 354
6.2.2 組裝底盤 356
6.2.3 組裝上蓋 361
6.2.4 安裝控制板 362
6.2.5 安裝傳感器 362
6.3 輪式機(jī)器人運(yùn)動試驗(yàn) 364
6.3.1 車輪驅(qū)動調(diào)試 364
6.3.2 運(yùn)動程序設(shè)計(jì) 365
6.3.3 機(jī)器人運(yùn)動試驗(yàn) 367
6.3.4 程序簡化 368
6.4 機(jī)器人避障 372
6.5 機(jī)器人尋線運(yùn)動 374
6.6 機(jī)器人電腦遙控試驗(yàn) 375
6.6.1 硬件連接 375
6.6.2 程序代碼 376
6.7 使用無線遙控器控制機(jī)器人試驗(yàn) 377
6.7.1 搖桿擴(kuò)展板 377
6.7.2 制作無線遙控器 378
6.7.3 遙控機(jī)器人調(diào)速試驗(yàn) 380
參考文獻(xiàn) 384
查看全部↓