Arduino机器人制作指南

出版日期:2014-1-1
ISBN:9787030391004
作者:〔美〕Gordon McComb著
页数:376页

内容概要

Gordon McComb,已经写作了65本书籍和上千篇杂志文章,累计发行量超过100万,并被翻译成十几种语言。在过去的13年中,Gordon一直在为计算机和高科技方面报刊撰写专栏文章,影响着全世界范围内的几百万读者。他还是SERVO Magazine及其他许多杂志的主要撰稿人,并维护着一个用于教授机器人制作科学的网站。他是畅销书Robot Builder's Bonanza(《机器人设计与实现》)的作者,该书目前已经是第四版了。

唐乐,网名风的孩子,匪号“疯叫兽”,湖南人,出生于70年代末期。由于毕业于和Arduino毫不相干的经济学专业,在跌跌撞撞地成“神”之路中,犯过了所有“菜鸟”所能犯的一切错误。
为了显摆自己“想当年”百折不挠的创客精神,“疯叫兽”总是摆出“诲人不倦”的嘴脸,在包括QQ群、技术社区在内的各种场合“拉人下水”,用大白话和冷幽默“忽悠”新人玩Arduino。
好在“疯叫兽”英文还不错,自信对Arduino已经滚瓜烂熟,遂常常挑选国外很棒的Arduino书籍在国内翻译出版,并乐此不疲,以证明自已的“学霸”地位。“学霸”的理想是联合圈内有识之士编写一套有影响的本土原创Arduino丛书。

书籍目录

目 录

第 1 章 Arduino开发平台介绍

为何制作机器人… …………………………………………………………………………… 2

为何用Arduino制作机器人…………………………………………………………………… 3

Arduino可以为机器人做什么………………………………………………………………… 4

Arduino:硬件和软件的整合………………………………………………………………… 5

近距离观察Arduino硬件…………………………………………………………………… 6

Arduino主板上需要关注的重点…………………………………………………………… 7

可用内存… …………………………………………………………………………………14

关于电压和处理速度… ………………………………………………………………………15

Arduino工作电压:3.3V或5V………………………………………………………………15

Arduino工作速度……………………………………………………………………………16

了解主板上所有的LED… ……………………………………………………………………17

旧版本的Arduino主板…………………………………………………………………………17

了解Arduino软件………………………………………………………………………………17

IDE版本………………………………………………………………………………………19

USB驱动… …………………………………………………………………………………20

使用面包板或扩展板扩展… …………………………………………………………………20

第 2 章 让Arduino跑起来

所需零件… ……………………………………………………………………………………23

Arduino快速上手………………………………………………………………………………25

步骤1——下载Arduino…IDE…………………………………………………………………25

步骤2——解压缩软件包……………………………………………………………………26

步骤3——安装USB驱动……………………………………………………………………26

步骤4——确认Arduino正常工作……………………………………………………………27

步骤5——启动Arduino…IDE…………………………………………………………………28

步骤6——选定Arduino主板类型和通信端口………………………………………………29

步骤7——上传测试Sketch…………………………………………………………………29

步骤8——修改测试Sketch…………………………………………………………………30

再次了解Arduino…………………………………………………………………………………31

微控制器编程入门… …………………………………………………………………………32

概念:全都是“数字”… …………………………………………………………………32

HIGH到底是多高……………………………………………………………………………33

bit、byte、word………………………………………………………………………………33

烦人的概念:命令、函数、声明、数据类型运算符及变量名… ………………………34

语法和结构… ………………………………………………………………………………35

Sketch的结构分析… …………………………………………………………………………36

上手实验1:我们的LED闪光灯………………………………………………………………36

上手实验2:我们的LED闪光灯,镜头2… …………………………………………………39

上手实验3:读取按键状态……………………………………………………………………41

上手实验4:让Arduino发出声音… …………………………………………………………44

第 3 章 制作Teachbot学习平台

舵机版Teachbot概述… ………………………………………………………………………47

舵机版Teachbot的功能… ……………………………………………………………………49

制作舵机版Teachbot底板… …………………………………………………………………50

切割零件… …………………………………………………………………………………51

开孔技巧… …………………………………………………………………………………53

添加甲板… …………………………………………………………………………………54

组装Teachbot… ………………………………………………………………………………54

步骤0——准备好基本零件…………………………………………………………………54

步骤1——将舵机安装到舵机固定座上……………………………………………………55

步骤2——将L支架和舵机固定座连接在一起……………………………………………55

步骤3——将舵机固定座安装到底层甲板上………………………………………………55

步骤4——安装平衡支撑杆…………………………………………………………………56

步骤5——给舵机安装轮子…………………………………………………………………57

步骤6——安装电池…………………………………………………………………………57

步骤7——将Arduino安装到第二层甲板上…………………………………………………58

步骤8——在第二层甲板上固定面包板……………………………………………………59

步骤9——在底层甲板上添加第二层甲板…………………………………………………59

舵机版Teachbot如何… ………………………………………………………………………61

舵机ABC… …………………………………………………………………………………62

改进普通舵机的方法… ………………………………………………………………………64

基本改进步骤… ……………………………………………………………………………64

所需工具… …………………………………………………………………………………65

选择改进对象… ……………………………………………………………………………65

Hitec…HS-422改进实例………………………………………………………………………65

Futaba…S3003改进实例………………………………………………………………………67

改进后测试… ………………………………………………………………………………68

第 4 章 教学机器人编程:使其运动

接线并尝试驱动一个舵机… …………………………………………………………………69

舵机控制编程… ……………………………………………………………………………71

舵机控制Sketch分析…………………………………………………………………………72

两个舵机的控制… ……………………………………………………………………………75

面包板接线… ………………………………………………………………………………79

运行舵机测试sketch…………………………………………………………………………80

分析测试Sketch………………………………………………………………………………83

舵机版Teachbot的有线控制… ………………………………………………………………83

关于Servo对象的更多知识……………………………………………………………………87

连接和分离舵机… …………………………………………………………………………88

从特定位置开始运行… ……………………………………………………………………91

设定舵机转速… ……………………………………………………………………………91

使用变量指代I/O引脚编号…………………………………………………………………93

让舵机无延迟运转… ………………………………………………………………………94

连续旋转舵机的不足之处… …………………………………………………………………94

第 5 章 编程教学机器人:观察其反应 ………………………………101

让机器人具有触觉… …………………………………………………………………………95

用微动开关检测碰撞… ………………………………………………………………………97

了解碰撞检测Sketch……………………………………………………………………… 101

使用轮询或中断的方法来判断开关的触发… ………………………………………… 102

抖动和防抖… …………………………………………………………………………… 105

安装更多的开关… ……………………………………………………………………… 106

光线检测… ………………………………………………………………………………… 106

将光敏电阻的输出转换成电压信号… ………………………………………………… 106

基础的光线传感器应用… ……………………………………………………………… 107

用手电筒控制机器人… ………………………………………………………………… 108

循迹… ……………………………………………………………………………………… 112

循迹基础… ……………………………………………………………………………… 112

使用成品循迹传感器模块… …………………………………………………………… 114

制作自己的循迹模块… ………………………………………………………………… 118

红外线LED和光敏三极管的安装… …………………………………………………… 120

双传感器的循迹… ……………………………………………………………………… 121

第 6 章 教学机器人编程:使其开始探索

“非接触”和“近距检测”概述… ……………………………………………………… 124

使用超声波测距传感器… ………………………………………………………………… 124

超声波传感器的基本功能… …………………………………………………………… 126

安装传感器… …………………………………………………………………………… 127

使用超声波传感器避障… ……………………………………………………………… 128

添加旋转云台… …………………………………………………………………………… 128

添加夏普GP2Y0D810红外线测距传感器… ……………………………………………… 132

添加一个夏普GP2D120红外线传感器… ………………………………………………… 133

将GP2D120连接到Arduino……………………………………………………………… 135

给Teachbot添加电源开关… ……………………………………………………………… 137

回顾Teachbot的舵机连接… ……………………………………………………………… 139

第 7 章 机械制作

制作机器人的重要工具… ………………………………………………………………… 142

制作机器人的材料… ……………………………………………………………………… 143

使用木材制作机器人… ………………………………………………………………… 143

使用塑料制作机器人… ………………………………………………………………… 144

使用铝型材制作机器人… ……………………………………………………………… 146

使用泡沫板和硬纸板制作机器人… …………………………………………………… 147

组装技术… ………………………………………………………………………………… 148

胶… 带… ………………………………………………………………………………… 148

魔术贴… ………………………………………………………………………………… 149

塑料扎带… ……………………………………………………………………………… 150

胶水… …………………………………………………………………………………… 150

机械紧固件… …………………………………………………………………………… 150

紧固件类型… …………………………………………………………………………… 152

制作过程… ………………………………………………………………………………… 153

钻孔技巧… ……………………………………………………………………………… 153

切割技巧… ……………………………………………………………………………… 153

第 8 章 制作:电子电路

面包板… …………………………………………………………………………………… 157

透视面包板… …………………………………………………………………………… 158

如何使面包板电路持久工作… ………………………………………………………… 159

面包板的使用技巧… …………………………………………………………………… 159

扩展板(Shield)…………………………………………………………………………… 160

I/O冲突…………………………………………………………………………………… 161

电路过流… ……………………………………………………………………………… 161

物理和机械特性的限制… ……………………………………………………………… 161

处理扩展板I/O重复使用的问题………………………………………………………… 161

扩展板和不同版本Arduino主板的兼容性……………………………………………… 162

电路制作的工具… ………………………………………………………………………… 163

导线… ……………………………………………………………………………………… 163

接线… ……………………………………………………………………………………… 163

使用将导线焊接到排针上的方法制作排线… ………………………………………… 165

使用压接的方法制作排线… …………………………………………………………… 166

电路制作… ………………………………………………………………………………… 167

面包板… ………………………………………………………………………………… 167

万用板… ………………………………………………………………………………… 167

定制PCB… ……………………………………………………………………………… 168

接口技术… ………………………………………………………………………………… 170

LED接口… ……………………………………………………………………………… 171

电动机接口… …………………………………………………………………………… 172

输入保护… ……………………………………………………………………………… 174

减少输入/输出的线路干扰………………………………………………………………… 177

减少来自于电动机的干扰… …………………………………………………………… 177

减少来自于电子设备的电学噪声… …………………………………………………… 178

第 9 章 强化教学机器人

总物料清学… ……………………………………………………………………………… 179

制作直流电机版Teachbot… ……………………………………………………………… 181

对直流电机版Teachbot接线… …………………………………………………………… 186

电源开关连线… ………………………………………………………………………… 187

面包板接线… …………………………………………………………………………… 187

最后一次检查接线… …………………………………………………………………… 189

让直流电机版Teachbot迈出第一步… …………………………………………………… 189

测试电动机速度控制… …………………………………………………………………… 192

添加循迹模块… …………………………………………………………………………… 193

旋转转向和圆角转向… ………………………………………………………………… 198

测试传感器的红外线LED是否点亮… ………………………………………………… 199

开始循迹学习… ………………………………………………………………………… 199

添加编码器… ……………………………………………………………………………… 200

编码器的工作机制… …………………………………………………………………… 201

Teachbot编码器的硬件制作……………………………………………………………… 202

加强编码器的实用性… ………………………………………………………………… 209

提高编码器的分辨率… ………………………………………………………………… 210

添加发声功能… …………………………………………………………………………… 211

安装喇叭… ……………………………………………………………………………… 211

对Babblebot模块进行控制… …………………………………………………………… 213

Teachbot应该扩展… ……………………………………………………………………… 214

第 10 章 有趣的音乐机器人

Tunebot设计概述…………………………………………………………………………… 215

制作Tunebot……………………………………………………………………………… 217

组装和固定电动机… …………………………………………………………………… 218

安装背板… ……………………………………………………………………………… 221

组装橡胶履带… ………………………………………………………………………… 221

测试和使用Tunebot的减速电动机………………………………………………………… 222

制作可逆控制板… ……………………………………………………………………… 222

对电动机和控制板接线… ……………………………………………………………… 224

手动操纵Tunebot………………………………………………………………………… 226

使用电机控制模块… ……………………………………………………………………… 228

使用H桥电路控制电动机………………………………………………………………… 228

更换Tamiya减速箱的电动机……………………………………………………………… 229

安装Arduino和其他电子零件……………………………………………………………… 230

MIDI模块………………………………………………………………………………… 230

安装Arduino主板………………………………………………………………………… 232

安装ArduMoto扩展板… ………………………………………………………………… 233

将电动机连接到电动机扩展板(ArduMoto)… ……………………………………… 233

安装面包板扩展板… …………………………………………………………………… 234

配备供电电池组… ………………………………………………………………………… 236

电源和电动机测试… ……………………………………………………………………… 237

使传动系统更加耐用… ………………………………………………………………… 240

添加循迹模块… …………………………………………………………………………… 240

使用MIDI产生音乐………………………………………………………………………… 242

关于乐器、音色库、通道的知识… …………………………………………………… 243

通道音频信息… ………………………………………………………………………… 245

变更设置信息… ………………………………………………………………………… 246

MIDI作曲………………………………………………………………………………… 247

常… 数… ………………………………………………………………………………… 249

演奏复合音节… ………………………………………………………………………… 251

对机器人运动和音乐编程… ……………………………………………………………… 254

为Tunebot扩展接近传感器和碰撞传感器………………………………………………… 254

在线内容:为Tunebot添加扎实的履带…………………………………………………… 255

第 11 章 让遥控机器人到达指定位置 ………………………………273

无线控制机器人… ………………………………………………………………………… 257

ZigBee入门… …………………………………………………………………………… 259

了解ZigBee标准的变迁… ……………………………………………………………… 259

使用XBee…Series…1通信…………………………………………………………………… 260

三个Arduino,一个遥控机器人…………………………………………………………… 260

制作无线遥控器… ………………………………………………………………………… 261

安装Arduino和面包板扩展板…………………………………………………………… 261

连接XBee无线模块……………………………………………………………………… 262

使用主令开关… ………………………………………………………………………… 263

使用两轴加速度传感器或电子罗盘… ………………………………………………… 264

使用复合传感器… ……………………………………………………………………… 266

给Telebot添加XBee接收器………………………………………………………………… 270

使用主令开关控制Telebot… …………………………………………………………… 271

使用电子罗盘控制Telebot… …………………………………………………………… 274

在线内容:使用电子罗盘的方位数据控制Telebot……………………………………… 276

给Telebot加载实时视频传输功能………………………………………………………… 277

为视频添加字幕… ……………………………………………………………………… 278

将信息写入Backpack模块… …………………………………………………………… 280

显示环境数据… ………………………………………………………………………… 283

加强遥控机器人… ………………………………………………………………………… 285

第 12 章 机器蛇 ………………………………………………………303

模仿蛇的运动… …………………………………………………………………………… 287

机器蛇设计概述… ………………………………………………………………………… 288

体… 节… ………………………………………………………………………………… 289

Arduino主板……………………………………………………………………………… 289

自动化和遥控… ………………………………………………………………………… 291

制作机器蛇… ……………………………………………………………………………… 291

组装体节… ……………………………………………………………………………… 292

设定舵机的中点… ……………………………………………………………………… 295

电池和舵机接线板的安装… …………………………………………………………… 297

使用舵机延长线… ……………………………………………………………………… 299

体节间接线… …………………………………………………………………………… 300

Arduino…Pro…Mini接线……………………………………………………………………… 302

对机器蛇编程… …………………………………………………………………………… 303

降低舵机的运行速度… ………………………………………………………………… 305

加载和运行机器蛇的Sketch……………………………………………………………… 307

在线内容:将Arduino用作舵机控制器…………………………………………………… 309

用遥控器控制机器蛇… …………………………………………………………………… 310

第 13 章 机械手 ………………………………………………………331

了解机械手… ……………………………………………………………………………… 316

剖析机械手结构… ………………………………………………………………………… 317

自由度… ………………………………………………………………………………… 318

舵机的选择… …………………………………………………………………………… 318

舵… 盘… ………………………………………………………………………………… 319

特殊的Arduino主板……………………………………………………………………… 319

制作机械手… ……………………………………………………………………………… 320

将所有舵机调整到中点… ……………………………………………………………… 320

切割底板… ……………………………………………………………………………… 321

制作肩部基板… ………………………………………………………………………… 322

组装肩部… ……………………………………………………………………………… 323

制作上臂和前臂… ……………………………………………………………………… 330

制作腕部… ……………………………………………………………………………… 333

制作夹持器… …………………………………………………………………………… 335

连接前臂和上臂… ……………………………………………………………………… 335

连接上臂和旋转平台… ………………………………………………………………… 336

增加逆向弹性平衡… …………………………………………………………………… 336

安装Arduino主板…………………………………………………………………………… 339

电源接线… ………………………………………………………………………………… 339

将控制电路接到Arduino…………………………………………………………………… 342

添加橡胶脚垫… …………………………………………………………………………… 344

对机械手编程… …………………………………………………………………………… 344

测试起始位置和最小/最大位置………………………………………………………… 344

使用串口监视器控制机械手… ………………………………………………………… 346

使用带Joystick手柄和键盘的控制器控制机械手……………………………………… 349

对机械手编程以实现交互控制… ………………………………………………………… 350

操纵机械手… ……………………………………………………………………………… 357

使用Joystick手柄来操纵………………………………………………………………… 358

使用键盘操纵… ………………………………………………………………………… 358

附件 A ARB支持网站 ………………………………………………379

在线资源… ………………………………………………………………………………… 359

特殊零件来源或网站… …………………………………………………………………… 359

附件 B 物料采购链接 …………………………………………………381

机器人… …………………………………………………………………………………… 361

电子零件… ………………………………………………………………………………… 362

爱好者商店… ……………………………………………………………………………… 363

特殊资源… ………………………………………………………………………………… 363

支架:金属和塑料… …………………………………………………………………… 363

竞赛和机器人小组… …………………………………………………………………… 363

电子套件… ……………………………………………………………………………… 364

论坛(非产品专题)… ………………………………………………………………… 364

齿轮和机械件… ………………………………………………………………………… 364

塑料和结构件… ………………………………………………………………………… 364

二手货… ………………………………………………………………………………… 364

如何在一个大型目录中找到所需的电子零件… ………………………………………… 365

附件 C 排错及如何避免犯错 …………………………………………387

预防检查… ………………………………………………………………………………… 367

系统开发和排错… ………………………………………………………………………… 368

使用串口监视器调试问题… ……………………………………………………………… 369

插入到setup()函数中间…………………………………………………………………… 370

插入到loop()函数的开头或结尾部分…………………………………………………… 371

插入到用户自定义函数中… …………………………………………………………… 371

插入到Sketch中任何使用到循环的位置………………………………………………… 372

插入到任何需要预览的某个值附近… ………………………………………………… 372

排错建议… ………………………………………………………………………………… 373

无电源,指示灯不亮,处于最原始的状态… ………………………………………… 373

行为异常… ……………………………………………………………………………… 374

指示灯亮,但是没有串口调试信息… ………………………………………………… 374

串口监视器窗口显示乱码… …………………………………………………………… 374

调试信息重复出现,但是设计并非如此… …………………………………………… 374

数据结果错误或是未预料的… ………………………………………………………… 375

Sketch无法编译…………………………………………………………………………… 375

一切都在工作,除了电动机… ………………………………………………………… 375

作者简介

这是你的机器人——拥有Arduino的大脑

在我最开始制作机器人的时候,第一个微处理器还没有被发明。机器人的大脑仅仅只是一块手工线路板,而板子上面则分布着老式电阻、超贵的三极管,可能还有一两个继电器。而在当今,我们可以使用微控制器——非常棒的微型化产物,可以直接连接到灯、报警器、电动机、电磁铁、传感器及其他传感器。实际上,这一概念已经形成了所谓的“物理计算”这个专业名词。之所以提到这个,是因为物理计算直接与机器人制作相关联,这也是为何类似于Arduino的微控制器对于机器人会如此重要。

Arduino类似于存放在瓶子中的大脑……就其自身而言,它缺乏直接探测周围环境或者操作任何事物的能力。但是它可以根据用户的意愿配置传感器、电动机和其他控制电路,然后通过Arduino编程,使其能够执行命令。这也是本书的切入点:《Arduino机器人制作指南》将帮助用户使用Arduino作为中央大脑,从而构建6个机器人。书中展示了如何把零部件连接起来,然后编写程序使得机器人跟随指令行动。

《Arduino机器人制作指南》中的各个项目,只需要普通的工具和一般的制作技术,便可以容易地进行复现。所有的项目既不需要切割大块的金属或者进行焊接,而我们制作的6个机器

人都只需要很容易获得的零件,并不需要任何特殊的及少见的零件。通常的机器人制作工作是一个极为费钱的行为,但是所有本书中涉及的机器人部件都相当廉价,且鼓励零件的重复利用。

免费的在线内容、零件查找和奖品

本书包含免费的在线内容:ARB在线支持网站。参照附录A的内容:

●访问“Project Parts Finder”以寻找本书将会用到的所有零件

●下载所有项目的源代码

●随时新建和更新网站信息和供应商信息

●强化和升级机器人的设计(e-plans)

●有奖论文、机器人制作指导及更多

始于此,但并非止于此

《Arduino机器人制作指南》可以被认为是通往某处的道路,但并非最终目的地。本书的6个机器人项目只是起到跳板的作用——能够较理想地帮助你入门。所有的代码——使用Arduino的术语来说是Sketch——尽量编写得简单明了,以便弄清楚它的工作原理,然后可以迅速地将其分成若干个部分,再加入你自己的创意。

许多项目都只提供了最核心的少量代码。当然,如果代码不长,则将所有的代码都罗列了出来。不过,可以在ARB在线支持网站迅速而容易地下载所有的源代码。

我从来都只认为我所有的机器人项目都是“在制”状态,经常会升级和调整。在ARB在线支持网站会同时提供可供选择的各个版本的代码,我也非常欢迎你提交经过加强和改进的Sketch!

现在,是时候上车了,发动引擎,然后开始你的旅程吧!


 Arduino机器人制作指南下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024