第一篇 Arduino入门篇 2
第1章 Arduino简介 2
1.1 认识Arduino 2
1.2 Arduino资源 2
1.2.1 Arduino Uno开发板 3
1.2.2 Arduino Mega 2560开发板 3
1.3 安装Arduino Uno驱动 4
1.3.1 常规Arduino Uno驱动程序安装方法 4
1.3.2 Arduino驱动安装过程出现的问题及解决方法 5
1.4 Arduino开发环境 8
第2章 Arduino的基本函数 13
2.1 数字I/O口的操作函数 13
2.1.1 pinMode(pin,mode) 13
2.1.2 digitalWrite(pin,value) 13
2.1.3 digitalRead(pin) 14
2.2 模拟I/O口的操作函数 14
2.2.1 analogReference(type) 14
2.2.2 analogRead(pin) 15
2.2.3 analogWrite(pin,value) 15
2.3 高级I/O 16
2.3.1 PulseIn(pin,state,timeout) 16
2.3.2 shiftOut(dataPin,clockPin,bitOrder,val) 17
2.4 时间函数 17
2.4.1 delay(ms) 17
2.4.2 delayMicroseconds(μs) 18
2.4.3 millis() 18
2.4.4 micros() 19
2.5 中断函数 19
2.5.1 interrupts()和noInterrupts() 19
2.5.2 attachInterrupt(interrput,function,mode) 19
2.5.3 detachInterrupt(interrput) 20
2.6 串口通信函数 21
2.6.1 Serial.begin() 21
2.6.2 Serial.available() 21
2.6.3 Serial.read() 21
2.6.4 Serial.print() 21
2.6.5 Serial.printIn() 21
2.7 数学库 22
2.7.1 min(x,y) 22
2.7.2 max(x,y) 22
2.7.3 abs(x) 22
2.7.4 三角函数 22
2.7.5 random(small,big) 22
第二篇 机电控制篇 24
第3章 直流电机控制 24
3.1 直流电机简介 24
3.2 直流电机工作原理 25
3.3 直流电机驱动电路原理 26
3.4 PWM速度控制原理 27
3.5 常用电机驱动芯片介绍 28
3.6 编程原理与示例程序 30
第4章 步进电机控制 32
4.1 步进电机简介 32
4.2 步进电机工作原理 33
4.3 步进电机驱动电路原理 34
4.4 常用步进电机驱动芯片简介 35
4.5 编程原理与示例程序 36
第5章 舵机控制 40
5.1 舵机简介 40
5.2 舵机工作原理 40
5.2.1 舵机的结构 40
5.2.2 PPM角度控制 41
5.3 舵机控制函数库 41
5.3.1 attach(pin) 42
5.3.2 write(value) 42
5.3.3 writeMicroseconds() 42
5.3.4 detach(pin) 42
5.3.5 read() 43
5.3.6 readMicroseconds() 43
5.4 编程原理与示例程序 43
第三篇 传感器应用篇 46
第6章 传感器介绍和编程 46
6.1 激光传感器 46
6.1.1 激光传感器工作原理 46
6.1.2 编程原理与示例程序 47
6.2 光敏传感器 48
6.2.1 光敏传感器工作原理 48
6.2.2 编程原理与示例程序 48
6.3 倾斜传感器 50
6.3.1 倾斜传感器工作原理 50
6.3.2 编程原理与示例程序 50
6.4 水银开关式碰撞传感器 51
6.4.1 水银开关式碰撞传感器工作原理 51
6.4.2 编程原理与示例程序 51
6.5 振动传感器 52
6.5.1 振动传感器工作原理 52
6.5.2 编程原理与示例程序 53
6.6 敲击传感器 53
6.6.1 敲击传感器工作原理 53
6.6.2 编程原理与示例程序 54
6.7 金属触摸传感器 54
6.7.1 金属触摸传感器工作原理 54
6.7.2 编程原理与示例程序 55
6.8 红外线传感器 56
6.8.1 红外线传感器工作原理 56
6.8.2 编程原理与示例程序 57
6.9 火焰传感器 58
6.9.1 火焰传感器工作原理 58
6.9.2 编程原理与示例程序 58
6.10 红外避障传感器 59
6.10.1 红外避障传感器工作原理 59
6.10.2 编程原理与示例程序 60
6.11 寻线传感器 60
6.11.1 寻线传感器工作原理 60
6.11.2 编程原理与示例程序 61
6.12 光遮断传感器 61
6.12.1 光遮断传感器工作原理 61
6.12.2 编程原理与示例程序 62
6.13 霍尔传感器 63
6.13.1 霍尔传感器工作原理 63
6.13.2 编程原理与示例程序 63
6.14 磁环传感器 64
6.14.1 磁环传感器工作原理 64
6.14.2 编程原理与示例程序 64
6.15 旋转编码器 66
6.15.1 旋转编码器工作原理 66
6.15.2 编程原理与示例程序 67
6.16 声音传感器 69
6.16.1 声音传感器工作原理 69
6.16.2 编程原理与示例程序 70
6.17 模拟温度传感器 71
6.17.1 模拟温度传感器工作原理 71
6.17.2 编程原理与示例程序 72
6.18 DHT11数字温湿度传感器 73
6.18.1 DHT11数字温湿度传感器工作原理 73
6.18.2 编程原理与示例程序 73
6.19 DS18B20数字温度传感器 75
6.19.1 DS18B20数字温度传感器工作原理 75
6.19.2 编程原理与示例程序 76
6.20 MQ-2烟雾传感器 77
6.20.1 MQ-2烟雾传感器工作原理 77
6.20.2 编程原理和示例程序 77
6.21 水位传感器 78
6.21.1 水位传感器工作原理 78
6.21.2 编程原理与示例程序 78
6.22 超声波测距传感器 79
6.22.1 超声波测距传感器工作原理 79
6.22.2 编程原理与示例程序 81
6.23 Joystick PS2摇杆 82
6.23.1 Joystick PS2摇杆工作原理 82
6.23.2 编程原理与示例程序 83
6.24 TCS3200D颜色传感器 83
6.24.1 TCS3200D颜色传感器工作原理 83
6.24.2 编程原理与示例程序 84
6.25 气压传感器 87
6.25.1 气压传感器工作原理 87
6.25.2 编程原理与示例程序 89
6.26 MPU6050运动检测传感器 95
6.26.1 MPU6050运动检测传感器工作原理 95
6.26.2 编程原理与示例程序 97
6.27 HMC5883L磁阻传感器 99
6.27.1 HMC5883L磁阻传感器工作原理 99
6.27.2 编程原理与示例程序 100
第四篇 无线控制篇 104
第7章 ZigBee无线传输模块 104
7.1 ZigBee技术简介 104
7.2 DRF1605H模块的使用 104
7.2.1 模块介绍 104
7.2.2 组网原理 105
7.2.3 数据传输方式 108
7.2.4 配置说明 110
7.3 编程原理与示例程序 112
第8章 蓝牙传输模块 115
8.1 蓝牙技术简介 115
8.2 蓝牙模块的连接过程 115
8.3 BLK-MD-BC04-B蓝牙模块的使用 116
8.3.1 BLK-MD-BC04-B蓝牙模块简介 116
8.3.2 常用AT指令设置 117
8.3.3 软件主从配置 119
8.3.4 硬件主从配置 122
8.4 编程原理与示例程序 123
第9章 WiFi传输模块 127
9.1 WiFi技术简介 127
9.2 WiFi转串口模块的使用 127
9.2.1 模块介绍 127
9.2.2 配置说明 129
9.3 编程原理与示例程序 136
第10章 2.4G无线数传模块 139
10.1 2.4G无线数传模块简介 139
10.2 nRF24L01模块使用 140
10.3 编程原理与程序设计 140
第11章 DigiMeSh远距离传输模块 150
11.1 DigiMesh技术简介 150
11.2 XBee PRO 900HP模块使用 150
11.3 编程原理与示例程序 155
第五篇 机器人设计制作篇 162
第12章 走迷宫的超声波避障车 162
12.1 硬件平台的搭建 162
12.1.1 物料清单 162
12.1.2 组建超声波避障车 162
12.1.3 总装接线表 163
12.2 编程原理 164
12.3 程序设计 164
第13章 蓝牙控制的机器人 169
13.1 硬件平台的搭建 169
13.1.1 物料清单 169
13.1.2 总装接线表 170
13.2 配置说明 170
13.2.1 蓝牙模块配置 170
13.2.2 手机连接测试 170
13.3 编程原理与程序设计 172
13.3.1 Android程序设计 172
13.3.2 智能车程序设计 191
第14章 无人机操纵装置 194
14.1 硬件的选型 194
14.2 硬件安装与电路连接 198
14.2.1 飞行摇杆 198
14.2.2 飞行器 199
14.3 控制协议 200
14.4 编程原理与程序设计 202
14.4.1 飞行摇杆控制程序 202
14.4.2 飞行器Flyduino程序 204
第六篇 机器人竞赛篇 208
第15章 打保龄球的机器人 208
15.1 设计思想 208
15.2 任务设计 208
15.2.1 任务一:取保龄球瓶 208
15.2.2 任务二:通过机械门 208
15.2.3 任务三:放保龄球瓶 208
15.2.4 任务四:击打保龄球 209
15.2.5 终极任务:夺取奖杯 210
15.3 比赛场地设计 211
15.3.1 场地设置要求 211
15.3.2 地图设计说明 211
15.3.3 道具设计 212
15.4 竞赛规则与评分标准 213
15.4.1 竞赛规则 213
15.4.2 评分标准 213
15.5 物料清单 214
15.6 机械零件设计图 215
15.7 组装说明书 231
15.7.1 零件清单 231
15.7.2 组装流程 235
15.8 电路设计与接线 242
15.8.1 硬件系统框图 242
15.8.2 电路模块设计 242
15.8.3 总装接线表 249
15.9 程序设计 250
15.9.1 程序设计思想 250
15.9.2 算法设计 250
15.9.3 示例代码 251
第16章 神勇消防员(消防机器人) 262
16.1 设计思想 262
16.2 任务设计 262
16.2.1 任务一:搜索火源 262
16.2.2 任务二:灭火 263
16.2.3 任务三:搜救 263
16.2.4 任务四:返回安全区 263
16.3 比赛场地设计 264
16.3.1 场地设置要求 264
16.3.2 地图设计说明 264
16.3.3 道具设计 265
16.4 竞赛规则与评分标准 265
16.4.1 竞赛规则 265
16.4.2 时间限制 265
16.4.3 评分标准 265
16.5 物料清单 266
16.6 机械零件设计 267
16.7 组装说明 279
16.7.1 零件清单 279
16.7.2 机器人组装流程和详解 283
16.8 电路设计 288
16.8.1 硬件系统框图 288
16.8.2 电路模块设计 290
16.8.3 总装接线表 293
16.9 程序设计 294
16.9.1 程序设计思想 294
16.9.2 算法设计 294
16.9.3 示例代码 295