动手玩转Arduino

978-7-115-33596-8
作者: 【澳】John Boxall
译者: 翁恺
编辑: 傅道坤

图书目录:

目 录

第 1章 起步 1

1.1 可能性是无限的 2

1.2 数字的力量 5

1.3 元件和附件 6

1.4 所需的软件 7

1.4.1 Mac OS X 7

1.4.2 Windows XP及后续版本 11

1.4.3 Ubuntu Linux 9.04及后续版本 14

1.5 安全 17

1.6 展望 17

第 2章 探索Arduino板和IDE 18

2.1 Arduino板 18

2.2 看一下Arduino IDE 23

2.2.1 命令区 23

2.2.2 文字区 24

2.2.3 消息窗口区 25

2.3 在IDE里创建第 一个程序 25

2.3.1 注释 25

2.3.2 setup函数 26

2.3.3 控制硬件 26

2.3.4 loop函数 27

2.3.5 检查程序 28

2.3.6 上传和运行程序 29

2.3.7 修改程序 29

2.4 展望 30

第3章 第 一步 31

3.1 规划作品 32

3.2 关于电 32

3.2.1 电流 33

3.2.2 电压 33

3.2.3 功率 33

3.3 电子元件 33

3.3.1 电阻 33

3.3.2 发光二极管 36

3.3.3 面包板 38

3.4 作品1:做出闪烁的LED波 39

3.4.1 算法 40

3.4.2 元件 40

3.4.3 程序 40

3.4.4 电路 41

3.4.5 运行程序 42

3.5 使用变量 42

3.6 作品2:用for循环做重复动作 43

3.7 用脉冲宽度调制变化LED的亮度 44

3.8 作品3:演示PWM 45

3.9 更多的电子元件 46

3.9.1 晶体管 46

3.9.2 整流二极管 47

3.9.3 继电器 47

3.10 高压电路 48

3.11 展望 49

第4章 构建模块 50

4.1 使用电路图 51

4.1.1 识别元件 51

4.1.2 电路图中的线 54

4.1.3 剖析电路图 55

4.2 电容 56

4.2.1 测量电容的容量 56

4.2.2 读电容值 56

4.2.3 电容的分类 57

4.2.4 数字输入 58

4.3 作品4:演示数字输入 59

4.3.1 算法 59

4.3.2 元件 60

4.3.3 电路图 60

4.3.4 程序 64

4.3.5 修改程序 65

4.3.6 理解程序 65

4.3.7 用#define定义常数 65

4.3.8 读数字输入引脚 65

4.3.9 用if做决策 65

4.3.10 用if-then-else做更多的决策 66

4.4 布尔变量 67

4.4.1 逻辑运算符 67

4.4.2 做两个或更多的比较 68

4.5 作品5:控制交通 68

4.5.1 目标 69

4.5.2 算法 69

4.5.3 元件 69

4.5.4 电路图 70

4.5.5 程序 71

4.5.6 运行程序 73

4.6 模拟与数字信号的对比 73

4.7 作品6:做一个单节电池测试仪 75

4.7.1 目标 75

4.7.2 算法 75

4.7.3 元件 76

4.7.4 电路图 76

4.7.5 程序 77

4.8 用Arduino做算术 78

4.8.1 浮点变量 78

4.8.2 数值的比较运算符 79

4.9 用参考电压改进模拟测量精度 79

4.9.1 用外部参考电压 79

4.9.2 使用内部参考电压 80

4.10 可变电阻 81

4.11 压电蜂鸣器 82

4.12 作品7:试试压电蜂鸣器 83

4.13 作品8:做一个易读的温度计 84

4.13.1 目标 85

4.13.2 元件 85

4.13.3 电路图 85

4.13.4 程序 86

4.13.5 程序创新 87

4.14 展望 88

第5章 使用函数 89

5.1 作品9:创建一个函数来反复执行 90

5.2 作品10:创建一个能设置闪烁次数的函数 91

5.3 创建一个返回值的函数 92

5.4 作品11:做一个闪烁表示温度的快读温度计 92

5.4.1 元件 93

5.4.2 电路图 93

5.4.3 程序 93

5.5 在串口监视器中显示Arduino传来的数据 95

5.6 作品12:在串口监视器显示温度 97

5.7 用while语句做循环 98

5.8 从串口监视器发送数据到Arduino 99

5.9 作品13:把一个数乘以2 99

5.10 long变量 101

5.11 作品14:使用long变量 101

5.12 展望 102

第6章 数字、变量和算术 103

6.1 产生随机数 104

6.2 作品15:做一个电子骰子 105

6.2.1 元件 106

6.2.2 电路图 106

6.2.3 程序 107

6.2.4 修改程序 108

6.3 二进制快速入门 108

6.4 用移位寄存器扩展数字输出 110

6.5 作品16:做一个LED二进制显示器 111

6.5.1 元件 111

6.5.2 连接74HC595 111

6.5.3 程序 112

6.6 作品17:做一个二进制测验游戏 113

6.6.1 算法 114

6.6.2 程序 114

6.7 数组 116

6.7.1 定义数组 116

6.7.2 访问数组单元 117

6.7.3 读写数组 117

6.8 7段数码管 118

6.9 作品18:做单个数字的显示 120

6.9.1 元件 120

6.9.2 电路 120

6.9.3 程序 121

6.9.4 显示两位数字 122

6.10 作品19:控制两个7段数码管 122

6.10.1 元件 123

6.10.2 电路图 123

6.10.3 取模 124

6.11 作品20:做一个数字温度计 125

6.11.1 硬件 125

6.11.2 程序 125

6.12 LED矩阵显示模块 126

6.12.1 LED矩阵电路图 127

6.12.2 连线 128

6.13 位运算 130

6.13.1 按位与运算 130

6.13.2 按位或运算 130

6.13.3 按位异或运算 131

6.13.4 按位取反(非)运算 131

6.13.5 按位左移和右移 131

6.14 作品21:做一个LED矩阵 132

6.15 作品22:在LED矩阵上创建图像 133

6.16 作品23:在LED矩阵上显示图像 135

6.17 作品24:在LED矩阵上显示动画 136

6.18 展望 137

第7章 液晶显示器 138

7.1 字符LCD模块 139

7.1.1 在程序中使用字符LCD 140

7.1.2 显示文字 141

7.1.3 显示数字变量的值 141

7.2 作品25:定义定制字符 142

7.3 图形LCD模块 144

7.3.1 连接图形LCD 145

7.3.2 使用LCD 145

7.3.3 控制显示器 146

7.4 作品26:文本显示的效果 146

7.4.1 作出更复杂的显示效果 147

7.5 作品27:做一个温度历史监视器 148

7.5.1 算法 148

7.5.2 硬件 148

7.5.3 程序 149

7.5.4 结果 150

7.5.5 修改程序 151

7.6 展望 151

第8章 扩展Arduino 152

8.1 盾板 153

8.2 原型盾板 154

8.3 作品28:做一块8个LED的定制盾板 155

8.3.1 元件 155

8.3.2 电路图 155

8.3.3 原型盾板的布局 156

8.3.4 设计 157

8.3.5 焊元件 158

8.3.6 修改定制盾板 159

8.4 用库扩展程序 159

8.5 microSD内存卡 164

8.6 作品29:向内存卡写数据 165

8.7 作品30:做一个温度记录仪 167

8.7.1 硬件 167

8.7.2 程序 168

8.8 用millis()和micros()做定时 170

8.9 作品31:做一个秒表 171

8.9.1 元件 171

8.9.2 电路图 172

8.9.3 程序 172

8.10 中断 174

8.10.1 中断模式 175

8.10.2 配置中断 175

8.10.3 启用或禁止中断 175

8.11 作品32:使用中断 175

8.12 展望 177

第9章 数字键盘 178

9.1 使用数字键盘 178

9.1.1 小键盘接线 179

9.1.2 给小键盘编程 179

9.1.3 测试程序 180

9.2 用switch-case做决策 181

9.3 作品33:做一个小键盘控制的锁 181

9.3.1 程序 182

9.3.2 工作原理 183

9.3.3 测试程序 184

9.4 展望 184

第 10章 用触摸屏获得用户输入 185

10.1 触摸屏 185

10.2 作品34:触摸屏上的定位 186

10.2.1 硬件 187

10.2.2 程序 187

10.2.3 测试程序 188

10.2.4 触摸屏上的坐标 189

10.3 作品35:做一个两区域触摸开关 189

10.3.1 程序 190

10.3.2 工作原理 191

10.3.3 测试程序 191

10.4 作品36:做一个三区域触摸开关 192

10.4.1 触摸屏坐标系 192

10.4.2 程序 192

10.4.3 工作原理 194

10.5 展望 194

第 11章 认识Arduino系列 195

11.1 作品37:在面包板上做自己的Arduino 196

11.1.1 元件 196

11.1.2 电路图 199

11.1.3 运行测试程序 201

11.2 众多的Arduino板 204

11.2.1 Arduino Uno 205

11.2.2 Freetronics Eleven 205

11.2.3 Freeduino 206

11.2.4 Boarduino 207

11.2.5 Arduino Nano 207

11.2.6 Arduino LilyPad 208

11.2.7 Arduino Mega 2560 208

11.2.8 Freetronics的EtherMega 209

11.2.9 Arduino Due 209

11.3 展望 211

第 12章 电机和运动 212

12.1 用伺服电机做轻量动作 212

12.1.1 选择伺服电机 213

12.1.2 连接伺服电机 214

12.1.3 使伺服电机工作 214

12.2 作品38:做一个指针式的温度计 215

12.2.1 元件 215

12.2.2 电路图 215

12.2.3 程序 216

12.3 使用电动机 218

12.4 作品39:控制电机 219

12.4.1 元件 219

12.4.2 电路图 220

12.4.3 程序 221

12.5 作品40:搭建并控制一个坦克机器人 222

12.5.1 元件 222

12.5.2 电路图 224

12.5.3 程序 227

12.6 碰撞检测 229

12.7 作品41:用微动开关检测坦克底盘的碰撞 229

12.7.1 电路图 230

12.7.2 程序 230

12.8 红外距离传感器 232

12.8.1 连线 233

12.8.2 测试红外距离传感器 233

12.9 作品42:用红外距离传感器检测坦克底盘的碰撞 235

12.10 超声波距离传感器 237

12.10.1 连接超声波传感器 237

12.10.2 使用超声波传感器 238

12.10.3 测试超声波距离传感器 238

12.11 作品43:用超声波距离传感器检测坦克底盘的碰撞 240

12.12 展望 242

第 13章 用Arduino接GPS 243

13.1 什么是GPS 244

13.2 测试GPS盾板 245

13.3 作品44:做一个简易GPS接收机 247

13.3.1 元件 247

13.3.2 程序 247

13.3.3 在LCD上显示位置 248

13.4 作品45:做一个精确的基于GPS的钟 249

13.4.1 元件 249

13.4.2 程序 249

13.5 作品46:随时间变化记录物体移动的位置 251

13.5.1 元件 251

13.5.2 程序 251

13.5.3 在地图上显示位置 253

13.6 展望 255

第 14章 无线数据通信 256

14.1 使用低成本无线模块 256

14.2 作品47:做一个无线遥控器 258

14.2.1 发射机电路的元件 258

14.2.2 发射机电路图 258

14.2.3 接收机电路的元件 259

14.2.4 接收机的电路图 260

14.2.5 发射机程序 261

14.2.6 接收机程序 262

14.3 用XBee无线数据模块来实现更大的范围和更快的速度 263

14.4 作品48:用XBee发送数据 264

14.4.1 程序 265

14.4.2 设置计算机来接收数据 265

14.5 作品49:做一个遥测温度计 266

14.5.1 元件 267

14.5.2 布局 267

14.5.3 程序 268

14.5.4 运作 269

14.6 展望 270

第 15章 红外遥控 271

15.1 什么是红外 271

15.2 准备红外器件 272

15.2.1 红外接收器 272

15.2.2 遥控器 273

15.2.3 测试程序 273

15.2.4 测量连接 274

15.3 作品50:做一个红外遥控的Arduino 275

15.3.1 元件 275

15.3.2 程序 275

15.3.3 扩展程序 276

15.4 作品51:做一辆红外遥控的坦克 277

15.4.1 元件 277

15.4.2 程序 277

15.5 展望 279

第 16章 读RFID标签 280

16.1 在RFID卡内部 281

16.2 测试硬件 282

16.2.1 电路图 282

16.2.2 测试电路图 282

16.3 作品52:做一个简易RFID控制系统 284

16.3.1 程序 284

16.3.2 工作原理 285

16.4 在Arduino内置的EEPROM里保存数据 286

16.5 作品53:做一个能记住上次动作的RFID控制器 288

16.5.1 程序 288

16.5.2 工作原理 290

16.6 展望 291

第 17章 数据总线 292

17.1 I2C总线 293

17.2 作品54:使用外部的EEPROM 294

17.2.1 元件 294

17.2.2 电路图 295

17.2.3 程序 296

17.2.4 结果 297

17.3 作品55:使用端口扩展集成电路 298

17.3.1 元件 298

17.3.2 电路图 298

17.3.3 程序 300

17.4 SPI总线 301

17.4.1 引脚连接 301

17.4.2 实现SPI 302

17.4.3 向SPI器件发送数据 302

17.5 作品56:使用数字变阻器 303

17.5.1 元件 303

17.5.2 电路图 304

17.5.3 程序 305

17.6 展望 306

第 18章 真实时钟 307

18.1 连接RTC模块 308

18.2 作品57:用RTC来得到和显示时间 308

18.2.1 元件 308

18.2.2 程序 309

18.2.3 工作原理 311

18.3 作品58:做一个简易数字钟 312

18.3.1 元件 312

18.3.2 程序 313

18.3.3 工作原理和结果 316

18.4 作品59:做一个RFID打卡机 316

18.4.1 元件 316

18.4.2 程序 317

18.4.3 工作原理 321

18.5 展望 322

第 19章 互联网 323

19.1 需要什么 323

19.2 作品60:做一个远程监控站 325

19.2.1 元件 325

19.2.2 程序 325

19.2.3 查找错误 328

19.2.4 工作原理 328

19.3 作品61:做一个Arduino推特机 329

19.3.1 元件 329

19.3.2 程序 329

19.4 从Web控制Arduino 331

19.5 作品62:建立对Arduino的遥控 331

19.5.1 元件 332

19.5.2 程序 333

19.5.3 远程控制你的Arduino 333

19.6 展望 335

第 20章 手机通信 336

20.1 硬件 337

20.1.1 准备电源盾板 338

20.1.2 硬件配置和测试 339

20.1.3 改变工作频率 340

20.2 作品63:做一个Arduino拨号器 342

20.2.1 元件 342

20.2.2 电路图 343

20.2.3 程序 343

20.2.4 工作原理 344

20.3 作品64:做一个Arduino短信机 345

20.3.1 程序 345

20.3.2 工作原理 346

20.4 作品65:建立一个短信遥控装置 346

20.4.1 元件 347

20.4.2 电路图 347

20.4.3 程序 348

20.4.4 工作原理 349

20.5 展望 350

详情

本书精心整合了65个Arduino项目,而且其难易程度依次递增,旨在让读者掌握更多的Arduino知识和经验。读者除了学到基础的电子学知识之外,还将学习如何创建更为复杂的项目。本书每章内容都以之前章节为基础,它采用步骤式讲解,让读者理解并构建不同的项目。当读者学完本书之后,将学会如何创建闪烁的灯光、RFID标签打卡钟,以及使用电视遥控器来控制的电动坦克等内容。

图书摘要

相关图书

scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
树莓派机器人实战秘笈(第3版)
树莓派机器人实战秘笈(第3版)
深度学习
深度学习
TensorFlow机器学习项目实战
TensorFlow机器学习项目实战
机器学习Web应用
机器学习Web应用
TensorFlow技术解析与实战
TensorFlow技术解析与实战

相关文章

相关课程