第1部分 Arduino工程基础 1
第1章 让你的Arduino闪烁 2
探索Arduino生态系统 3
Arduino功能 3
Arduino板卡 7
创建你的第一个程序 12
下载并安装Arduino IDE 12
运行IDE并连接Arduino 13
分析你的第一个程序 15
本章小结 17
第2章 数字输入、输出和脉冲宽度调制 18
数字输出 19
连接一个LED并使用面包板 19
数字输出端口编程 23
使用for循环 24
analogWrite()与脉冲宽度调制 25
读取数字输入 28
读取带有下拉电阻的数字输入 28
使用“有弹性的”按键 30
制作一个可控的RGB LED夜灯 33
本章小结 37
第3章 读取模拟传感器 38
理解模拟和数字信号 39
比较模拟和数字信号 39
将模拟信号转换为数字信号 40
利用Arduino读取模拟传感器:analogRead() 41
读取电位器 42
使用模拟传感器 45
利用可变电阻制作自己的模拟传感器 50
使用阻性分压器 50
利用模拟输入控制模拟输出 52
本章小结 54
第2部分 控制环境 55
第4章 三极管与电机驱动 56
驱动直流电机 57
操作大电流感性负载 58
利用PWM控制电动机转速 62
使用H-桥控制直流电机的方向 64
驱动伺服电机 70
理解连续旋转伺服电机和标准伺服电机的区别 71
理解伺服电机控制 71
控制伺服电机 75
制作扫描式距离传感器 76
本章小结 80
第5章 发出声音 81
理解扬声器的工作原理 82
声音的性质 82
扬声器是如何发声的 83
使用tone()发出声音 84
包含定义文件 85
给扬声器接线 86
产生声音序列 88
理解tone()函数的限制 91
制作一架微型钢琴 91
本章小结 94
第6章 USB和串口通信 95
理解Arduino的串口通信功能 96
使用内置或外置USB-串口转换器的Arduino板卡 97
使用次级含USB功能ATMega MCU来模拟串口转换器的Arduino板卡 99
使用单个带USB功能MCU的Arduino板卡 101
带有USB-Host功能的Arduino板卡 101
监听Arduino 102
使用print语句 102
使用特殊字符 103
改变数据类型表示 105
与Arduino通信 105
从计算机或其他串口设备上读取信息 106
与桌面应用程序通信 112
与Processing通信 113
学习Arduino Leonardo(及其他基于32U4的Arduino)的特殊技巧 119
模拟键盘 119
模拟鼠标 124
本章小结 127
第7章 移位寄存器 129
理解移位寄存器 130
发送并行和串行数据 131
使用74HC595移位寄存器 131
使用Arduino进行串行移位输出 134
在二进制和十进制间转换 136
用移位寄存器控制灯光动画 137
搭建“光骑士” 137
用LED条形图响应输入 139
本章小结 142
第3部分 Arduino通信接口 143
第8章 I2C总线 144
I2C总线的历史 145
12C硬件设计 145
通信方案与ID值 146
硬件要求和上拉电阻 147
与I2C测温探头通信 148
设置硬件 148
参考数据手册 149
编写软件 151
将移位寄存器、串口通信和I2C通信结合 153
为温度监控系统搭建硬件 153
修改嵌入式程序 154
编写Processing程序 156
本章小结 159
第9章 SPI总线 160
SPI总线概述 161
SPI硬件和通信设计 162
硬件配置 162
通信方案 163
比较SPI与I2C 164
与SPI数字电位器通信 164
从数据手册中获取信息 164
设置硬件 167
编写软件 169
用SPI数字电位器制作视听显示系统 171
设置硬件 172
修改软件 173
本章小结 175
第10章 连接液晶显示器 176
设置LCD 177
使用LiquidCrystal库写入LCD 180
向显示器输出文本 180
创建特殊符号和动画 182
制作一个私人自动恒温器 185
设置硬件 185
用按键调节设定值 188
添加声音报警和电扇 189
整合:完整的程序 190
升级项目 194
本章小结 194
第11章 使用XBee收发器进行无线通信 195
理解XBee无线通信 196
XBee无线收发器 197
XBee无线收发器扩展板和串口连接 198
配置XBee 201
用扩展板或USB适配器配置 202
选择Xbee设置并将XBee连到主机上 203
用X-CTU配置XBee 204
用串口终端配置XBee 207
与计算机无线通信 209
为远程Arduino供电 209
回顾串口示例:用电位器控制Processing 211
回顾串口示例:控制一个RGB LED 214
与另一个Arduino通信:制作无线门铃 216
系统设计 217
发射器硬件 218
接收器硬件 218
发射器软件 219
接收器软件 220
本章小结 223
第4部分 高级的话题和项目 225
第12章 硬件和定时器中断 226
使用硬件中断 227
理解轮询和中断间的折中 228
理解Arduino的硬件中断能力 229
搭建并测试硬件消抖动的按键中断电路 230
使用定时器中断 237
理解定时器中断 237
获取软件库 238
近乎于同时地执行两个任务 238
搭建一个中断驱动的音响 239
音响硬件 239
音响软件 240
本章小结 242
第13章 用SD卡记录数据 243
数据记录的准备工作 244
用CSV文件格式化数据 244
为数据记录准备SD卡 245
将SD卡接入Arduino 249
SD卡扩展板 249
SD卡SPI接口 253
写入SD卡 253
读取SD卡 258
使用一个实时时钟 261
理解实时时钟 261
使用实时时钟 263
做一个入口记录仪 268
记录仪硬件 268
记录仪软件 270
数据分析 273
本章小结 274
第14章 将你的Arduino联网 275
互联网、Arduino和你 276
网络术语 276
客户端与服务器 279
将Arduino联网 279
在网上控制Arduino 279
准备I/O控制硬件 280
设计一个简易网页 280
编写Arduino服务器程序 282
通过网络控制Arduino 286
把实时数据发送给绘图服务 290
在Xively上创建实时数据源 290
添加数据源组件 295
本章小结 299
附录 ATMega数据手册和Arduino原理图揭秘 300
阅读数据手册 300
分解数据手册 300
理解器件引脚定义 302
理解Arduino原理图 304