本书从提高Arduino使用效率、数据库打包、硬件融合、USB编程、网络编程、数字信号编程等几个方面,来综合讲解Arduino的晋级应用方法。书中迅速带过Arduino的基础知识,进入能力提升的主题,通过多个实例帮助读者快速提升Arduino编程能力。
McGrawHill经典口袋书,知识点深入浅出讲解,把书读得很薄,迅速提升Arduino编程能力。
回顾Arduino程序设计的基础内容,并介绍更多程序设计的高阶功能。
通过实例展示如何利用少的储存器即可有效工作、使用小功率完成大性能、支持不同类型的串行口、支持USB编程、支持网络编程、数字信号处理DSP等内容。
75个开源的Sketches示例提供下载使用。
100余个Arduino程序设计技巧等你实践。
Simon Monk博士(英国Preston)拥有控制论和计算机科学学位以及软件工程学博士学位。他做了几年的学术研究,然后回到了产业界,共同创办了移动软件公司Momote Ltd.。他从十来岁起就是一个活跃的电子爱好者,而且是业余电子和开源硬件的全职作家。Monk博士是众多电子书籍的作者,精于开源硬件平台,特别是Arduino和树莓派。
目录
第1章 Arduino编程 1
什么是 Arduino 1
软件安装和IDE 3
Arduino概览 6
Arduino 开发板 8
编程语言 12
修改Blink sketch 12
变量 14
If 15
Loops 16
函数 17
数字量输入 18
数字量输出 20
串口监视器 20
数组和字符串 22
模拟量输入 23
模拟量输出 25
使用库 26
Arduino数据类型 28
Arduino 指令 29
总结 30
第2章 内部机理 31
Arduino发展概况 31
Arduino内部结构 31
AVR微控制器 32
Arduino 和Wiring 35
从sketch到Arduino 38
AVR Studio 41
安装引导程序 43
总结 46
第3章 中断和定时器 47
硬件中断 47
启用和禁用中断 53
定时器中断 53
总结 56
第4章 让Arduino更快 57
Arduino到底有多快? 57
Arduino开发板之间的比较 58
算法加速 59
查找与计算 60
快速I/O 62
模拟量输入的加速 68
总结 69
第5章 低功耗的Arduino 70
Arduino开发板的功耗 70
电流和电池 72
降低时钟频率 73
关闭一些模块 75
休眠 76
输出数字量控制功耗 80
总结 82
第6章 内存 83
Arduino内存 83
减少RAM的使用 84
小化闪存占用 89
静态与动态内存分配对比 90
字符串 91
EEPROM的使用 95
使用闪存 100
使用SD卡存储数据 102
总结 104
第7章 I2C总线的使用 105
I2C硬件 106
I2C协议 107
Wire库 108
I2C示例 110
总结 116
第8章 1-Wire器件接口 117
1-Wire硬件 117
1-Wire协议 118
OneWire 程序库 118
使用DS18B20 121
总结 122
第9章 SPI器件接口 123
位操作 123
SPI硬件 127
SPI协议 129
SPI库 129
SPI 示例 131
总结 134
第10章 UART串行编程 135
串行硬件 135
串行通信协议 137
串行命令 138
软件串行通信库 140
串行通信示例 141
总结 148
第11章 USB编程 149
键盘和鼠标仿真 149
USB主机编程 152
总结 159
第12章 网络编程 160
网络硬件 160
Ethernet库 163
以太网示例 167
WiFi库 173
WiFi示例 174
总结 175
第13章 数字信号处理 176
数字信号处理介绍 176
读数求均值 177
滤波介绍 179
构建一个简易低通滤波器 180
Arduino Uno 的数字信号处理 181
Arduino Due数字信号处理 183
滤波器代码生成 185
傅里叶变换 188
总结 192
第14章 管理一个进程 193
转变大型系统的编程习惯 193
为什么你不需要线程 194
设置和循环 194
Timer库 197
总结 198
第15章 编写程序库 199
何时编写程序库 199
使用类与方法 200
库示例(TEA5767 Radio) 200
测试库文件 205
这个库 205
总结 206
附件A 器件 207
Arduino开发板 207
扩展板 207
器件与模块 208
供应商 208