第1部分 基础 2
第1章 电流 2
1.1 变换:电流基础知识 2
1.2 电流和电子 3
1.3 电流的流动方式 4
第2章 购买零件 6
2.1 无焊实验电路板 6
2.2 微控制器 6
2.2.1 微控制器的特性(按优先顺序) 7
2.2.2 高级微控制器模块 8
2.2.3 中级微控制器模块 9
2.2.4 低级解决方案 9
2.3 常用元件 10
2.3.1 开关 10
2.3.2 电阻器 11
2.3.3 可变电阻器 12
2.3.4 电容器 13
2.3.5 二极管 13
2.3.6 晶体管和继电器 15
2.4 电线 15
2.5 电源 16
2.6 电源连接器 16
2.7 电压调节器 17
2.8 RC伺服电机 17
2.9 串行连接器 17
2.10 串行电缆 18
2.11 时钟晶体 18
2.12 端板 18
2.13 项目箱 18
2.14 扎线带 19
2.15 USB-串行适配器 19
2.16 工具 20
2.17 购物清单 22
2.18 把一切都拿回家 26
第3章 构建电路 27
3.1 示意图 27
3.2 连接符号 27
3.3 电源符号 28
3.4 找到示意图 28
3.5 实验电路板 29
3.6 微控制器的安装位置 30
3.7 把示意图转换成电路 30
3.8 使用万用表 32
3.9 焊接 34
3.10 给实验电路板加电 35
3.10.1 用快速而拙劣的方法连接 35
3.10.2 用专业的方法连接 36
3.10.3 电压调节器 37
3.11 保持整洁 39
第4章 微控制器 41
4.1 “Hello World!”是难点 41
4.2 微控制器的安装位置 41
4.2.1 输入 41
4.2.2 输出 42
4.3 确定从输入到输出的路线 42
4.4 标识微控制器的引脚 42
4.5 低级微控制器:外部时钟 44
4.6 第一条基于微控制器的电路 45
4.7 把程序输入芯片 46
4.8 为类Stamp的模块编程 47
4.8.1 类Stamp的编程硬件连接 47
4.8.2 类Stamp的编程软件环境 48
4.9.1 硬件编程器 50
4.9.2 低级编程软件环境 50
4.9 为低级芯片编程 50
4.10 调试 53
第5章 编程 54
5.1 好消息 54
5.2 流程控制:计算机读取程序的方式 54
5.3 循环 55
5.4 If语句 56
5.5 变量 56
5.6 内置例程:子例程和函数 59
5.7 自制的例程 62
5.8 高级循环:While-Wend和For-Next 63
5.8.1 While-Wend或Do-While 64
5.8.2 For-Next 65
5.9 伪代码 66
5.11 调试 68
5.10 指令 68
5.12 良好的调试习惯 70
5.13 坏消息 71
第6章 示意图、程序和变换器 72
6.1 数字输入 72
6.1.1 变换器:开关 72
6.1.2 数字输入电路 74
6.1.3 编程 75
6.2.1 变换器 79
6.2 数字输出 79
6.2.2 电路 82
6.2.3 编程 84
6.3 模拟输入 85
6.3.1 变换器 85
6.3.2 电路 86
6.3.3 编程 89
6.4.1 输出的脉冲宽度调制 93
6.4 模拟输出 93
6.3.4 输入的脉冲宽度调制 93
6.4.2 调暗LED 95
6.4.3 DC电机速度控制 96
6.4.4 产生音调 97
6.4.5 RC伺服电机 102
6.5 从模拟输入到模拟输出:换算函数 107
6.6 结束语 114
第7章 在计算机之间通信 115
7.1 物理协议 115
7.2 定时协议 117
7.3 电气协议 117
7.4 数据包尺寸 118
7.5 数字或字母:使用ASCII码 118
7.6 适合微控制器的软件 120
7.7 微控制器的串行输出 120
7.9 用终端软件测试 126
7.8 用LED测试 126
7.10 微控制器的串行输入 127
7.11 串行冻结和阻塞功能 129
7.12 你的专用协议 131
7.12.1 标点符号 131
7.12.2 呼叫和应答 132
7.13 发送更大的数 135
7.13.1 用文本发送数 135
7.13.3 用多个字节发送大数 136
7.13.2 数的换算 136
7.14 多媒体计算机上的串行通信 137
7.14.1 Lingo中的串行通信 138
7.14.2 Processing中的串行通信 143
7.14.3 Java中的串行通信 146
7.14.4 Max/MSP中的串行通信 150
7.15 结束语 152
8.1 会话:听、说和思考 154
8.1.1 听 154
第8章 物理交互设计或礼貌会话技术 154
第2部分 高级方法 154
8.1.2 说 156
8.2 复杂的响应 158
8.2.1 随机数 159
8.2.2 思考 160
8.3 有效交互的技术 160
8.3.1 多任务 160
8.3.2 边缘检测 165
8.3.3 模拟传感器:阈值、边缘和峰值 169
8.3.4 消除抖动 174
8.3.5 平滑、采样和求平均值 176
8.4 结束语 183
第9章 检测运动 185
9.1 问题评估 185
9.2 测距传感器的工作原理 186
9.3 检测存在 187
9.3.1 脚踏开关 188
9.3.2 光电开关 188
9.3.3 运动检测器 188
9.3.4 磁力开关 189
9.4 判断位置 190
9.4.1 红外线传感器 190
9.4.2 超声波传感器 192
9.4.3 其他位置传感器 194
9.5 测定旋转 195
9.5.1 电位计 195
9.5.2 加速计 196
9.5.3 罗盘仪 199
9.5.4 编码器 199
9.6 转速 200
9.7 视频跟踪 200
9.7.1 Director MX中的视频跟踪 203
9.7.2 Max/MSP中的视频跟踪 205
9.7.3 Processing中的视频跟踪 206
9.7.4 Java中的视频跟踪 207
9.7.5 CMUcam 210
9.8 身份 211
9.9 结束语 212
第10章 产生运动 213
10.1 运动的类型和电机的类型 213
10.2 电机的特性 214
10.3 电机的特殊电气需求 215
10.3.1 感性负载和反电压 215
10.3.2 使用去耦电容器滤平电流降 217
10.4 控制电机 217
10.4.1 控制直流电机和齿轮头电机 218
10.4.2 控制RC伺服电机 221
10.5 控制步进电机 222
10.5.1 单极步进电机 223
10.5.2 双极步进电机 225
10.6 控制螺线管 230
10.7 基本机械学:将电机运动转换为可用运动 232
10.7.1 简单机械 233
10.7.2 接头 237
10.7.3 连接 239
10.8 制造 241
10.8.1 发泡芯材 241
10.8.2 家用塑料制品 241
10.8.3 木材 241
10.8.4 有机玻璃 241
10.8.5 粘合剂 242
10.8.6 玩具器材 242
10.8.7 黑布 242
10.9 结束语 242
第11章 触觉 244
11.1 力敏电阻器 244
11.2 弯曲传感器 245
11.4 使用电容传感器检测触摸 246
11.3 压力传感器 246
11.5 现成的触摸接口 247
11.6 使用压电传感器检测振动 248
11.7 产生振动 249
11.8 测量温度 250
11.9 冷却和加热 250
11.10 获得皮肤下面的信息 251
11.11 力反馈 252
11.12 结束语 252
第12章 设备之间的其他通信方式 253
12.1 同步和异步通信 253
12.2 异步串行协议 254
12.3 学习协议 254
12.5 全球定位系统(GPS)的数据 256
12.5.1 寻找GPS接收机 256
12.4 RS-232设备 256
12.5.2 学习GPS协议 257
12.6 MIDI 259
12.6.1 MIDI的物理和电气连接 260
12.6.2 发送MIDI消息 263
12.7 连接到Internet 269
12.7.1 使用CoBox Micro的网络连接 270
12.7.2 Lingo中的网络连接 280
12.7.3 Processing中的网络连接 283
12.8 使用调制解调器通过电话线进行连接 285
12.9 特殊功能的芯片和模块 286
12.10 同步串行协议 288
12.11 无线串行通信 295
12.12 红外线串行通信 296
12.13 射频串行通信 298
12.13.1 蓝牙协议 299
12.13.2 无线以太网 301
12.14 结束语 302
12.13.3 无线以太网的安全性 302
第13章 控制声音和灯光 303
13.1 声音 303
13.1.1 声音输入 304
13.1.2 在微控制器上合成声音 308
13.1.3 语音 309
13.1.4 电话声音 310
13.2 光 313
13.2.1 光传感器 313
13.2.2 直流照明控制 314
13.2.3 交流照明控制 315
13.3 屏幕图形 318
13.3.1 控制字符显示 318
13.3.2 控制视频显示 319
13.4 多媒体计算机上的线性媒体 324
13.5 微控制器上的线性媒体 324
13.6 单板计算机 327
13.7 结束语 328
第14章 管理多路输入和输出 329
14.1 并行地设置引脚组 329
14.2 按位运算 333
14.3 引脚数量的问题 335
14.4 电阻阶梯用做模拟输入 335
14.5 行列扫描 336
14.5.1 行列扫描式模拟输入 341
14.5.2 行列扫描式输出 342
14.6 移位寄存器 343
14.7 多路复用器 349
14.8 锁存器 353
14.9 结束语 357
附录 360
附录A 选择微控制器 360
附录B 推荐的供应商 365