Arduino从基础到实践(第2版)
  • 推荐0
  • 收藏0
  • 浏览376

Arduino从基础到实践(第2版)

Michael McRoberts (作者)  刘端阳 (译者)

  • 书  号:978-7-121-32175-7
  • 页  数:464
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Beginning Arduino
  • 原书号:9781430250166
  • 维护人:林瑞和
采用Arduino进行电子制作越来越流行,在网络上可以找到很多用Arduino制作机器人、媒体互动产品、电子创意项目的案例。本书用50个项目来介绍Arduino的应用,从基础的输入输出项目逐渐进入较高级的话题,比如Arduino与互联网的连接等。每一个项目都由完整的硬件方案和软件程序组成,读者无须再翻阅其他书籍即可完成本书中的各种电子制作项目。本书为第2版,在第1版的基础上更新了大量内容,增加了一些更为实用和有趣的项目。
本书对读者的基础知识要求非常低,非常适合学生进行课外电子制作项目使用,同时本书也介绍了一些相当有难度和实用性很强的项目,对于有一定基础的电子爱好者也有很好的参考价值。
1.国外流行的全面、完善的开源硬件图书,引进国内后第1版出版5年仍畅销不衰。
2.属于一书在手通晓所有的完全手册。从零基础开始,讲解详细到位。
3.书中50个案例全部附有源代码,方便读者学习与练习。
Michael McRoberts,2008年在天体摄影的小项目中制作云探测器,寻找将温度传感器连接到PC的方法时发现了Arduino。经过研究,发现Arduino是解决这个问题的理想选择。最后很快成功地制作出了云探测器,而且价格便宜。米歇尔对Arduino的兴趣由此开始。自那以后,他采用Arduino完成了大量的工程项目。他同时在网上发现了被称为“地球之光电子”(Earthshine Electronics)的Arduino入门套件及组件。他采用Arduino制作的下一个项目是在UKHAS 和CUSF的搭档们的帮助下,将一个高海拔气球送到边缘空间进行拍照和录像。他做这个项目仅仅是为了好玩。
  当米歇尔还是一个孩子的时候,就对电子产生了浓厚的兴趣。那时,无线电器材公司还在利用一百合一电子套件制作圣诞礼物单。在他青少年时,得到一台辛克莱81计算机,开始对编程感兴趣。从那以后,他再也离不开计算机。最近,他又成为了Mac平台的粉丝。
  他是伦敦黑客联盟(London Hackspace)和奥尔平顿天文协会的会员,他还经常为Arduino论坛写一些东西。他还喜欢以“Arduino爱好者”(TheArduinoGuy)为网名,潜伏在Arduino、高海拔探测项目和伦敦黑客联盟(一个位于伦敦的非盈利性的技术人员分享工具和知识的社区)等论坛上,或在Twitter上与网民闲聊。闲暇之余,他也喜欢研究天文学、天体摄像,以及骑摩托车兜风和航海。
我第一次接触Arduino是在2008年,当时我正在为云探测计划的温度传感器与计算机的连接方法发愁。我想实现一个气象论坛上的云探测想法,因为这是个实习性质的项目,所以我不想因项目失败而损失太多的钱。当时有许多解决方案,但是采用Arduino的方案对我来说有点特别,因为它不仅是容易使用、价格便宜的连接传感器的方法,而且它还可以用于其他很酷的事情。在博客、视频网站和论坛上有成千上万的用Arduino做得很炫的项目。看上去很有团队精神,每个人都试图帮助其他人。
显而易见,我可以从Arduino上得到很多乐趣。然而,我不想在网站上漫无目的地寻找需要的信息。我想要买一本关于Arduino的书籍,我想手边有些资料在工作中随时去翻阅。一番寻找后,我发现了一本书。但是,它太基础了,信息量小,几乎不能给我使用Arduino提供一点实际的帮助,而且我不喜欢那本书的讲授方式。我希望得到的是一本手册式的书来指导编程和学习电子知识,当我做一些东西时不想首先阅读一大串理论知识。这种简洁明了的书当时还不存在。
当我开始封装基于Arduino的“地球之光”项目工具的时候,为帮助使用这个工具,我写了一个小指导书指导其他人使用这个工具。这本小书后来非常流行,并且我从人们的提问中得到了几百条反馈意见,包括什么时候增加更多的项目或是否卖印刷版的指导手册。实际上,我已经想到了写一本初学者容易理解的书要采用这种项目讲授方式,即简单指导动手做的编写方式。这就是这本书的来源。
我写这本书假定读者之前从来没有编写过计算机程序,也没有电子知识,并且假定读者在实际动手用Arduino做一些事情前没有兴趣学习大量的理论知识。因此,当你使用这本书时就从做一些小项目开始,接下来你将要完成整整50个项目,直到你对Arduino开发精通。我相信学一项技术最好的方法是通过直接动手做些事情来学。
本书是这样编排的,第一个项目介绍一些关于Arduino编程和电子学知识的基本概念。接下来的项目再增加一点,每一个项目都建立在之前项目的基础上,当你完成50个项目时,你就可以有信心并且专业地做你自己的项目了。用新的技巧和知识去连接Arduino的外围元件,根据你的兴趣用Arduino做电子设计项目。
每一个项目开始就列出了项目元件需求单。我选择的都是通用元件,很容易买到。我也提供了一个电路图直观演示如何使用跳线和面包板连接Arduino和元件。为给这本书生成元件图和面包板电路图,我用了一款优秀的开源软件Fritzing。这个程序用逼真的方法演示面包板电路图及其他电路。读者可在http://fritzing.org查找这个软件。
当你连接电路之后,根据书中提供的代码,把它输入Arduino的开发环境(IDE)就可以上传到你的Arduino中,并使项目工作。很快就可以得到一个真正的项目运行结果。当项目工作并看到它的运行结果之后,我解释代码是如何工作的。硬件也通过这种方式向你解释它是如何工作的,以及如何正确地把它们连接到Arduino。之后为你一步一步地解释代码,因此你会非常清楚代码每一部分的作用。通过分解电路和代码,你就能理解整个项目,之后这些技巧和知识可用在后面的项目及今后你自己的项目中。
这种讲授方式非常容易动手操作。即使你对编程和电子设计一点经验也没有,你也可以非常容易地以这种方式理解相关概念。更重要的是,你不会因大量枯燥的理论而丧失兴趣。Arduino是强大、有趣、开源的产品,在这本书的帮助下,你会发现通过单片机使你自己的设备与环境互动是多么简单。
Mike McRoberts

目录

第1 章 引言 .......................................................................................... 1
如何使用本书 ......................................................................................................................... 2
你需要的东西 ......................................................................................................................... 2
Arduino 到底是什么 ............................................................................................................... 3
搭建你的Arduino 环境 .......................................................................................................... 6
加载第一个程序 ................................................................................................................... 13
Arduino IDE .......................................................................................................................... 14
总结 ...................................................................................................................................... 21

第2 章 让我们开始吧 ........................................................................ 22
项目1—LED 闪灯器 ........................................................................................................... 22
需要的元件 ........................................................................................................................................ 23
把元件连接起来 ................................................................................................................................ 23
输入代码 ............................................................................................................................................ 24
项目1—LED 闪灯器—代码回顾 ..................................................................................................... 24
项目1—LED 闪灯器—硬件回顾 ..................................................................................................... 29
项目2—S.O.S 莫尔斯码信号源 .......................................................................................... 33
输入代码 ............................................................................................................................................ 34
项目2—S.O.S 莫尔斯码信号源—代码回顾 .................................................................................... 35
项目3—交通信号灯 ............................................................................................................ 37
需要的元件 ........................................................................................................................................ 38
把元件连接起来 ................................................................................................................................ 38
输入代码 ............................................................................................................................................ 39
项目4—互动交通灯 ............................................................................................................ 40
需要的元件 ........................................................................................................................................ 41
把元件连接起来 ................................................................................................................................ 42
输入代码 ............................................................................................................................................ 42
项目4—互动交通灯—代码回顾 ...................................................................................................... 44
项目4—互动交通灯—硬件回顾 ...................................................................................................... 49
逻辑状态 ............................................................................................................................................ 49
下拉电阻 ............................................................................................................................................ 49
上拉电阻 ............................................................................................................................................ 50
Arduino 的内部上拉电阻 ................................................................................................................... 52
小结 ...................................................................................................................................... 52

第3 章 LED 效果 ................................................................................ 54
项目5—LED 跑马灯效果 ................................................................................................... 54
需要的元件 ........................................................................................................................................ 54
把元件连接起来 ................................................................................................................................ 54
输入代码 ............................................................................................................................................ 55
项目5—LED 跑马灯效果—代码回顾 .............................................................................................. 56
项目6—互动LED 跑马灯效果 .......................................................................................... 58
需要的元件 ........................................................................................................................................ 58
把元件连接起来 ................................................................................................................................ 58
输入代码 ............................................................................................................................................ 59
项目6—互动LED 跑马灯效果—代码回顾 ..................................................................................... 60
项目6—互动LED 跑马灯效果—硬件回顾 ..................................................................................... 60
项目7—闪烁灯 .................................................................................................................... 62
需要的元件 ........................................................................................................................................ 62
把元件连接起来 ................................................................................................................................ 62
输入代码 ............................................................................................................................................ 62
项目7—闪烁灯—代码回顾 .............................................................................................................. 63
项目8—RGB 彩灯 ............................................................................................................... 64
需要的元件 ........................................................................................................................................ 65
把元件连接起来 ................................................................................................................................ 65
输入代码 ............................................................................................................................................ 65
项目8—RGB 彩灯—代码回顾 ......................................................................................................... 67
项目9—LED 火焰效果 ....................................................................................................... 71
需要的元件 ........................................................................................................................................ 71
把元件连接起来 ................................................................................................................................ 71
输入代码 ............................................................................................................................................ 72
项目9—LED 火焰效果—代码回顾 ................................................................................................. 72
项目10—串口控制彩灯 ...................................................................................................... 73
输入代码 ............................................................................................................................................ 73
项目10—串口控制彩灯—代码回顾 ................................................................................................ 76
指针概要 ............................................................................................................................................ 80
小结 ...................................................................................................................................... 87

第4 章 简单的扬声器与传感器 ........................................................ 89
项目11—压电扬声报警器 .................................................................................................. 89
需要的元件 ........................................................................................................................................ 89
把元件连接起来 ................................................................................................................................ 90
输入代码 ............................................................................................................................................ 90
项目11—压电扬声报警器—代码回顾 ............................................................................................ 91
项目11—压电扬声报警器—硬件回顾 ............................................................................................ 92
项目12—基于压电扬声器的音乐演奏器 .......................................................................... 93
输入代码 ............................................................................................................................................ 93
项目12—基于压电扬声器的音乐演奏器—代码回顾 ..................................................................... 95
项目13—压电震动传感器 .................................................................................................. 99
需要的元件 ........................................................................................................................................ 99
把元件连接起来 ................................................................................................................................ 99
输入代码 .......................................................................................................................................... 100
项目13—压电震动传感器—代码回顾 .......................................................................................... 101
项目14—光敏传感器 ........................................................................................................ 102
需要的元件 ...................................................................................................................................... 102
把元件连接起来 ............................................................................................................................... 103
输入代码 .......................................................................................................................................... 103
项目14—光敏传感器—硬件回顾 .................................................................................................. 104
小结 .................................................................................................................................... 106

第5 章 驱动直流电机 ...................................................................... 108
项目15—简单直流电机控制 ............................................................................................ 108
需要的元件 ...................................................................................................................................... 109
把元件连接起来 ............................................................................................................................... 109
输入代码 .......................................................................................................................................... 110
项目15—简单直流电机控制—代码回顾 ....................................................................................... 111
项目15—简单直流电机控制—硬件回顾 ...................................................................................... 112
三极管 .............................................................................................................................................. 112
电机 .................................................................................................................................................. 113
二极管 .............................................................................................................................................. 113
项目16—使用L293D 电机驱动芯片 ............................................................................... 114
需要的元件 ...................................................................................................................................... 114
把元件连接起来 ............................................................................................................................... 115
输入代码 .......................................................................................................................................... 115
项目16—使用L293D 电机驱动芯片—代码回顾 ......................................................................... 117
项目16—使用L293D 电机驱动芯片—硬件回顾 ......................................................................... 118
小结 .................................................................................................................................... 120

第6 章 二进制计数器和I/O 移位寄存器 ....................................... 122
项目17—移位寄存器8 位二进制计数器 ........................................................................ 122
需要的元件 ...................................................................................................................................... 122
把元件连接起来 ............................................................................................................................... 123
输入代码 .......................................................................................................................................... 124
二进制数制 ...................................................................................................................................... 125
项目17—移位寄存器8 位二进制计数器—硬件回顾 ................................................................... 127
项目17—移位寄存器8 位二进制计数器—代码回顾 ................................................................... 130
按位操作 .......................................................................................................................................... 132
项目17—代码回顾(续) .............................................................................................................. 134
项目18—16 位二进制计数器 ........................................................................................... 136
需要的元件 ...................................................................................................................................... 136
把元件连接起来 ............................................................................................................................... 137
输入代码 .......................................................................................................................................... 138
代码和硬件回顾 ............................................................................................................................... 139
小结 .................................................................................................................................... 140

第7 章 LED 显示器 .......................................................................... 142
项目19—LED 点阵显示器—基本动画 ........................................................................... 142
需要的元件 ...................................................................................................................................... 142
把元件连接起来 ............................................................................................................................... 143
输入代码 .......................................................................................................................................... 145
项目19—LED 点阵—基本动画—硬件回顾 .................................................................................. 147
项目19—LED 点阵—基本动画—代码回顾 .................................................................................. 150
项目20—LED 点阵显示器—滚动画面 ........................................................................... 154
输入代码 .......................................................................................................................................... 154
项目20—LED 点阵—滚动画面—代码回顾 .................................................................................. 155
项目21—LED 点阵显示器—滚动信息 ........................................................................... 158
需要的元件 ...................................................................................................................................... 159
把元件连接起来 ............................................................................................................................... 159
输入代码 .......................................................................................................................................... 161
项目21—LED 点阵—滚动信息—硬件回顾 .................................................................................. 166
项目21—LED 点阵—滚动信息—代码回顾 .................................................................................. 169
项目22—LED 点阵显示器—乒乓球游戏 ....................................................................... 178
需要的元件 ...................................................................................................................................... 179
把元件连接起来 ............................................................................................................................... 179
输入代码 .......................................................................................................................................... 180
项目22—LED 点阵显示器—乒乓球游戏—代码概述 .................................................................. 181
小结 .................................................................................................................................... 185

第8 章 液晶显示器 .......................................................................... 188
项目23—基本的LCD 控制 .............................................................................................. 188
需要的元件 ...................................................................................................................................... 188
把元件连接起来 ............................................................................................................................... 189
输入代码 .......................................................................................................................................... 190
项目23—基本的LCD 控制—代码回顾 ........................................................................................ 193
项目23—基本的LCD 控制—硬件回顾 ........................................................................................ 199
项目24—LCD 温度显示器 ............................................................................................... 199
需要的元件 ...................................................................................................................................... 199
把元件连接起来 ............................................................................................................................... 200
输入代码 .......................................................................................................................................... 201
项目24—LCD 温度显示器—代码概述 ......................................................................................... 202
小结 .................................................................................................................................... 206

第9 章 舵机 ...................................................................................... 208
项目25—舵机控制 ............................................................................................................ 209
需要的元件 ...................................................................................................................................... 209
把元件连接起来 ............................................................................................................................... 210
输入代码 .......................................................................................................................................... 210
项目25—舵机控制—代码回顾 ...................................................................................................... 211
项目25—舵机控制—硬件回顾 ...................................................................................................... 212
项目26—两个舵机控制系统 ............................................................................................ 213
需要的元件 ...................................................................................................................................... 213
把元件连接起来 ............................................................................................................................... 214
输入代码 .......................................................................................................................................... 214
项目26—两个舵机控制系统—代码回顾 ...................................................................................... 216
项目27—操纵杆控制舵机 ................................................................................................ 219
需要的元件 ...................................................................................................................................... 219
把元件连接起来 ............................................................................................................................... 219
输入代码 .......................................................................................................................................... 221
项目27—操纵杆控制舵机—代码回顾 .......................................................................................... 222
小结 .................................................................................................................................... 223

第10 章 步进电机和机器人 ............................................................ 225
项目28—基本步进电机控制 ............................................................................................ 225
需要的元件 ...................................................................................................................................... 225
把元件连接起来 ............................................................................................................................... 226
输入代码 .......................................................................................................................................... 228
项目28—基本步进电机控制—代码回顾 ...................................................................................... 228
项目28—基本步进电机控制—硬件回顾 ...................................................................................... 230
项目29—使用电机模板 .................................................................................................... 232
需要的元件 ...................................................................................................................................... 232
把元件连接起来 ............................................................................................................................... 232
输入代码 .......................................................................................................................................... 234
项目29—使用电机模板—代码回顾 .............................................................................................. 235
项目29—使用电机模板—硬件回顾 .............................................................................................. 237
项目30—巡线机器人 ........................................................................................................ 238
需要的元件 ...................................................................................................................................... 238
把元件连接起来 ............................................................................................................................... 239
输入代码 .......................................................................................................................................... 242
项目30—巡线机器人—代码回顾 .................................................................................................. 244
小结 .................................................................................................................................... 249

第11 章 压力传感器 ........................................................................ 251
项目31—数字压力传感器 ................................................................................................ 251
需要的元件 ...................................................................................................................................... 251
把元件连接起来 ............................................................................................................................... 252
输入代码 .......................................................................................................................................... 253
项目31—数字压力传感器—代码回顾 .......................................................................................... 256
I2C 总线 ........................................................................................................................................... 257
项目32—数字气压表 ........................................................................................................ 267
需要的元件 ...................................................................................................................................... 267
把元件连接起来 ............................................................................................................................... 268
输入代码 .......................................................................................................................................... 270
项目32—数字气压表—代码回顾 .................................................................................................. 276
小结 .................................................................................................................................... 283

第12 章 触摸屏 ................................................................................ 285
项目33—基本的触摸屏 .................................................................................................... 285
需要的元件 ...................................................................................................................................... 285
把元件连接起来 ............................................................................................................................... 286
输入代码 .......................................................................................................................................... 287
项目33—基本的触摸屏—硬件回顾 .............................................................................................. 289
项目33—基本的触摸屏—代码回顾 .............................................................................................. 290
项目34—触摸屏键盘 ........................................................................................................ 293
需要的元件 ...................................................................................................................................... 293
把元件连接起来 ............................................................................................................................... 294
输入代码 .......................................................................................................................................... 295
项目34—触摸屏键盘—代码回顾 .................................................................................................. 298
项目35—触摸屏灯控制 .................................................................................................... 300
需要的元件 ...................................................................................................................................... 300
把元件连接起来 ............................................................................................................................... 301
输入代码 .......................................................................................................................................... 301
项目35—触摸屏灯控制—代码回顾 .............................................................................................. 304
小结 .................................................................................................................................... 306

第13 章 温度传感器 ........................................................................ 307
项目36—串口温度传感器 ................................................................................................ 307
需要的元件 ...................................................................................................................................... 307
把元件连接起来 ............................................................................................................................... 308
输入代码 .......................................................................................................................................... 309
项目36—串口温度传感器—代码回顾 .......................................................................................... 310
项目37—单线数字温度传感器 ........................................................................................ 312
需要的元件 ...................................................................................................................................... 312
把元件连接起来 ............................................................................................................................... 312
输入代码 .......................................................................................................................................... 314
项目37—单线数字温度传感器—代码回顾 .................................................................................. 319
小结 .................................................................................................................................... 321

第14 章 超声测距 ............................................................................ 323
项目38—简单的超声测距仪 ............................................................................................ 323
需要的元件 ...................................................................................................................................... 323
把元件连接起来 ............................................................................................................................... 324
输入代码 .......................................................................................................................................... 324
项目38—简单的超声测距—代码回顾 .......................................................................................... 325
项目38—简单的超声测距—硬件回顾 .......................................................................................... 327
项目39—超声测距显示仪 ................................................................................................ 328
需要的元件 ...................................................................................................................................... 328
把元件连接起来 ............................................................................................................................... 329
输入代码 .......................................................................................................................................... 331
项目39—超声测距显示仪—代码回顾 .......................................................................................... 332
项目40—超声报警 ............................................................................................................ 336
需要的元件 ...................................................................................................................................... 336
把元件连接起来 ............................................................................................................................... 337
输入代码 .......................................................................................................................................... 337
项目40—超声报警—代码回顾 ...................................................................................................... 339
项目41—超声电子音乐 .................................................................................................... 342
输入代码 .......................................................................................................................................... 343
项目41—超声电子音乐—代码回顾 .............................................................................................. 344
小结 .................................................................................................................................... 345

第15 章 读写SD 卡 ......................................................................... 346
项目42—简单的SD 卡读写 ............................................................................................. 346
需要的元件 ...................................................................................................................................... 346
把元件连接起来 ............................................................................................................................... 347
输入代码 .......................................................................................................................................... 348
项目42—简单的SD 卡读写—代码回顾 ....................................................................................... 350
项目43—用SD 卡记录温度数据 ..................................................................................... 354
需要的元件 ...................................................................................................................................... 354
把元件连接起来 ............................................................................................................................... 355
输入代码 .......................................................................................................................................... 356
项目43—用SD 卡记录温度数据—代码回顾 ............................................................................... 359
项目43—用SD 卡记录温度数据—硬件回顾 ............................................................................... 364
小结 .................................................................................................................................... 366

第16 章 RFID 读取器 ...................................................................... 367
项目44—简单的RFID 读取器 ......................................................................................... 367
需要的元件 ...................................................................................................................................... 368
把元件连接起来 ............................................................................................................................... 368
输入代码 .......................................................................................................................................... 369
项目44—简单的RFID 读取器—代码回顾 ................................................................................... 370
项目44—简单的RFID 读取器—硬件回顾 ................................................................................... 370
项目45—门禁控制系统 .................................................................................................... 371
需要的元件 ...................................................................................................................................... 372
把元件连接起来 ............................................................................................................................... 372
输入代码 .......................................................................................................................................... 373
项目45—门禁控制系统—代码回顾 .............................................................................................. 376
小结 .................................................................................................................................... 382

第17 章 连接到Internet ................................................................. 384
项目46—以太网板 ............................................................................................................ 384
需要的元件 ...................................................................................................................................... 384
把元件连接起来 ............................................................................................................................... 385
输入代码 .......................................................................................................................................... 385
你需要知道的网络知识 ................................................................................................................... 389
项目46—以太网板—代码回顾 ...................................................................................................... 390
项目47—Internet 天气显示 ............................................................................................... 394
输入代码 .......................................................................................................................................... 397
项目47—Internet 天气显示—代码回顾 ......................................................................................... 401
项目48—电子邮件提醒系统 ............................................................................................ 405
输入代码 .......................................................................................................................................... 405
项目48—电子邮件提醒系统—代码回顾 ...................................................................................... 409
项目49—微博机器人 ........................................................................................................ 415
输入代码 .......................................................................................................................................... 415
项目49—微博机器人—代码回顾 .................................................................................................. 419
项目50—RSS 读取气象信息 ............................................................................................ 423
输入代码 .......................................................................................................................................... 424
项目50—RSS 读取气象信息—代码回顾 ...................................................................................... 429
小结 .................................................................................................................................... 437

本书勘误

印次
  • 页码:1  •  行数:5  •  印次: 1

    “业余也玩家可以”应该改为“业余玩家也可以”

    星空问道 提交于 2019/3/12 14:10:02
    高丽阳 确认于 2019/3/14 17:35:13

读者评论