《Arduino编程 实现梦想的工具和技术》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(法)詹姆斯·A.兰布里奇著;黄峰达,王小兵,陈福译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111574828
  • 页数:317 页
图书介绍:本书涵盖了学习Arduino所需的各方面知识。介绍了目前市场上常见的Arduino开发板,解释了如何下载并运行软件以及如何编程;最关键的是,本书解析了Arduino的编程语言,以及在根据设计需要添加程序库之后我们可以获得哪些额外的功能。同时贯穿整本书的大量实例对电子电路方面的知识也进行了入门级的讲解。通过阅读本书,Arduino可以变成你的“画布”,而你所编写的程序可以成就你的数字杰作。本书主要适用对象为创客,他们知道能够如何创造出令人惊讶的应用程序,如何使日常任务智能化。当然本书也同样适用于对Arduino编程感兴趣的开发者。

第1部分 Arduino的基本知识 2

第1章 Arduino的简介 2

1.1 Atmel AVR 3

1.2 Arduino项目 4

1.3 ATmega 5

1.3.1 ATmega系列 5

1.3.2 ATtiny系列 6

1.3.3 其他系列 6

1.4 不同的Arduino 6

1.4.1 Arduino Uno 7

1.4.2 Arduino Leonardo 7

1.4.3 Arduino Ethernet 8

1.4.4 Arduino Mega 2560 8

1.4.5 Arduino Mini 9

1.4.6 Arduino Micro 9

1.4.7 Arduino Due 9

1.4.8 LilyPad Arduino 10

1.4.9 Arduino Pro 10

1.4.10 Arduino Robot 11

1.4.11 Arduino Esplora 11

1.4.12 Arduino Yún 12

1.4.13 Arduino Tre 12

1.4.14 Arduino Zero 12

1.4.15 你自己的Arduino 13

1.5 扩展板 13

1.5.1 什么是扩展板 13

1.5.2 不同的扩展板 14

1.5.3 Arduino电动机扩展板 14

1.5.4 Arduino无线SD扩展板 14

1.5.5 Arduino以太网扩展板 14

1.5.6 Arduino WiFi扩展板 14

1.5.7 Arduino GSM扩展板 14

1.5.8 你自己的扩展板 15

1.6 你能用Arduino做什么 15

1.7 你需要为本书准备什么 15

1.8 小结 16

第2章 Arduino编程 17

2.1 安装环境 17

2.1.1 下载软件 18

2.1.2 运行软件 19

2.1.3 使用自己的IDE 20

2.2 你的第一个程序 20

2.3 理解你的程序 24

2.4 编程基础 26

2.4.1 变量和数据类型 26

2.4.2 控制结构 27

2.4.3 函数 30

2.4.4 库 31

2.5 小结 31

第3章 电子基础 32

3.1 电子入门 32

3.2 电压、电流和电阻 33

3.2.1 电压 33

3.2.2 电流 34

3.2.3 电阻 34

3.3 基本元器件 35

3.3.1 电阻 35

3.3.2 电容 37

3.3.3 二极管 37

3.3.4 发光二极管 38

3.3.5 晶体管 38

3.4 面包板 39

3.5 输入和输出 40

3.6 连接发光二极管 40

3.6.1 计算 40

3.6.2 软件 41

3.6.3 硬件 41

3.6.4 接下来呢 42

3.7 小结 42

第2部分 标准程序库 44

第4章 Arduino语言 44

4.1 I/O函数 44

4.1.1 数字I/O 44

4.1.2 模拟I/O 45

4.1.3 生成音调 46

4.1.4 读取脉冲 47

4.2 时间函数 47

4.2.1 delay() 48

4.2.2 delayMicroseconds() 48

4.2.3 millis() 48

4.2.4 micros() 48

4.3 数学函数 49

4.3.1 min() 49

4.3.2 max() 49

4.3.3 constrain() 49

4.3.4 abs() 50

4.3.5 map() 50

4.3.6 pow() 50

4.3.7 sqrt() 51

4.3.8 random() 51

4.4 三角函数 51

4.4.1 sin() 52

4.4.2 cos() 52

4.4.3 tan() 52

4.4.4 常量 52

4.5 中断 52

4.5.1 attachInterrupt() 53

4.5.2 detachInterrupt() 53

4.5.3 noInterrupt() 54

4.5.4 interrupts() 54

4.6 小结 54

第5章 串口通信 55

5.1 串口通信的简介 55

5.2 UART通信 56

5.2.1 波特率 57

5.2.2 数据位 58

5.2.3 奇偶校验位 58

5.2.4 停止位 58

5.3 调试和输出 58

5.4 启动一个串行连接 59

5.5 写数据 60

5.5.1 发送文本 60

5.5.2 发送数据 62

5.6 读数据 62

5.6.1 开始通信 62

5.6.2 是否阻塞 63

5.6.3 读取一个字节 63

5.6.4 读取多个字节 63

5.6.5 数据预览 64

5.6.6 解析数据 64

5.6.7 清除 65

5.7 示例编程 65

5.8 软件串口 68

5.9 小结 69

第6章 EEPROM 70

6.1 EEPROM的简介 70

6.2 Arduino上的不同存储器 71

6.3 EEPROM库 72

6.3.1 读取和写入字节 72

6.3.2 读取和写入位 73

6.3.3 读取和写入字符串 75

6.3.4 读取和写入其他值 75

6.3.5 示例程序 76

6.4 准备EEPROM存储 80

6.5 扩展非易失性存储器 80

6.6 小结 81

第7章 SPI 82

7.1 SPI的简介 82

7.2 SPI总线 83

7.2.1 与RS-232比较 83

7.2.2 配置 83

7.2.3 通信 84

7.3 Arduino SPI 84

7.4 SPI库 85

7.5 Arduino Due上的SPI 87

7.6 示例程序 88

7.6.1 硬件 89

7.6.2 程序 90

7.6.3 练习 93

7.7 小结 93

第8章 Wire 94

8.1 Wire的简介 94

8.2 连接I2C 95

8.3 I2C协议 95

8.3.1 地址 95

8.3.2 通信 96

8.4 进行通信 97

8.4.1 主机通信 98

8.4.2 从机通信 99

8.5 陷阱和缺陷 104

8.5.1 不同电压 104

8.5.2 总线速率 105

8.5.3 I2C扩展板 105

8.6 小结 105

第9章 Ethernet 106

9.1 以太网的简介 106

9.2 以太网 107

9.2.1 以太网电缆 107

9.2.2 交换机和集线器 107

9.2.3 以太网供电 108

9.3 TCP/IP 108

9.3.1 MAC地址 108

9.3.2 IP地址 108

9.3.3 DNS 109

9.3.4 端口 109

9.4 Arduino上的以太网 109

9.4.1 导入Ethernet库 110

9.4.2 开始构建以太网 110

9.5 Arduino作为客户端 112

9.5.1 发送和接收数据 113

9.5.2 示例程序 115

9.5.3 Arduino作为服务器 117

9.5.4 示例程序 118

9.6 小结 120

第10章 WiFi 121

10.1 引言 121

10.2 WiFi协议 122

10.2.1 拓扑 122

10.2.2 网络参数 123

10.3 Arduino WiFi 124

10.3.1 导入库 124

10.3.2 初始化 125

10.3.3 状态 125

10.3.4 扫描网络 126

10.3.5 连接和配置 127

10.3.6 无线客户端 128

10.3.7 无线服务器 128

10.4 示例应用 129

10.4.1 硬件 130

10.4.2 程序 130

10.4.3 练习 136

10.5 小结 137

第11章 LiquidCrystal 138

11.1 引言 138

11.2 LiquidCrystal库 140

11.2.1 写入文本 141

11.2.2 光标命令 141

11.2.3 文本方向 142

11.2.4 滚动 142

11.2.5 自定义文本 143

11.3 示例程序 144

11.3.1 硬件 145

11.3.2 软件 145

11.3.3 练习 148

11.4 小结 148

第12章 SD 149

12.1 引言 149

12.2 SD卡 151

12.2.1 容量 152

12.2.2 速率 153

12.3 在Arduino中使用SD卡 153

12.3.1 公认的SD卡 153

12.3.2 限制 154

12.4 SD库 154

12.4.1 导入库 154

12.4.2 连接SD卡 154

12.4.3 打开和关闭文件 155

12.4.4 读取和写入文件 155

12.4.5 文件操作 157

12.4.6 SD卡操作 157

12.4.7 高级用法 158

12.5 示例程序 158

12.6 小结 161

第13章 TFT 162

13.1 引言 162

13.2 技术 163

13.3 TFT库 164

13.3.1 初始化 164

13.3.2 屏幕准备 165

13.3.3 文本操作 165

13.3.4 基本图形 166

13.3.5 上色 167

13.3.6 图形图像 167

13.4 示例程序 168

13.4.1 硬件 168

13.4.2 程序 169

13.4.3 练习 173

13.5 小结 173

第14章 Servo 174

14.1 伺服电动机的简介 174

14.2 控制伺服电动机 175

14.2.1 连接伺服电动机 175

14.2.2 转动伺服电动机 176

14.2.3 断开 177

14.2.4 准确性与安全性 177

14.3 示例程序 177

14.3.1 电路图 179

14.3.2 程序 179

14.3.3 练习 180

14.4 小结 181

第15章 Stepper 182

15.1 电动机的简介 182

15.2 控制步进电动机 183

15.2.1 硬件 183

15.2.2 单极性与双极性步进电动机 183

15.3 Stepper库 184

15.4 示例项目 184

15.4.1 硬件 185

15.4.2 程序 185

15.5 小结 186

第16章 Firmata 187

16.1 Firmata的简介 187

16.2 Firmata库 188

16.2.1 发送消息 188

16.2.2 接收消息 189

16.2.3 回调 189

16.2.4 SysEx 191

16.3 示例程序 192

16.4 小结 194

第17章 GSM 195

17.1 全球移动通信系统(GSM)的简介 195

17.2 移动数据网络 196

17.2.1 GSM 196

17.2.2 3G 197

17.2.3 4G和未来 197

17.2.4 调制解调器 197

17.3 Arduino和GSM 198

17.4 Arduino GSM库 199

17.4.1 GSM类 200

17.4.2 SMS类 201

17.4.3 VoiceCall类 202

17.4.4 GPRS 204

17.4.5 Modem 205

17.5 应用示例 205

17.6 小结 209

第3部分 特殊设备程序库 211

第18章 Audio 211

18.1 音频的简介 211

18.2 数字语音文件 212

18.3 Arduino上的音乐 213

18.4 Arduino Due 213

18.4.1 数-模转换器 214

18.4.2 数字音频到模拟音频 214

18.4.3 创建数字音频 214

18.4.4 存储数字音频 215

18.4.5 播放数字音频 215

18.5 示例程序 216

18.5.1 硬件 217

18.5.2 程序 218

18.5.3 练习 221

18.6 小结 221

第19章 Scheduler 222

19.1 调度器的简介 222

19.2 Arduino多任务 224

19.3 调度 224

19.3.1 多任务合作 225

19.3.2 非合作函数 227

19.4 示例程序 228

19.4.1 硬件 229

19.4.2 程序 231

19.4.3 练习 233

19.5 小结 234

第20章 USBHost 235

20.1 USBHost的简介 235

20.2 USB协议 236

20.3 USB设备 237

20.3.1 键盘 237

20.3.2 鼠标 238

20.3.3 集线器 238

20.4 Arduino Due 238

20.5 USBHost库 239

20.5.1 键盘 240

20.5.2 鼠标 241

20.6 示例程序 242

20.6.1 硬件 243

20.6.2 源代码 243

20.7 小结 245

第21章 Esplora 246

21.1 Esplora的简介 246

21.2 Arduino Esplora库 247

21.2.1 RGB LED 247

21.2.2 传感器 248

21.2.3 按键 249

21.2.4 蜂鸣器 250

21.2.5 TinkerKit 250

21.2.6 LCD模块 251

21.3 示例程序和练习 251

21.4 小结 253

第22章 Robot 254

22.1 Robot库的简介 255

22.2 Arduino机器人 256

22.3 Robot库 257

22.3.1 控制板 257

22.3.2 电动机板 263

22.4 示例程序和练习 264

22.5 小结 266

第23章 Bridge 267

23.1 Bridge库的简介 267

23.2 Bridge 268

23.2.1 Process 269

23.2.2 FileIO 271

23.2.3 YunServer 272

23.2.4 YunClient 273

23.3 示例应用程序 273

23.3.1 硬件 273

23.3.2 程序 273

23.3.3 练习 277

23.4 小结 277

第4部分 用户程序库和扩展板 279

第24章 导入第三方库 279

24.1 库 279

24.1.1 查找库 280

24.1.2 导入一个库 280

24.1.3 使用扩展库 282

24.2 示例应用程序 284

24.3 练习 288

24.4 小结 288

第25章 创建你自己的扩展板 289

25.1 创建一个扩展板 289

25.1.1 想法 289

25.1.2 必备硬件 290

25.1.3 必备软件 290

25.2 你的第一个扩展板 291

25.2.1 第1步:面包板 292

25.2.2 第2步:原理图 294

25.2.3 第3步:PCB 296

25.3 小结 297

第26章 创建你自己的库 298

26.1 库 298

26.1.1 库基础 298

26.1.2 初级库 298

26.1.3 高级库 302

26.1.4 添加注释 305

26.1.5 添加示例 306

26.1.6 须知 306

26.1.7 编码风格 307

26.1.8 发布你的库 308

26.1.9 闭源库 308

26.2 示例库 308

26.2.1 库 308

26.2.2 示例 314

26.2.3 须知 316

26.2.4 收尾 317

26.3 小结 317