第1章 基础知识 1
1.1 Arduino硬件与开发板 1
1.1.1 Arduino硬件与主控芯片 1
1.1.2 Arduino开发板 3
1.1.3 Arduino UNO开发板的认识 6
1.1.4 Arduino UNO电路分析 8
1.2 Arduino开发环境(Arduino IDE) 15
1.2.1 获取Arduino IDE 15
1.2.2 安装驱动 15
1.2.3 程序烧录 16
1.2.4 Arduino IDE用户界面 20
1.3 软件基础 26
1.3.1 流程图 26
1.3.2 C语言基础 27
1.3.3 控制语句 31
1.3.4 程序结构 34
1.4 Arduino基本函数 35
1.4.1 数字I/O口相关函数 36
1.4.2 模拟I/O口相关函数 38
1.4.3 高级I/O 41
1.4.4 时间函数 42
1.4.5 中断函数 44
1.4.6 串口通信函数 46
1.4.7 数学库 48
1.4.8 随机数 48
1.4.9 位操作(SPI口) 49
1.5 串口通信 51
1.5.1 通信协议 51
1.5.2 RS-232 52
1.6 Arduino的应用 54
1.6.1 串口的应用 54
1.6.2 数字I/O口的应用 56
1.6.3 模拟I/O口的应用 58
第2章 Arduino入门实训 60
2.1 LED灯试验 60
2.1.1 LED基础知识 60
2.1.2 LED闪灯试验 65
2.1.3 交通信号灯试验 70
2.1.4 广告流水灯试验 71
2.1.5 PW M(脉宽调制)LED调光试验 75
2.2 压电音频试验 77
2.2.1 压电陶瓷片和蜂鸣器 77
2.2.2 模拟救护车警笛试验 79
2.2.3 压电振动传感器 80
2.3 按键试验 82
2.3.1 按键开关 82
2.3.2 薄膜键盘 83
2.3.3 按键控制LED试验 85
2.3.4 按键显示试验 86
2.3.5 用薄膜键盘控制LED小灯试验 88
2.3.6 抢答器试验 89
2.4 移位寄存器应用试验 91
2.4.1 二进制数制 91
2.4.2 8位二进制计数器试验 92
2.5 驱动LED显示器试验 99
2.5.1 LED点阵显示模块 99
2.5.2 多路复用技术 101
2.5.3 LED点阵显示模块基本动画试验 102
2.5.4 滚动画面试验 106
2.5.5 LED数码管 110
2.5.6 驱动数码管试验 111
2.6 继电器驱动试验 116
2.6.1 继电器驱动电路 116
2.6.2 继电器控制LED试验 116
第3章 Arduino进阶实战 119
3.1 LCD液晶显示屏的应用 119
3.1.1 LCD液晶显示屏的构造及原理 119
3.1.2 1602液晶显示文字试验 120
3.1.3 LCD温度显示试验 129
3.2 直流电机的应用 133
3.2.1 直流电机工作原理 133
3.2.2 直流电机简单驱动试验 134
3.2.3 L293D直流电机驱动芯片 136
3.2.4 L293D芯片应用试验 139
3.3 步进电机的应用 141
3.3.1 步进电机 141
3.3.2 ULN2003A步进电机驱动芯片 143
3.3.3 步进电机驱动试验 144
3.4 舵机的应用 148
3.4.1 舵机的结构和工作原理 148
3.4.2 Arduino舵机控制函数库 150
3.4.3 简单的舵机控制试验 151
3.4.4 两个舵机控制试验 153
3.4.5 两个舵机分别控制试验 156
3.5 两轮机器底盘的应用 158
3.5.1 电机驱动扩展模块 158
3.5.2 两轮机器底盘 159
3.5.3 两轮机器底盘控制试验 159
3.6 S D存储卡的应用 162
3.6.1 S D存储卡 162
3.6.2 S D卡库 163
3.6.3 SD存储卡读写试验 164
第4章 传感器的应用 171
4.1 光敏电阻传感器的应用 171
4.1.1 光敏电阻的应用 171
4.1.2 光控LED点亮试验 172
4.2 温度传感器的应用 174
4.2.1 模拟温度传感器 174
4.2.2 基于LM35的计算机温度测量试验 174
4.2.3 单线数字温度传感器应用 176
4.3 红外接近开关的应用 181
4.3.1 红外接近开关 181
4.3.2 传感器扩展板 182
4.3.3 障碍物检测试验 183
4.4 红外测距传感器的应用 184
4.4.1 红外测距传感器 184
4.4.2 液晶屏显示距离试验 185
4.5 超声波测距传感器的应用 189
4.5.1 超声波测距传感器原理 189
4.5.2 HC-SR04型超声波测距模块 190
4.5.3 利用串口输出的超声波测距试验 190
4.5.4 距离控制小灯试验 193
4.6 红外避障传感器的应用 194
4.6.1 红外避障传感器 194
4.6.2 红外避障传感器应用试验 195
4.7 红外寻线传感器的应用 196
4.7.1 红外寻线传感器 196
4.7.2 红外寻线传感器应用试验 197
4.8 激光传感器的应用 198
4.8.1 激光传感器 198
4.8.2 激光传感器应用试验 199
4.9 倾斜传感器的应用 200
4.9.1 倾斜传感器 200
4.9.2 倾斜传感器应用试验 201
4.10 水银碰撞传感器的应用 202
4.10.1 水银碰撞传感器 202
4.10.2 水银碰撞传感器应用试验 202
4.11 振动传感器的应用 203
4.11.1 振动传感器 203
4.11.2 振动传感器应用试验 204
4.12 敲击传感器的应用 205
4.12.1 敲击传感器 205
4.12.2 敲击传感器应用试验 205
4.13 金属触摸传感器的应用 206
4.13.1 金属触摸传感器 206
4.13.2 金属触摸传感器的应用实验 206
4.14 火焰传感器的应用 208
4.14.1 火焰传感器 208
4.14.2 火焰传感器模拟输出应用试验 208
4.14.3 火焰传感器数字输出应用试验 209
4.15 旋转编码器的应用 210
4.15.1 旋转编码器 210
4.15.2 旋转编码器的应用试验 211
4.16 温湿度一体传感器 213
4.16.1 DHT11型数字温湿度传感器 213
4.16.2 DHT11应用试验 214
4.17 颜色传感器的应用 216
4.17.1 三原色原理 216
4.17.2 TCS3200D型颜色传感器 216
4.17.3 颜色传感器应用试验 217
4.18 PS2摇杆的应用 221
4.18.1 Joystick PS2摇杆 221
4.18.2 Joystick PS2摇杆控制液晶屏显示试验 222
4.19 气压传感器的应用 223
4.19.1 气压传感器 223
4.19.2 BMP085型气压传感器 224
4.19.3 基于BMP085的气压测量试验 225
4.20 运动检测传感器的应用 231
4.20.1 MMA7361型加速度传感器 231
4.20.2 MMA7361型加速度传感器的应用试验 231
4.20.3 ADXL345加速度传感器 234
4.20.4 I2C总线函数库 235
4.20.5 ADXL345加速度传感器应用试验 236
4.20.6 MPU6050运动检测传感器的应用 239
4.21 磁阻传感器的应用 242
4.21.1 HMC5883L型磁阻传感器 243
4.21.2 HMC5883L型磁阻传感器应用试验 244
第5章 Arduino的远程通信与控制 245
5.1 无线通信网络 245
5.1.1 1对多通信 245
5.1.2 多对多通信 246
5.1.3 混合式通信 247
5.2 红外遥控的应用 247
5.2.1 红外线 247
5.2.2 红外遥控系统原理 248
5.2.3 红外遥控试验 252
5.2.4 家电遥控器替代试验 256
5.3 Arduino的网络应用 259
5.3.1 Ethernet库 260
5.3.2 网络扩展模块Ethernet Shield 261
5.3.3 Arduino Web服务器 268
5.3.4 网络温度传感器试验 270
5.4 Arduino的无线网络应用 275
5.4.1 WiFi扩展板 276
5.4.2 WiFi库 277
5.4.3 无线加速度传感器试验 278
5.4.4 WiFi转串口模块的应用 281
5.5 无线蓝牙通信 291
5.5.1 蓝牙技术简介 291
5.5.2 BLK-MD-BC04-B型蓝牙模块 292
5.5.3 BLK-MD-BC04-B型蓝牙模块AT指令集 293
5.5.4 主从配置 303
5.5.5 蓝牙控制点亮LED试验 310
5.6 ZigBee通信技术的应用 313
5.6.1 ZigBee通信技术 313
5.6.2 DRF1605H型ZigBee无线模块的应用 314
5.6.3 XBee-PRO模块的应用 325
5.7 无线数传模块的应用 331
5.7.1 2.4 GHz无线数传模块的应用 331
5.7.2 APC220无线数传模块的应用 342
第6章 轮式机器人的制作 350
6.1 机器人基础知识 350
6.1.1 机器人的基本组成 350
6.1.2 机器人的分类 351
6.1.3 自律型移动机器人 351
6.1.4 机器人的运动 352
6.2 轮式机器人的制作 354
6.2.1 动力机构 354
6.2.2 组装底盘 356
6.2.3 组装上盖 361
6.2.4 安装控制板 362
6.2.5 安装传感器 362
6.3 轮式机器人运动试验 364
6.3.1 车轮驱动调试 364
6.3.2 运动程序设计 365
6.3.3 机器人运动试验 367
6.3.4 程序简化 368
6.4 机器人避障 372
6.5 机器人寻线运动 374
6.6 机器人电脑遥控试验 375
6.6.1 硬件连接 375
6.6.2 程序代码 376
6.7 使用无线遥控器控制机器人试验 377
6.7.1 摇杆扩展板 377
6.7.2 制作无线遥控器 378
6.7.3 遥控机器人调速试验 380
参考文献 384