《Arduino高级开发权威指南 原书第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)巴雷特著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111452461
  • 页数:270 页
图书介绍:本书内容整体分为两个部分。第一个部分讲解如何使用Arduino进行编程,并进一步开发嵌入式系统;第二部分则分别深入浅出讲解了Arduino控制器的串口通信,ADC,中断,定时等概念,便于读者深入理解Arduino的体系结构。

前言 1

第1章 入门 1

1.1概述 1

1.2入门 1

1.3 Arduino UNO R3 3

1.4案例:自主迷宫导航机器人 5

1.4.1结构图 6

1.4.2 UML活动图 7

1.4.3 Arduino UNO R3系统 7

1.5 Arduino开源原理图 7

1.6其他基于Arduino的硬件平台 9

1.7扩展Arduino平台的硬件功能特性 9

1.8 Arduino软件 10

1.9 Arduino UNO R3/ATmega328芯片硬件功能 10

1.9.1内存单元 12

1.9.2端口系统 12

1.9.3内部系统 13

1.10应用:Arduino设备套件 16

1.11小结 17

1.12参考文献 17

1.13本章习题 17

第2章 编程 18

2.1概述 18

2.2编程大图 18

2.3解析程序 20

2.3.1注释 21

2.3.2包含文件 21

2.3.3函数 22

2.3.4程序常量 24

2.3.5中断处理器定义 24

2.3.6变量 24

2.3.7主程序 25

2.4基本的编程概念 25

2.4.1运算符 25

2.4.2编程结构 29

2.4.3决策处理 30

2.5 Arduino开发环境 32

2.5.1背景 33

2.5.2 Arduino开发环境简介 33

2.5.3速写本概念 34

2.5.4 Arduino软件、库以及Arduino语言参考资料 34

2.6应用1:机器人红外距离传感器 36

2.7应用2:艺术照明系统 39

2.8小结 39

2.9参考文献 40

2.10本章习题 40

第3章 嵌入式系统设计 41

3.1什么是嵌入式系统 41

3.2嵌入式系统设计流程 42

3.2.1项目说明 42

3.2.2背景研究 42

3.2.3前期设计 43

3.2.4设计 43

3.2.5实现原型 45

3.2.6初步测试 45

3.2.7完整并准确的文档记录 46

3.3案例:Blinky 602A自主迷宫导航机器人系统设计 46

3.4应用:Blinky 602A机器人的控制算法 51

3.5小结 57

3.6参考文献 58

3.7本章习题 58

第4章 串行数据通信子系统 59

4.1概述 59

4.2串行通信 59

4.3串行通信术语 60

4.4串行USART 62

4.5串行系统运行以及使用Arduino开发环境功能编程 65

4.6串行系统运行以及在C开发环境中的编程 68

4.7 SPI在Arduino开发环境中编程 71

4.8 SPI在C开发环境中编程 72

4.9两线串行接口——TWI 73

4.10应用1:SD/MMC卡模块通过USART扩展 73

4.11应用2:通过ISP对Arduino UNO R3控制板的ATmega328芯片编程 76

4.12小结 78

4.13参考文献 78

4.14本章习题 78

第5章 模数转换器 79

5.1概述 79

5.2采样、量化和编码 80

5.3模数转换过程 83

5.3.1换能器接口设计电路 83

5.3.2运算放大器 85

5.4模数转换技术 88

5.5 Atmel公司的ATmega328芯片ADC系统 89

5.5.1框架图 89

5.5.2寄存器 90

5.6使用Arduino开发环境为模数转换功能编程 92

5.7使用C开发环境为模数转换功能编程 92

5.8实例:ADC雨量计指示灯 93

5.8.1 ADC雨量计指示灯(使用Arduino开发环境) 94

5.8.2 ADC雨量计指示灯(使用C开发环境) 97

5.8.3 ADC雨量计指示灯(基于Arduino开发环境的C编程混合优化) 102

5.9一位模数转换(阈值检测器) 103

5.10数模转换器(DAC ) 105

5.10.1数模转换器(使用Arduino开发环境) 106

5.10.2数模转换器(外接转换器) 106

5.11应用:艺术作品照明系统——优化 107

5.12小结 109

5.13参考文献 110

5.14本章习题 111

第6章 中断子系统 112

6.1概述 112

6.2 ATmega328中断系统 113

6.3中断编程 113

6.4基于C语言及Arduino开发环境的中断编程 114

6.4.1外部中断编程 114

6.4.2内部中断编程 117

6.5前台处理和后台处理 121

6.6中断例程 121

6.6.1 C语言中的实时时钟 121

6.6.2 Arduino开发环境中的实时时钟 123

6.6.3用C语言中断驱动的USART 125

6.7小结 134

6.8参考文献 134

6.9本章习题 134

第7章 定时器子系统 136

7.1概述 136

7.2有关定时器的术语 136

7.2.1频率 137

7.2.2周期 137

7.2.3占空比 137

7.3定时器系统概述 138

7.4应用 139

7.4.1输入捕捉——测量外部定时事件 140

7.4.2计数事件 140

7.4.3输出比较——对外部设备接口产生定时信号 141

7.4.4工业实施案例研究(PWM) 141

7.5 Atmel公司的ATmega328控制器上的定时器系统概述 142

7.6 Timer 0系统 143

7.6.1运行模式 144

7.6.2 Timer 0寄存器 146

7.7 Timer 1 148

7.7.1 Timer 1寄存器 149

7.8 Timer 2 151

7.9利用Arduino开发环境中内置的钟功能在Arduino UNO R3控制板上编程 154

7.10用C语言编写定时器系统 154

7.10.1 C语言中的精确延时 154

7.10.2 C语言中的PWM 156

7.10.3在C语言中输入捕获模式 157

7.11基于C语言的伺服电机控制的PWM系统 158

7.12小结 162

7.13参考文献 162

7.14本章习题 163

第8章Atmel AⅤR系列微控制器运行参数和接口 164

8.1概述 164

8.2运行参数 165

8.3电池供电 167

8.3.1嵌入式系统电压和电流消耗规格 167

8.3.2电池特性 167

8.4输入设备 168

8.4.1开关 168

8.4.2开关接口电路中的上拉电阻 169

8.4.3开关去抖动 169

8.4.4键盘 170

8.4.5传感器 174

8.4.6 LM34温度传感器案例 176

8.5输出设备 176

8.5.1发光二极管 176

8.5.2七段码LED显示 176

8.5.3代码样例 178

8.5.4三态LED指示灯 179

8.5.5点阵屏 180

8.5.6使用C编程液晶字符显示屏(LCD) 182

8.5.7使用Arduino开发环境编程液晶字符显示屏(LCD) 188

8.5.8大功率直流设备 189

8.6直流电磁阀控制 189

8.7直流电机速度和方向控制 190

8.7.1直流电机运行参数 191

8.7.2 H桥方向控制 191

8.7.3伺服电机接口 192

8.7.4步进电机控制 192

8.7.5交流设备 198

8.8驱动其他设备 199

8.8.1报警器、蜂鸣器 199

8.8.2振动电机 199

8.9扩展实例1:自动风扇制冷系统 200

8.10扩展实例2:艺术灯光系统 207

8.11扩展实例3:飞行模拟器操控面板 211

8.12扩展实例4:潜水机器人 231

8.12.1需求 233

8.12.2结构图 233

8.12.3电路图 234

8.12.4 UML活动图 234

8.12.5微控制器程序 235

8.12.6项目衍生 237

8.13扩展实例5:气象站 237

8.13.1需求 237

8.13.2结构图 238

8.13.3电路图 238

8.13.4 UML活动图 240

8.13.5微控制器程序 241

8.14小结 248

8.15 参考文献 248

8.16本章习题 249

附录A ATmega328寄存器设置 252

附录B ATmega328头文件 256