编辑推荐
图文并茂,手把手引导“零基础”Arduino爱好者突破电子技术的障碍。
《Arduino开发实战指南》作者程晨面向“零基础”读者精心打磨的又一本著作。
全彩印刷,配有入门套件,结合彩色电路连线,动手体验更佳。
内容简介
书籍 计算机书籍
Arduino是一个任何人都可以快速上手使用的电子控制平台,可能在硬件工程师的眼中它仅仅是一个简单的8位机最小系统,但对于更多的没有硬件背景的人来说(特别是软件工程师),Arduino为他们打开了一扇通向硬件领域的窗口,这扇窗连接的是一个叫做开源硬件的世界。
Arduino注重实际动手操作应用,只要掌握了一些基本的电子学知识,就能制作出很有意思的硬件交互作品。正是基于这个原因,《Arduino电子设计实战指南:零基础篇》以基础的电子学知识为纽带将各个章节联系起来,通过简单的应用介绍了Arduino中数字量和模拟量的处理方式。用Arduino完成的形形色色的电子作品都是基于这些基础知识实现的,《Arduino电子设计实战指南:零基础篇》的作用只是引领你走入Arduino的精彩世界,希望大家在读完《Arduino电子设计实战指南:零基础篇》后充分发挥各自的想象力,去制作更有意思的电子作品。
作译者
程晨,国内首本Arduino著作《Arduino开发实战指南》作者,国内较早接触Ardulno的硬件工程师,在Arduino的应用开发方面有着丰富的实战经验。对于Arduino的架构和实现原理有着非常深入的理解和认识,在PC端、手机端的应用程序开发方面也有深入的研究,是Ardulno开源组织C2D2的发起者。
目录
《Arduino电子设计实战指南:零基础篇》
前 言
第1章 电子学基础 / 1
1.1 什么是电子学 / 1
1.2 电子学的发展 / 1
1.2.1 电子学的诞生 / 2
1.2.2 电子管的发明 / 2
1.2.3 晶体管的发明 / 2
1.2.4 集成电路 / 3
1.3 基本知识 / 3
1.3.1 电流 / 3
1.3.2 电流的故事 / 4
1.3.3 电压 / 4
1.3.4 电池 / 4
1.3.5 电阻 / 5
1.3.6 单位的名称 / 6
1.3.7 欧姆定律 / 6
1.3.8 导体和半导体 / 6
1.3.9 二极管 / 7
1.3.10 发光二极管 / 7
1.4 面包板及面包线 / 8
1.5 万用表 / 9
1.5.1 电阻的测量 / 10
1.5.2 电压的测量 / 11
1.5.3 通断的测量 / 11
1.6 其他工具 / 11
1.6.1 电烙铁 / 12
1.6.2 螺丝刀 / 13
1.6.3 镊子 / 13
1.6.4 尖嘴钳 / 13
1.6.5 偏口钳 / 13
1.6.6 剥线钳 / 14
第2章 电子电路 / 15
2.1 电路分析 / 15
2.1.1 电路 / 15
2.1.2 并联电路和串联电路 / 16
2.1.3 电阻的并联 / 16
2.1.4 电阻的串联 / 17
2.1.5 开路和短路 / 18
2.2 Fritzing / 19
2.2.1 Fritzing介绍 / 19
2.2.2 软件的获取 / 20
2.2.3 软件操作界面 / 21
2.2.4 面包板视图 / 24
2.2.5 电阻的色环 / 26
2.2.6 原理图视图 / 27
2.2.7 PCB视图 / 29
2.3 初识Arduino / 31
2.3.1 Arduino的初始功能 / 31
2.3.2 闪烁的发光二极管 / 31
2.3.3 原理图视图 / 33
第3章 应用开发环境 / 35
3.1 什么是Arduino / 35
3.1.1 开源硬件 / 35
3.1.2 Arduino板的种类 / 36
3.1.3 Arduino兼容板 / 39
3.2 Arduino的资源 / 39
3.2.1 Leonardo的硬件资源 / 39
3.2.2 Dreamer Nano的硬件资源 / 41
3.3 Arduino开发环境 / 42
3.3.1 开发环境的获取 / 42
3.3.2 添加新硬件 / 44
3.3.3 开发环境设置 / 48
3.4 Arduino IDE界面中的快捷按钮 / 49
3.4.1 快捷按钮的介绍 / 49
3.4.2 快捷按钮的使用 / 49
3.5 Blink示例的代码 / 51
3.5.1 注释 / 52
3.5.2 数据类型 / 53
3.5.3 函数 / 54
3.5.4 程序结构 / 55
3.5.5 修改闪烁时间 / 57
3.5.6 更改控制引脚 / 58
3.6 本章函数小结 / 61
第4章 控制多个LED / 62
4.1 交通信号灯项目 / 62
4.1.1 硬件电路的搭建 / 62
4.1.2 变量的含义 / 64
4.1.3 变量的命名规则 / 65
4.1.4 代码实现 / 66
4.1.5 定义函数 / 68
4.2 ArduBlock / 70
4.2.1 在Arduino开发环境中添加ArduBlock / 71
4.2.2 在Arduino开发环境中使用ArduBlock / 72
4.3 数码管 / 77
4.3.1 数码管介绍 / 77
4.3.2 数码管的使用 / 78
4.3.3 数码管的连接 / 79
4.3.4 显示数字 / 80
4.3.5 for循环 / 83
4.3.6 使用for循环 / 84
4.3.7 优化后的代码 / 85
第5章 灯光的渐变 / 88
5.1 电信号 / 88
5.1.1 数字信号 / 88
5.1.2 模拟信号 / 89
5.1.3 分辨率 / 89
5.2 亮度的渐变 / 90
5.2.1 模拟量的输出 / 90
5.2.2 功能介绍 / 90
5.2.3 新函数介绍 / 90
5.2.4 代码实现 / 91
5.3 全彩LED / 92
5.3.1 三原色 / 92
5.3.2 全彩LED介绍 / 92
5.3.3 RGB颜色表示法 / 93
5.3.4 硬件的连接 / 94
5.3.5 显示指定的颜色 / 96
5.3.6 遍历所有的颜色 / 98
5.4 本章函数小结 / 99
第6章 添加交互元件 / 100
6.1 手动控制LED亮灭 / 100
6.1.1 按键介绍 / 100
6.1.2 新函数介绍 / 101
6.1.3 按键的连接 / 104
6.2 手动控制LED闪烁频率 / 106
6.2.1 三种基本结构 / 107
6.2.2 if语句 / 107
6.2.3 功能实现 / 109
6.3 手动控制LED亮度 / 111
6.3.1 旋钮电位器 / 111
6.3.2 器件使用 / 112
6.3.3 器件连接 / 113
6.3.4 功能实现 / 113
6.4 数码管骰子 / 115
6.4.1 随机数 / 115
6.4.2 骰子功能描述 / 116
6.4.3 硬件连接 / 116
6.4.4 代码实现 / 118
6.4.5 倾斜开关 / 123
6.4.6 摇晃的骰子 / 124
6.5 本章函数小结 / 125
第7章 串行通信 / 127
7.1 串行通信介绍 / 127
7.2 串行通信的约定 / 127
7.2.1 波特率 / 128
7.2.2 ASCII码 / 128
7.2.3 标准ASCII码 / 128
7.3 串行通信的应用 / 133
7.3.1 串行端口的初始化 / 133
7.3.2 while循环 / 135
7.3.3 在计算机端显示数据 / 136
7.3.4 发送数据 / 137
7.3.5 接收数据 / 138
7.4 用串行通信控制LED / 140
7.4.1 功能描述 / 140
7.4.2 功能实现 / 140
7.5 温度传感器实例 / 142
7.5.1 器件介绍 / 142
7.5.2 工作原理 / 142
7.5.3 硬件连接 / 143
7.5.4 功能实现 / 144
7.5.5 C语言中的运算符 / 146
7.6 环境光传感器 / 147
7.6.1 光敏电阻 / 147
7.6.2 典型应用 / 148
7.6.3 硬件连接 / 148
7.6.4 功能实现 / 150
7.6.5 火焰传感器 / 151
7.7 本章函数小结 / 153
第8章 将Leonardo用作键盘和鼠标 / 154
8.1 用作鼠标 / 154
8.1.1 功能描述 / 154
8.1.2 硬件连接 / 154
8.1.3 功能实现 / 157
8.1.4 代码分析 / 159
8.2 用作键盘 / 159
8.2.1 函数说明 / 159
8.2.2 功能实现 / 160
8.2.3 键值说明 / 163
前言
本人编写的国内首本Arduino著作《Arduino开发实战指南——AVR篇》,在国内引领了一波Arduino学习的高潮。虽然在硬件工程师的眼中Arduino仅仅是一个简单的8位机最小系统,但对于更多的没有硬件背景的人来说(特别是软件工程师),Arduino为他们打开了一扇通向硬件领域的窗口,这扇窗连接的是一个叫做开源硬件的世界。这里不用去系统地学习硬件知识就能够制作出很有意思的硬件交互作品。
Arduino因其简单易用、完全开源、扩展丰富的特点已经成为开源硬件中的一个重要角色,使用Arduino来制作电子作品时,我们不再需要单独学习单片机、寄存器之类的底层知识,只需要专注于我们的想法与实现的功能。
使用Arduino的人越来越多,许多读者反应之前的那《Arduino电子设计实战指南:零基础篇》还是偏重于底层硬件知识,对于没有硬件基础的人来说入门还是有点费劲,所以本人又和图书编辑张国强先生合作编写了这本零基础的Arduino图书。
从一个没有硬件基础的人变成一个熟练使用Arduino的电子爱好者,了解一些基本的电子学知识,会让这个转变过程更加顺利平稳。而本人认为电子世界中实际上只有两种信号:数字信号和模拟信号,而Arduino要处理的,或者说是我们在制作电子作品时需要处理的也就是这两种信号,外围使用的各种传感器、驱动部件都可以归结为这两种信号。每种信号又分为输入和输出两种处理形式,所以最终我们要搞清楚的基础就是4件事:数字量输入、数字量输出、模拟量输入、模拟量输出,而串行通信实际属于数字信号处理的一种扩展。我喜欢称之为“两仪四象学电子”。
《Arduino电子设计实战指南:零基础篇》就按照这几个基本点展开,《Arduino电子设计实战指南:零基础篇》共分为8章,各章所涉及内容如下:
第1章简单介绍电子学的一些知识和概念。
第2章引入《Arduino电子设计实战指南:零基础篇》的主角Arduino。
第3章介绍了Arduino的使用,软件的安装和应用。
第4章、第5章和第6章是关于数字量输出、模拟量输出、数字量输入及模拟量输入这几种基本情况的应用。
第7章单独就串行通信进行了阐述。
第8章是Arduino的一些特殊应用,确切地说是Leonardo用作鼠标键盘的特殊应用。
了解了书中的内容之后,其他的就触类旁通了。大家如果想更深入地学习Arduino的内容,了解Arduino的外围扩展模块,可以接着阅读本人编写的《Arduino开发实战指南——AVR篇》。
为了更适合初学者阅读,《Arduino电子设计实战指南:零基础篇》采用全彩色印刷,书中实例均用面包板和面包线制作,使用Fritzing来绘制实物连接效果图,更加直观明了。最后还是要感谢现在正捧着这《Arduino电子设计实战指南:零基础篇》的您,感谢您肯花费时间和精力阅读《Arduino电子设计实战指南:零基础篇》。由于时间有限,书中难免存在疏漏与错误,诚恳地希望您批评指正,您的意见和建议将是我巨大的财富。希望在Arduino的领域结识更多的朋友。
作 者
2013年1月
媒体评论
一直以来,学习单片机编程,首先要熟悉底层硬件知识,诸如总线关系、接口地址、寄存器功能等知识,对于初学者是晦涩难懂的,而且在软件编程中,还要准确详尽地描述出这些硬件信息。现在有了一种易学好用的“单片机”,即Arduino“单片机”,你不必知道它的硬件结构,只需了解其引脚作用即可,而且凭借强大的库文件和精简的指令系统,可以让程序编写轻松快捷。Arduin。单片机在国际上已经很流行了,但中文资料却极少,所以我推荐程晨老师写的这本 Arduino入门书。本书列举了许多生动的实例,绘制了Fritzing面包板连接图,讲解了详尽的语法知识,呈现了一个个清晰的实验照片,而且本书所用的Arduino“单片机”和电子元件的花费很少,这使得读者有机会边学习知识,边动手实践。
——三峡大学副教授,网络科普作家,资深创客宜昌城老张(张力)
Arduino是一个优秀的物理计算平台,用它制作作品不可避免地要用到电路知识。对于手里正拿着Arduino,却苦于没有电路专业知识的创客们,本书正是学习电路知识的好教材。借助 Arduino的帮助,以软带硬,可以由浅入深地掌握数字电路原理,学会各种外部器件的连接、编程和使用方法。无论你的专业背景是机械、软件还是美术,或者是只学过基本物理知识的中学生,·这本书都适合你。
——浙江大学计算机学院翁恺
开源硬件Arduino所带来的不仅仅是技术的革新,更是全民创新全民制作的全新时代。作者从电子入门的角度进行切入,一步步地对Arduino与相关资源进行了系统性介绍。本书非常适合作为 Arduino初学者的入门指南。
——Geekworkshop社区站长赫弘毅
这是一本介绍Arduino应用开发的书,非常适合非电子专业人士学习。本书通过丰富的项目,通俗易懂的语言,引导大家循序渐进地学习Arduino。通过本书,你不仅能学习到Arduino的开发方法,还可以了解到许多与硬件相关的知识,学会使用多种传感器、模块制作有趣的项目。即使你没有软硬件开发经验,也可以通过学习本书,快捷地制作出自己的创意项目。
——Arduino中国社区站长陈吕洲