科技>计算机>计算机科学
Arduino机器人权威指南

Arduino机器人权威指南"

作者:于欣龙,陈丽,张阳张岩
ISBN:9787121222917
定价:¥99.0
字数:728千字
页数:584
出版时间:2014-03
开本:16(185*235)
版次:01-01
装帧:
出版社:电子工业出版社
简介

你想制作有趣的机器人吗?你想让机器人沿着指定的路线行走吗?你想让机器人帮助你清扫庭院吗?你想让机器人载着你逛街吗?那么请选择《Arduino机器人权威指南》吧!John-David Warren、Josh Adams和Harald Molle会带你走进机器人的世界,教会你如何寻找配件、怎样制作机器人、怎样进行编程,甚至告诉你如何对机器人进行安全测试。 本书可以教会你如何用Arduino来控制各式各样的机器人,同时提供了每一步的详细指导。你不仅可以学会Arduino的基本使用方法,还可以了解各种电机的特性。同样,你会掌握其控制和排除故障的方法,将之应用到你的机器人项目中。本书从易到难,讲解了各种各样机器人的制作方法,其中包括GPS机器船、草地机器人、格斗机器人及赛格威机器人等。 无论你是只会摆弄Arduino的初学者,还是一个制作小工具的专家,《Arduino机器人权威指南》都会帮助你制作出意想不到的机器人作品。

前言

译者序 Arduino的诞生可谓开源硬件发展史上的一个新的里程碑,本人见证着其在中国蓬勃发展的整个过程。尤其近几年,随着Arduino软硬件功能的不断提高,周边配套模块的不断完善,其应用日趋成熟,应用领域也日趋扩大,从环境监测、智能家居再到3D打印等多个领域都能看到它的身影,特别是在机器人和自动化领域,因为它的存在而生辉增色不少。Arduino因其程序语法简单易懂、开发资料丰富,受到众多创客的追捧,从小就喜欢动手DIY的我也不例外。 正当本人忙于本书最后校稿之时,谷歌已完成对“大狗”(BigDog)机器人制造商Boston Dynamics公司的收购。它是谷歌近半年来收购的第八家机器人公司。这则爆炸性新闻,让“我和我的小伙伴们都惊呆了”,谷歌的这些举动足以说明未来机器人行业发展的巨大潜力。纵览国内现有解读Arduino和机器人制作的相关书籍,本人发现大多是围绕单一内容展开编写的,将两者结合,系统全面讲解Arduino在机器人上应用的书籍并不多。本人有幸先于广大读者读到本书英文版《Arduino Robotics》,通过阅读发现,本书在内容编排上由浅入深、循序渐进,力求通俗易懂,是一本由“理论入,实践出”的实用型工具书,为此本人决定联合国内几位资深机器人爱好者将其翻译出来,早日跟大家分享,共同学习。 内容编排 全书共分13个章节,各章节内容明确,重点突出,确保读者快速理解而又不浪费时间。如果你是一个完全没有电子基础却又对机器人制作感兴趣的初学者,可以从头开始章章通读,前两章从介绍理论基础知识、常用工具、电子元件和传感器入手,内容简单,容易理解;第3章主要介绍机器人常用的不同种类电机和驱动电路,让读者为后面制作机器人做准备。如果你对机器人制作和Arduino编程有一定基础,相信本书的各种机器人制作项目也会让你大开眼界,从第4章到13章作者通过亲自动手制作机器人项目的方式教授读者如何选择电子器件,焊接电路,制作PCB,以及根据功能需要编写程序,到实际调试和后续改进等过程,整个过程图文并茂,剖析准确到位,程序注释句句清晰、简明。其中第6章内容告诉读者如何使用目前国外最流行的PCB绘制软件eagle设计并制作电路板也是本书特色项目之一,填补了这款软件的国内教学空白。全书中的例子代码可通过作者创建的网站下载获取,关于Arduino其他硬件方面的创作,你也可以登录Rebecca的博客http://blog.sina.com.cn/arduino查找学习。 因本书涉及内容多、专业性强,故邀请不同译者分章翻译,最终统稿编排,因此书中难免会出现疏漏与错误。如果读者在阅读过程中发现任何问题,希望找到译者共同探讨,那么可以加入Arduino Robotics主题QQ群:334268182。在这个群里你会获得更多关于Arduino和机器人方面问题的解答。 致谢 首先要感谢作者为广大Arduino和机器人爱好者做出的巨大贡献。其次,本人因为Arduino有幸结识其他译者,在此特别感谢我的挚友张阳、张岩和陈丽,没有你们的辛勤付出,本书不可能顺利完成。当然,还要感谢本书编辑,因为你们对本书译稿的多次审阅和提出宝贵建议才促使本书更加完善并得以早日出版。另外,奥松机器人王非凡、朱新龙、马丽娜也为本书的校对和出版做了大量工作,在此对他们表示由衷感谢。 古人云:“授人以鱼,不如授之以渔”,本书不仅能够带着你一步一步去制作各种功能的机器人,还能教会你使用更多制作方法和小妙招。要想做一位名副其实的创客,《Arduino机器人权威指南》是你的最佳选择,动手就从这里开始吧! 于欣龙 奥松机器人创始人、资深创客 前 言 这本书是为那些想更多了解关于Arduino和机器人的爱好者们写的。虽然有些项目是面向大学生和成人的,但涵盖机器人项目的初级章节也同样适合初中生和高中生阅读。因为我曾看到过一些很棒的项目,他们都是由老年人或者是年轻人制作的,所以我不会对这本书做年龄的限制。 预备知识 首先,你要能够使用基本的电动工具、手动工具、电压表和电烙铁。如果你没有这些方面的经验,也不用担心,因为你的第一次经验已经向你走来(你必须从某处开始),就像骑自行车一样,熟能生巧。 如果你是一名经验丰富的机器人制造者,通过学习我介绍的一些方法,能够使你进步得更快。如果你是一个初学者,你就再也不会把一些孔钻到错误的地方、把一个轮子安装得不直、把机器人做得如此丑陋。不要总是想第一次就把每一步都做得非常完美,第一次只要尽力做就行,然后回过头再去改善。手中有一个可以工作但不完美的机器人比什么都没有要好(因为你太害怕去尝试)。 总之,这本书主要是为那些Arduino爱好者们提供有趣的项目。如果你在做项目的时候,没有寻找到乐趣,或是做错了;如果你困惑于一个项目,不得不停下来;那么请寻求帮助吧——没有人想让你感到沮丧,但学习新的东西,有时候会让你有一种“用头撞墙”的感觉;不要那样做,只要坚持住,相信你的问题最终会得到解决的。我建了一个谷歌网站,里面包含了本书每个项目的文件并且给大家提供了一个互相交流学习的平台。 网址:https://sites.google.com/site/arduinorobotics/ 如果你想尝试一些其他的Arduino的项目,处理各种类型的传感器、发光二极管、家庭自动化,以及其他各种项目,你可以参考Apress出版公司关于Arduino的书籍。 书名:Practical Arduino 作者:Jonathan Oxer and Hugh Blemings(2009) 书名:Beginning Arduino 作者:Michael McRoberts(2010) John-David Warren

目录

目 录 第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

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个