内容简介
《爱上Arduino:学Arduino玩转Kinect制作项目》先介绍Arduino、Kinect和Processing的基础知识,而后讲解10个从易到难的趣味项目,让读者逐步学习和掌握关于Arduino和Kinects相结合的作品的制作方法。每章会提供制作步骤、搭建的电路、Arduino电路板的编程,以及实现把Kinect数据连接到Arduino电路板的Processing程序的应用知识。初学者和经验丰富的程序员都可以在《爱上Arduino:学Arduino玩转Kinect制作项目》中有所收获。
目录
第1章 Arduino入门 1
1.1 什么是Arduino 1
1.2 Arduino简史 2
1.3 安装Arduino 2
1.3.1 在Mac OS X上安装 2
1.3.2 在Windows上安装 2
1.3.3 在Linux上安装 3
1.4 测试Arduino 3
1.5 Arduino的硬件 4
1.5.1 Arduino的输入和输出 5
1.5.2 上拉电阻 6
1.5.3 Arduino扩展板 7
1.6 Arduino IDE 8
1.7 串行监视器 10
1.8 Arduino语言 10
1.8.1 setup()函数 11
1.8.2 loop()函数 11
1.8.3 变量 11
1.9 你的第一个Arduino项目 14
1.9.1 面包板 14
1.9.2 搭建电路 15
1.9.3 对Arduino编程 15
1.10 电路示意图 16
1.10.1 Fritzing 17
1.10.2 电子符号 18
1.11 电学 18
1.11.1 AC/DC 19
1.11.2 欧姆定律 19
1.11.3 焦耳定律 19
1.12 总结 20
第2章 Kinect入门 21
2.1 Kinect简史 22
2.1.1 破解Kinect 22
2.1.2 官方架构 23
2.2 Kinect感应器 23
2.2.0 Kinect的摆放 24
2.3 Kinect的功能 25
2.3.1 RGB图像 25
2.3.2 红外线图像 25
2.3.3 深度图 25
2.3.4 手势和骨骼跟踪 25
2.4 Kinect驱动程序框架 26
2.4.1 OpenKinect的Libfreenect驱动 26
2.4.2 PrimeSense的OpenNI和NITE 26
2.4.3 Windows版微软Kinect 27
2.5 Kinect的原理 28
2.5.1 结构光3D扫描 28
2.5.2 光编码图像转换成深度图 29
2.6 Kinect替代设备:华硕Xtion PRO 30
2.7 总结 30
第3章 Processing 31
3.1 Processing语言 32
3.2 安装Processing 32
3.3 Processing IDE 33
3.4 第一个Processing程序 33
3.4.1 Processing变量 34
3.4.2 变量作用域 34
3.4.3 Processing程序结构 34
3.4.4 setup()函数 34
3.4.5 draw()函数 35
3.5 Processing库 36
3.6 Simple-OpenNI 37
3.6.1 安装Simple-OpenNI 37
3.6.2 在Linux上安装 39
3.7 访问深度图和RGB图像 40
3.8 第三维度 42
3.8.1 Processing的3D 42
3.8.2 摄像机控制库 45
3.8.3 KinectOrbit例子 46
3.9 Kinect空间 48
3.10 线性数组和2D数组 50
3.11 点云着色 51
3.12 NITE函数 52
3.12.1 手部跟踪 53
3.12.2 骨骼跟踪 54
3.13 总结 56
第4章 Arduino与Kinect的“Hello World” 57
4.1 Hello World的材料清单 57
4.2 串行通信 58
4.2.0 串行控制LED 59
4.3 编写自己的通信协议 63
4.3.0 串行控制LED 63
4.4 Kinect控制LED 65
4.5 Arduino的反馈 68
4.6 总结 73
第5章 Kinect遥控 74
5.1 体感遥控项目的材料清单 74
5.2 改装遥控器 75
5.3 把遥控器连接到Arduino 76
5.3.0 组装扩展开发板 78
5.4 电路测试 79
5.5 Kinect手部跟踪和手势识别 82
5.5.1 库与设置 82
5.5.2 NITE回调函数 85
5.5.3 draw()循环与其他函数 87
5.5.4 把Processing程序连接到Arduino 92
5.6 总结 92
第6章 用Kinect操纵木偶 93
6.1 木偶 94
6.1.1 舵机 94
6.1.2 建造舞台 97
6.1.3 制作木偶 99
6.2 搭建电路 100
6.2.1 测试舵机 102
6.2.2 设置舵机起始位置 105
6.3 屏幕上的姿态跟踪 107
6.3.0 Simple-OpenNI事件 109
6.4 角度计算 110
6.5 网络通信 114
6.5.1 在本地网络中通信 114
6.5.2 在互联网上通信 115<