本书是美国O'Reilly公司出版的Arduino方面专业手册《Arduino Cookbook》的中文版。
本书由浅入深地介绍了Arduino的基础知识和应用项目,不要求软件和硬件的相关经验。
作者Michael Margolis,是Arduino语言库和核心软件的编写者之一,现任Avaya首席技术总监,曾在索尼、微软、朗讯/贝尔实验室工作,拥有30多年的相关经验,曾著《学Arduino玩转机器人制作》。
译者杨昆云,在美国俄亥俄州立大学获得生物物理学博士学位,随后在加州理工大学做博士后研究,现旅居美国。现任百度贴吧Arduino吧的吧主。
本书Arduino Cookbook)是关于Arduino的基础知识和应用的入门手册,从基本概念、常见任务到高级技术,本书应有尽有。前4章介绍简单的入门知识,使你初步认识Arduino并与计算机和其他设备进行通信。5~9章针对输入和输出进行细致讲解。第10章开始介绍高级编程和技术应用。本书将通过200个常见的实例来帮助你在实践中成为Arduino的使用高手。本书的讲解细致,不需要有软件和硬件的经验,通过这本书,可以利用计算机技术和环境互动找到快速解决硬件、软件问题的方法。有经验的程序员也可以在本书中得到试用底层的AVR资源构建使用Arduino环境的应用。
作者Michael Margolis,是Arduino语言库和核心软件的编写者之一,现任Avaya首席技术总监,曾在索尼、微软、朗讯/贝尔实验室工作,拥有30多年的相关经验,曾著《学Arduino玩转机器人制作》。
译者杨昆云,在美国俄亥俄州立大学获得生物物理学博士学位,随后在加州理工大学做博士后研究,现旅居美国。自幼爱好电子制作和程序编写,在Arduino微控制器系统推出之后,积极向中国国内爱好者介绍推广这一易学易用的制作平台,现任百度贴吧Arduino吧的吧主。
名家推荐:
“Michael Margolis编写的这本书给新兴的Arduino社区带来了福音。无论你的学习和工作背景如何,本书都能为你目前正在纠结的项目提供解决方案,并帮助你提升创作的想象力。我想我在工作台上永远离不开这本书了。”
——Arduino Uno顾问团队成员
Mikal Hart
第1章入门…1
1.0 介绍……………………1
1.1 安装集成开发环境(IDE)………………………3
1.2 设置Arduino板………5
1.3 使用集成开发环境(IDE)准备一个Arduino程序………………………7
1.4上传并运行闪烁素描……………………………8
1.5创建并保存程序………9
1.6使用Arduino…………11
第2章让程序为你工作……………15
2.0介绍…………………15
2.1构建一个Arduino程序………………………15
2.2使用简单的原始类型(变量)………………17
2.3使用浮点数…………18
2.4使用一组数值………20
2.5使用Arduino的String功能…………………22
2.6使用C字符串………26
2.7把逗号分隔的文本拆分成组…………………27
2.8把一个数字转换为字符串……………………29
2.9将字符串转换为数字31
2.10将你的代码划分为多个功能块………………34
2.11从函数返回多个值…38
2.12根据条件采取行动…40
2.13重复一个语句序列…42
2.14使用计数器重复执行语句……………………44
2.15跳出循环……………46
2.16基于单个变量进行不同的操作………………47
2.17字符和数量值的比较49
2.18字符串的比较………51
2.19逻辑比较的操作……52
2.20执行位运算…………53
2.21复合运算和赋值……55
第3章使用数学运算符……………56
3.0介绍…………………56
3.1加,减,乘,除……56
3.2值的递增和递减……57
3.3找出两个值相除的余数………………………58
3.4确定绝对值…………59
3.5把一个数约束在一个数值范围内 ……………59
3.6寻找一些值的最小或最大值…………………60
3.7计算一个数的乘方…61
3.8取平方根……………61
3.9浮点数向上和向下取整………………………62
3.10使用三角函数………63
3.11生成随机数…………63
3.12设置和读取位………66
3.13位的移动……………69
3.14在一个int或long值里提取高字节和低字节70
3.15从高字节和低字节组合成一个int或long值71
第4章串口通信……………………74
4.0简介 …………………74
4.1从Arduino发送调试信息到你的计算机……77
4.2从Arduino发送格式化的文本和数值数据…80
4.3在Arduino接收串口数据……………………83
4.4在单个消息中从Arduino发送多个文本字段88
4.5在Arduino上从单个消息中接收多个文本字段………………………93
4.6从Arduino发送二进制数据…………………96
4.7在计算机上接收来自Arduino的二进制数据100
4.8从Processing向Arduino发送二进制值……101
4.9发送多个Arduino引脚的值…………………104
4.10如何移动PC或Mac上的鼠标光标…………108
4.11使用Arduino控制谷歌地球…………………112
4.12在你的计算机中的文件里记录Arduino数据118
4.13在同一时间将数据发送到两个串口设备……121
4.14在同一时间接收来自两个串口设备的数据…124
4.15设置你的计算机上的Processing以发送和接收串口数据…………127
第5章简单数字和模拟输入……129
5.0介绍…………………129
5.1使用一个开关………131
5.2不用外部电阻使用一个开关…………………134
5.3可靠地检测一个开关的闭合…………………136
5.4确定开关被按下多长时间……………………139
5.5读取数字键盘………143
5.6读取模拟值…………146
5.7改变值的范围………147
5.8读取超过六路模拟输入………………………149
5.9显示5V以内的电压…152
5.10响应电压变化………155
5.11测量超过5V的电压(分压器)……………156
第6章获取传感器输入…………158
6.0介绍…………………158
6.1动作检测……………159
6.2光的探测……………161
6.3动作检测(集成被动红外探测器)…………163
6.4距离测量……………164
6.5精确测量距离………168
6.6振动检测……………171
6.7声音检测……………172
6.8温度测量……………175
6.9读取RFID标签………178
6.10跟踪旋转动作………181
6.11跟踪一个以上的旋转编码器的运动…………183
6.12在繁忙的程序里跟踪旋转动作………………185
6.13使用鼠标……………187
6.14从GPS获取位置…191
6.15使用陀螺仪检测旋转195
6.16方向检测……………200
6.17从游戏控制板(PlayStation)获取输入……205
6.18读取加速度…………207
第7章可视输出…………………210
7.0介绍…………………210
7.1连接和使用LED……212
7.2调节LED的亮度……215
7.3驱动高功率LED……216
7.4调整LED的颜色……218
7.5多个LED排序:创建一个条形图……………221
7.6多个LED排序:制作一个追逐序列(霹雳游侠)……………………224
7.7使用复用技术控制一个LED阵列……………225
7.8显示图像上的LED矩阵………………………228
7.9控制LED阵列:Charlieplexing方法…………231
7.10驱动7段LED显示器………………………236
7.11使用复用技术驱动多位7段LED显示器…239
7.12使用MAX7221移位寄存器驱动多位7段LED显示器……………242
7.13使用MAX72xx 移位寄存器控制LED阵列…244
7.14使用PWM扩展芯片(TLC5940)增加模拟输出的数量……………247
7.15使用模拟面板表作为显示器…………………250
第8章物理输出…………………252
8.0简介…………………252
8.1控制舵机的位置……254
8.2使用电位器或传感器控制一个或两个舵机…256
8.3控制连续旋转舵机的速度……………………257
8.4使用计算机指令控制舵机……………………258
8.5驱动无刷电机(使用业余调速器)…………260
8.6控制电磁铁和继电器261
8.7使物体振动…………262
8.8使用晶体管驱动有刷电机……………………264
8.9使用H桥控制有刷电机的旋转方向…………266
8.10控制有刷电机H桥的方向和速度……………269
8.11使用传感器来控制有刷电机的方向和转速(L293 H桥)…………271
8.12驱动双极步进电机…277
8.13驱动双极步进电机(使用EasyDriver板)…279
8.14驱动单极步进电机(ULN2003A)…………283
第9章音频输出…………………285
9.0简介…………………285
9.1音调播放……………286
9.2演奏简单的旋律……288
9.3产生一个以上的同步音………………………290
9.4生成音频音调的同时使LED渐暗……………292
9.5播放一个WAV文件…295
9.6MIDI控制……………298
9.7制作音频合成器……301
第10章遥控外部设备……………303
10.0简介…………………303
10.1对一个红外遥控器做出响应…………………303
10.2解码红外遥控信号…306
10.3模仿遥控器信号……309
10.4控制数码相机………312
10.5通过改装遥控开关来控制交流设备…………314
第11章显示屏的使用……………318
11.0 介绍…………………318
11.1 文字LCD屏的连接和使用…………………318
11.2 格式化文本…………321
11.3 光标和显示的开启和关闭……………………323
11.4 滚动文字……………325
11.5 显示特殊符号………328
11.6 创建自定义字符……331
11.7 显示比单个字符更大的符号…………………333
11.8 显示小于单个字符的像素……………………336
11.9 连接和使用图形LCD显示器………………338
11.10 创建用于图形显示器的位图………………341
11.11 在电视机上显示文本………………………343
第12章时间和日期的使用………348
12.0 介绍…………………348
12.1 创建延时……………348
12.2 使用millis来确定持续时间…………………349
12.3 更精确地测量一个脉冲的持续时间…………353
12.4 把Arduino作为一个时钟来用………………355
12.5 创建一个可以周期性调用函数的闹钟………364
12.6 使用一个实时时钟…367
第13章使用I2C和SPI进行通信………………………372
13.0 简介…………………372
13.1 使用BlinkM模块控制RGB LED……………375
13.2 使用Wii的双节棍加速度计…………………380
13.3 外部实时时钟的接口384
13.4 添加外部EEPROM存储器…………………386
13.5 用数字温度计读取温度………………………390
13.6 只用两条导线驱动4位7段LED显示……394
13.7 集成一个I2C端口扩展器……………………397
13.8 使用SPI驱动多位7段LED显示器………400
13.9 两个或两个以上的Arduino板之间的通信…402
第14章无线通信…………………406
14.0 介绍…………………406
14.1 使用低成本无线模块发送消息………………406
14.2 把Arduino接入ZigBee或802.15.4网络…412
14.3 将消息发送到一个特定的XBee……………417
14.4 在XBee间互传传感器数据…………………420
14.5 激活连接到XBee的执行器…………………425
14.6 使用低成本收发器发送消息…………………429
14.7 与蓝牙设备通讯……434
第15章以太网和网络……………437
15.0 简介…………………437
15.1 以太网扩展板的设置439
15.2 自动获取你的IP地址………………………441
15.3 解析主机名到IP地址(DNS)……………443
15.4 从Web服务器请求数据……………………445
15.5 使用XML从Web服务器请求数据…………451
15.6 把Arduino设置成一个Web服务器………454
15.7 处理进入的Web请求………………………457
15.8 处理针对特定页面的请求……………………460
15.9 使用HTML格式化Web服务器响应………465
15.10 使用表单的网页服务(POST)……………469
15.11 包含大量数据的网页服务…………………472
15.12 发送Twitter消息…480
15.13 发送和接收简单消息(UDP)……………485
15.14 从Internet时间服务器获取时间…………492
15.15 监测Pachube数据馈送……………………498
15.16 将信息发送到Pachube……………………504
第16章库的使用修改和创建……510
16.0 简介…………………510
16.1 使用内置库…………510
16.2 安装第三方库………511
16.3 库的修改……………512
16.4 创建你自己的库……516
16.5 创建一个使用其他库的库……………………521
16.6 为Arduino 1.0版更新第三方库……………527
第17章高级编程和内存操作……529
17.0 介绍…………………529
17.1 了解Arduino程序的构建过程………………530
17.2 判断可用和已用的RAM 量…………………532
17.3 存储和读取程序存储器中的数字值…………534
17.4 存储和检索字符串在程序存储器……………537
17.5 使用#define 和const而不用整数型变量…539
17.6 使用条件编译………540
第18章使用控制器芯片的硬件…543
18.0 介绍…………………543
18.1 在永久性EEPROM存储器中存储数据……546
18.2 使用硬件中断………550
18.3 设置定时器持续时间552
18.4 设置定时器脉冲宽度和持续时间……………554
18.5 创建一个脉冲发生器556
18.6 更改定时器的PWM频率……………………560
18.7 脉冲计数……………562
18.8 更精确的脉冲测量…564
18.9 快速测量模拟值……567
18.10 减少电池消耗……568
18.11 快速设定数字引脚572
18.12 使用编程器上传程序………………………576
18.13 更换Arduino的Bootloader………………577
18.14 对Uno重新编程来模拟原生的USB设备577
附件A电子元件…………………581
附件B使用原理图和数据手册…585
附件C电路的构建和连接………591
附件D软件问题排错诀窍………593
附件E硬件问题排错诀窍………596
附件F数字和模拟引脚……………598
附件GASCII和扩展字符集……601
附录H?
对于像我这样已经有一段时间Arduino开发经验的爱好者来说,《Arduino权威指南(第2版)》依然提供了巨大的价值。我过去接触的项目大多集中在特定的领域,而这本书则提供了一个更为全面的视角。它不仅仅是巩固了我已有的知识,更重要的是,它打开了我之前从未涉足过的领域。书中对于一些高级主题的讲解,比如实时操作系统、电机控制以及更复杂的传感器融合,都让我受益匪浅。我曾经在某个项目中遇到了性能瓶颈,想了很多办法都无法解决,直到翻到这本书中关于“性能优化”的章节,才恍然大悟。作者提出的那些算法上的优化技巧,以及对硬件资源的更精细化管理的方法,简直是“点石成金”。而且,书中提供的许多实战案例,虽然是针对初学者设计的,但其背后所蕴含的设计思想和工程实践,对于经验丰富的开发者来说,同样具有很高的参考价值。我甚至开始重新审视我过去的一些项目,思考如何运用书中新学到的知识去改进它们。
评分要说《Arduino权威指南(第2版)》最打动我的地方,莫过于它所营造的那种“解决问题”的氛围。我是一个喜欢自己动手解决难题的人,所以在学习新技术的时候,我最看重的是能够获得解决实际问题的能力。这本书在这方面做得非常出色。它不仅仅是告诉你“怎么做”,更是告诉你“为什么这么做”。书中对每一个例子的分析都非常到位,不仅解释了代码的逻辑,还深入剖析了硬件的工作原理,以及在实际应用中可能遇到的各种挑战和解决方案。我印象最深的是关于“故障排除”那一章,作者列举了许多常见的Arduino项目中的故障,并提供了系统性的排查方法。这对我这个有“强迫症”的爱好者来说,简直是福音。我不再害怕项目出错,因为我知道,这本书就像一个经验丰富的“侦探”,能够帮助我一步步找出问题的根源。这种自信心的提升,以及解决实际问题的能力,是我从这本书中收获的最大财富。
评分老实说,一开始我对于《Arduino权威指南(第2版)》抱有一种观望的态度,毕竟市面上关于Arduino的书籍琳琅满目,质量参差不齐。然而,当我真正开始阅读这本书后,我才意识到自己之前的顾虑完全是多余的。这本书的深度和广度都超出了我的预期。它不仅仅是一本简单的“how-to”手册,更像是一本关于Arduino生态系统的百科全书。书中对Arduino的每一个核心组件都进行了深入的剖析,无论是微控制器的工作原理,还是各种常用传感器的特性,都讲解得非常透彻。更让我惊喜的是,它还涵盖了许多进阶的主题,比如如何利用Arduino进行数据采集、如何实现无线通信,甚至还涉及了一些嵌入式系统设计的理念。我曾经尝试过一些开源硬件项目,但总是在某些环节遇到瓶颈,这本书就像是一盏明灯,为我指明了方向,让我能够克服那些技术难题。我特别欣赏书中对于不同模块的组合应用讲解,这让我能够将零散的知识点融会贯通,创造出更复杂、更具挑战性的项目。
评分我是一名在校的学生,主修的专业与电子工程息息相关。在接触Arduino之前,我对理论知识的学习总是觉得有些枯燥,缺乏实际的动手实践。而《Arduino权威指南(第2版)》的出现,彻底改变了我的学习方式。《Arduino权威指南(第2版)》是一本非常棒的参考书,尤其适合那些想要深入了解Arduino底层工作原理的学习者。书中对微控制器架构的讲解,包括它的寄存器、中断向量表以及各种通信接口的细节,都写得非常清楚。我过去在学习数字信号处理和通信协议时,经常会遇到一些抽象的概念,而这本书通过Arduino这个平台,用非常具体和可视化的方式将这些理论联系起来,让我能够更好地理解。我喜欢书中对各种外部设备的驱动方式的讲解,特别是关于如何用代码来控制和读取各种传感器的信息。这让我能够将课堂上学到的理论知识,在实际的硬件上得到验证和应用,极大地提升了我的学习兴趣和动手能力。
评分这本《Arduino权威指南(第2版)》简直是开启我DIY电子世界大门的钥匙!我一直对各种新奇的电子项目充满好奇,但苦于没有合适的入门书籍,总是感觉摸不着头脑。在朋友的推荐下,我毫不犹豫地入手了这本书,翻开的第一页就被它严谨又不失趣味的排版吸引了。不得不说,作者的讲解方式非常到位,对于像我这样的初学者,很多之前看起来无比复杂的概念,经过书中清晰的图文并茂的阐释,立刻变得豁然开朗。书中循序渐进的教学方式,从最基础的硬件连接、代码语法,到逐步深入的传感器应用、通信协议,每一章的内容都像是在为我铺设通往更高级项目的坚实阶梯。我特别喜欢它提供的那些小案例,每一个都既实用又充满创意,让我迫不及待地想动手尝试。而且,书中的代码示例都经过了实际验证,拿来就能用,这极大地节省了我调试代码的时间,让我能更专注于理解背后的原理。每次遇到问题,翻开这本书,总能找到相关的章节,提供详尽的解决方案和思路,让我觉得这本书就像是一位耐心且经验丰富的导师,随时在我身边指导我。
评分不错,支持!!!!!
评分用纸 轻型纸
评分送货很快!!!!!!
评分印刷很清晰,内容不错
评分总体上性价比还不错吧。
评分好?!!!!!!!!
评分资金量挺好的兔兔
评分就一个字“可以一看”。
评分书破了一个角 不开心
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有