Arduino机器人权威指南
作 者: (美)John-David Warren(约翰-戴维.沃伦),Josh Adams(约什.亚当斯),Harald Molle(哈拉尔德.莫勒)著 于欣龙 译
出版时间: 2014
内容简介
你想制作有趣的机器人吗?你想让机器人沿着指定的路线行走吗?你想让机器人帮助你清扫庭院吗?你想让机器人载着你逛街吗?那么请选择《Arduino机器人权威指南》吧!John-David Warren、Josh Adams和Harald Molle会带你走进机器人的世界,教会你如何寻找配件、怎样制作机器人、怎样进行编程,甚至告诉你如何对机器人进行安全测试。本书可以教会你如何用Arduino来控制各式各样的机器人,同时提供了每一步的详细指导。你不仅可以学会Arduino的基本使用方法,还可以了解各种电机的特性。同样,你会掌握其控制和排除故障的方法,将之应用到你的机器人项目中。本书从易到难,讲解了各种各样机器人的制作方法,其中包括GPS机器船、草地机器人、格斗机器人及赛格威机器人等。无论你是只会摆弄Arduino的初学者,还是一个制作小工具的专家,《Arduino机器人权威指南》都会帮助你制作出意想不到的机器人作品。
目 录
第1章 基础 1
1.1 电学 2
1.1.1 电模拟 3
1.1.2 电的基础知识 4
1.1.3 电路 6
1.1.4 电信号测量 7
1.1.5 万用表 7
1.1.6 电压测量 8
1.1.7 电流强度测量 9
1.1.8 电容测量 9
1.1.9 电阻测量 10
1.1.10 使用欧姆定律计算电阻功率 11
1.1.11 示波器 12
1.1.12 负载 13
1.1.13 电路连接 14
1.2 电子学 15
1.2.1 半导体 16
1.2.2 技术手册 17
1.2.3 集成电路 18
1.2.4 通孔元件 19
1.3 Arduino初级读本 20
1.3.1 Arduino变体 21
1.3.2 Arduino集成开发环境 24
1.3.3 草稿 24
1.3.4 信号 28
1.4 构建电路 38
1.4.1 电路设计 38
1.4.2 原理图 39
1.4.3 原型 41
1.5 搭建机器人 47
1.5.1 硬件 47
1.5.2 材料 49
1.5.3 工作区域 50
1.6 总结 51
第2章 基于Arduino的机器人 52
2.1 Arduino接口 52
2.1.1 继电器 53
2.1.2 晶体管 59
2.1.3 电机控制器的接口 66
2.2 用户控制 69
2.2.1 连线(有线)控制 70
2.2.2 红外控制(IR) 70
2.2.3 无线电控制系统 71
2.3 传感器导航 74
2.3.1 接触式感知 75
2.3.2 距离和反射式感知 75
2.3.3 方向(定位) 78
2.3.4 非自主传感器 81
2.4 总结 84
第3章 让机器人动起来 85
3.1 电机 85
3.1.1 有刷直流电机(永久磁铁型) 86
3.1.2 无刷直流电机 87
3.1.3 步进电机 88
3.1.4 齿轮减速电机 90
3.1.5 伺服舵机 91
3.1.6 线性制动器 92
3.1.7 功率计算 93
3.1.8 驱动 93
3.1.9 寻找合适的电机 94
3.2 H桥 95
3.2.1 产生制动 96
3.2.2 实现 97
3.2.3 H桥集成电路 100
3.2.4 更改PWM频率 101
3.2.5 反电动势 103
3.2.6 电流检测 105
3.2.7 基于H桥的商品(电机控制器) 106
3.3 电池 109
3.3.1 镍镉电池(NiCad) 110
3.3.2 镍氢电池(NiMH) 110
3.3.3 锂聚合物电池(LiPo) 111
3.3.4 铅酸蓄电池 112
3.3.5 充电 114
3.4 材料 115
3.4.1 木材 115
3.4.2 金属 116
3.4.3 螺栓和螺母 116
3.4.4 塑料 117
3.4.5 链条和链轮齿 117
3.4.6 车轮 118
3.5 总结 118
第4章 莱纳斯寻线机器人 120
4.1 莱纳斯的零件清单 121
4.2 如何使莱纳斯工作 123
4.2.1 轨道 123
4.3 制作红外传感器电路板 124
4.4 改装成连续旋转的伺服舵机 132
4.4.1 方法1:带有外部速度控制器的直接直流驱动 132
4.4.2 方法2:带有内部电机驱动电路的伺服脉冲驱动 135
4.5 合适的驱动轮 137
4.6 制作框架 141
4.7 制作连接 146
4.8 电池安装 147
4.8.1 安装电源开关 148
4.9 加载代码 148
4.10 制作轨道 155
4.11 测试 156
4.12 附加组件 157
4.12.1 LED指示灯 157
4.12.2 喷漆 159
4.12.3 添加速度调节器(电位器) 162
4.13 总结 164
第5章 墙追踪机器人Wally 166
5.1 如何让Wally工作 167
5.2 Wally的零件清单 169
5.3 电机控制器 171
5.3.1 高侧开关 171
5.3.2 低侧开关 171
5.3.3 电路制作 173
5.4 制作框架 178
5.5 安装传感器 182
5.6 安装电池和电源开关 185
5.6.1 电源开关安装 186
5.7 代码 187
5.7.1 代码目标 189
5.8 总结 198
第6章 制作PCB板 199
6.1 PCB基础 199
6.2 你需要什么来开始 200
6.3 电路设计 202
6.3.1 搜索开源设计 203
6.3.2 制作你自己的设计 204
6.3.3 使用Eagle原理图编辑器工作 207
6.3.4 使用Eagle电路板编辑器工作 211
6.4 转印设计 219
6.4.1 让我们制作一块Arduino克隆板――Jduino 219
6.4.2 开始转印 221
6.5 腐蚀 227
6.5.1 测量腐蚀液 227
6.5.2 腐蚀(方法1) 228
6.5.3 腐蚀(方法2) 230
6.5.4 清除墨粉 232
6.6 钻孔 234
6.7 焊接 235
6.7.1 制作Arduino克隆板 235
6.7.2 制作BJT H-桥 238
6.8 测试 240
6.9 总结 243
第7章 昆虫机器人 244
7.1 通过Arduino读取开关 245
7.2 如何使昆虫机器人工作 246
7.2.1 天线传感器 246
7.2.2 碰撞传感器 247
7.3 昆虫机器人的零件清单 247
7.4 电机 249
7.4.1 改装伺服舵机 249
7.4.2 控制伺服舵机 251
7.4.3 将脉冲值转换为角度值 252
7.4.4 将车轮安装到伺服舵机 253
7.5 制作框架 255
7.5.1 标记有机玻璃 255
7.5.2 切割有机玻璃 256
7.5.3 安装电机 258
7.5.4 安装脚轮 258
7.5.5 安装Arduino 260
7.5.6 安装电池 260
7.6 制作传感器 262
7.6.1 前置天线传感器 262
7.6.2 后置碰撞传感器 263
7.7 制作连线 266
7.8 加载代码 267
7.8.1 创建一个延迟 267
7.8.2 变量 268
7.8.3 代码 269
7.9 制作一顶帽子 277
7.10 总结 280
第8章 探险者机器人 281
8.1 如何使探险者机器人工作 282
8.1.1 R/C控制 282
8.1.2 强大的电机 283
8.1.3 电流检测 283
8.1.4 启动视频 283
8.1.5 启动Xbee 284
8.2 探险者机器人的零件清单 284
8.3 制作框架 286
8.3.1 规格 286
8.3.2 添加电池支架 287
8.3.3 切割底部框架支架 289
8.3.4 切割顶部框架支架 289
8.3.5 切割和弯曲主框架板 290
8.3.6 添加横杆和安装脚轮 291
8.3.7 有机玻璃甲板(任选) 293
8.4 制作电机控制器 293
8.4.1 电流检测和限流 293
8.4.2 H桥设计 294
8.5 设置Arduino 298
8.5.1 连接H桥 299
8.6 设置Xbee 300
8.6.1 测试Xbee 302
8.7 添加摄像头 303
8.7.1 二自由度云台 304
8.7.2 制作第一个支架 305
8.7.3 制作第二个支架 306
8.8 加载代码 307
8.9 总结 316
第9章 机器船 318
9.1 开场白 319
9.2 机器船的零件清单 319
9.2.1 聚苯乙烯泡沫塑料 321
9.2.2 环氧树脂 322
9.2.3 手套 323
9.2.4 玻璃纤维布 323
9.2.5 胶水 324
9.2.6 泡沫塑料切割机和美工刀 325
9.2.7 杂项 325
9.3 机器船设计 325
9.4 组装机器船 327
9.4.1 模板 327
9.4.2 将模板胶合到EPS/ XPS板上 329
9.4.3 切出分段 330
9.4.4 把分段胶合在一起 332
9.4.5 插入泡沫锚 333
9.4.6 涂层 334
9.4.7 涂抹成品 335
9.4.8 鳍 336
9.4.9 上色 336
9.4.10 甲板 336
9.4.11 完成组装 337
9.5 推进装置 338
9.5.1 底板 340
9.5.2 枢轴 340
9.5.3 管子 341
9.5.4 舵角 342
9.5.5 电机 343
9.5.6 舵机 344
9.5.7 推杆 344
9.6 电子设备 344
9.6.1 系统的核心――ArduPilot PCB 345
9.6.2 GPS模块 346
9.6.3 电子调速器(ESC) 346
9.6.4 电机 347
9.6.5 舵机 347
9.6.6 电池组 347
9.6.7 安装电子设备 348
9.7 软件和任务规划 351
9.7.1 GPS接收器 351
9.7.2 软件 352
9.7.3 安装软件 372
9.7.4 任务规划 377
9.8 全部放在一起 380
9.8.1 集成系统 381
9.8.2 船,欢呼吧! 383
9.9 故障排除 383
9.9.1 电机/螺旋桨的推力不够 384
9.9.2 电机不启动 385
9.10 总结 385
第10章 草地机器人400 386
10.1 如何使草地机器人400工作 387
10.1.1 割草机甲板 388
10.1.2 大容量电池 388
10.1.3 钢框架 389
10.1.4 卸料斗 389
10.1.5 充气轮胎 390
10.1.6 前灯 390
10.1.7 失效保护 390
10.2 工具和零件列表 391
10.2.1 割草机 391
10.2.2 零件清单 391
10.3 轮子 392
10.3.1 前脚轮 393
10.3.2 后驱动轮 393
10.3.3 安装链轮 394
10.4 框架 395
10.5 传动系统 402
10.5.1 安装电机支架 403
10.5.2 安装链条 406
10.6 电机控制器 408
10.6.1 选购一个电机控制器 408
10.6.2 散热风扇 410
10.6.3 电机控制器反馈 411
10.7 Arduino 413
10.7.1 固定好连接以防行驶颠簸 413
10.8 失效保护 417
10.8.1 无线电遥控拨动开关 418
10.8.2 功率继电器 420
10.8.3 避免无线电遥控本身的失效保护 421
10.9 连接电路 422
10.10 代码 423
10.11 美化和添加附件 429
10.11.1 喷漆 429
10.11.2 前灯 430
10.11.3 卸料斗 430
10.11.4 割草机安全开关 432
10.12 总结 432
第11章 赛格威机器人 434
11.1 如何使赛格威机器人工作 435
11.1.1 惯性测量单元 435
11.1.2 转向和增益 436
11.1.3 啮合器 436
11.2 赛格威机器人的零件清单 436
11.3 选择合适的传感器 438
11.3.1 3.3V电源 439
11.3.2 加速度计 440
11.3.3 陀螺仪 442
11.3.4 陀螺仪和加速度计的总结 443
11.3.5 角度滤波 444
11.4 制作惯性测量单元适配板 445
11.5 选择电机 446
11.5.1 卸掉电力制动器 448
11.5.2 电机安装位置 450
11.6 选择电机控制器 451
11.6.1 SoftwareSerial库 452
11.6.2 Sabertooth控制器的简化串口 453
11.7 电池 454
11.7.1 密封铅酸蓄电池 455
11.7.2 充电 456
11.7.3 12V供电 456
11.8 框架 456
11.8.1 框架设计 458
11.8.2 制作框架 458
11.9 输入装置 462
11.9.1 转向 462
11.9.2 增益 462
11.9.3 啮合器 463
11.9.4 水平启动 463
11.9.5 安装输入装置到框架上 463
11.10 安装电子设备 467
11.10.1 焊接输入装置 470
11.10.2 连接线路 470
11.11 分析代码 471
11.11.1 sample_accel()函数 472
11.11.2 sample_gyro()函数 473
11.11.3 检查角度读数 474
11.11.4 calculate_angle() 函数 475
11.11.5 read_pots()函数 476
11.11.6 auto_level()函数 477
11.11.7 update_motor_speed() 函数 479
11.11.8 time_stamp()函数 482
11.11.9 serial_print_stuff()函数 482
11.11.10 完整代码 484
11.12 测试 491
11.13 总结 493
11.14 参考资料 493
第12章 格斗机器人 494
12.1 机器人格斗的诞生 496
12.1.1 格斗机器人的规章制度 496
12.1.2 没有价格限制 497
12.2 格斗机器人零件清单 498
12.3 输入控制 500
12.3.1 Fly Sky CT-6:32美元、5通道、2.4GHz无线控制器备选方案 501
12.4 电子设备 504
12.4.1 Arduino 504
12.4.2 电机控制器 505
12.5 框架 507
12.5.1 是买,还是做 508
12.5.2 改装轮子 509
12.5.3 制作框架 510
12.6 传动系统 513
12.6.1 齿轮传动装置 514
12.6.2 链条张力调整螺母 515
12.7 电池 520
12.8 安装电子设备 522
12.8.1 保护好你的大脑 522
12.8.2 连接线路 524
12.9 代码 526
12.10 盔甲 532
12.11 武器 534
12.12 附加信息 540
12.13 总结 541
第13章 其他控制方式 542
13.1 用Processing来解码信号 543
13.2 其他控制方式所用零件清单 543
13.3 选择输入设备 544
13.4 Processing必备文件 545
13.5 遵照协议 546
13.6 检查Processing的代码 546
13.6.1 代码解析 549
13.6.2 测试Processing 551
13.7 检查Arduino的代码 553
13.8 总结 560