第一篇 构思篇 3
第1章 CDIO概述 3
1.1 什么是CDIO 4
1.2 CDIO工程教育方法简介 5
1.2.1 CDIO课程大纲 5
1.2.2 CDIO方法标准 6
1.2.3 CDIO方法特点 10
1.3 CDIO在中国的发展 11
1.4 CDIO发展面临的问题 14
第2章 创新概述 15
2.1 什么是创新 15
2.2 创新模式 16
2.2.1 Living Lab 17
2.2.2 TRIZ 20
2.2.3 Fab Lab 23
2.3 创新思维方法 25
2.3.1 头脑风暴法 25
2.3.2 思维导图法 27
2.3.3 列举法 27
2.3.4 六顶思考帽法 29
2.3.5 移植法 29
2.3.6 设问法、QFD等创新方法 30
第二篇 设计篇 35
第3章 程序设计方法 35
3.1 流程图 35
3.1.1 流程图标准符号 35
3.1.2 流程图基本结构 37
3.2 N-S图 38
3.3 PAD图 40
第4章 EDA设计工具 42
4.1 Fritzing 42
4.1.1 软件简介 42
4.1.2 软件用法简介 51
4.1.3 Arduino电路示例 61
4.1.4 Arduino样例支持与编程 67
4.2 Virtual Breadboard 70
4.2.1 软件简介 71
4.2.2 软件用法简介 77
4.3 Proteus 80
4.3.1 软件简介 80
4.3.2 软件用法简介 84
4.3.3 Arduino示例 107
4.4 EAGLE 111
4.4.1 软件简介 112
4.4.2 软件用法简介 116
4.4.3 Arduino元件库导入 128
第三篇 实现篇 137
第5章 开源硬件的概述 137
5.1 开源硬件的概念 137
5.2 主流开源硬件简介 138
5.2.1 Arduino 138
5.2.2 Raspberry Pi 140
5.2.3 BeagleBone 140
5.2.4 Netduino 141
第6章 Arduino平台 143
6.1 Arduino的特点 143
6.2 Arduino开发环境 143
6.2.1 Arduino IDE的安装 143
6.2.2 Arduino IDE的使用 146
6.3 编程语言 149
6.3.1 Arduino编程基础 149
6.3.2 数字I/O口的操作函数 149
6.3.3 模拟I/O口的操作函数 150
6.3.4 高级I/O Pulseln(pin, state, timeout) 151
6.3.5 时间函数 152
6.3.6 中断函数 154
6.3.7 串口通信函数 156
6.3.8 Arduino的库函数 157
第7章 Arduino数据采集 159
7.1 温湿度采集 159
7.1.1 原理 159
7.1.2 实验代码 159
7.2 水位采集 161
7.2.1 原理 161
7.2.2 实验代码 162
7.3 光强采集 162
7.3.1 原理 162
7.3.2 实验代码 164
7.4 气体传感器 165
7.4.1 原理 165
7.4.2 实验代码 166
7.5 超声波传感器 166
7.5.1 原理 166
7.5.2 实验代码 167
7.6 压力传感器 169
7.6.1 原理 169
7.6.2 实验代码 170
7.7 风速传感器 171
7.7.1 原理 171
7.7.2 实验代码 171
7.8 拍照模块 172
7.8.1 原理 172
7.8.2 实验代码 173
第8章 Arduino显示控制 176
8.1 LED 176
8.1.1 原理 176
8.1.2 电路图 177
8.1.3 实验代码 177
8.2 数码管 178
8.2.1 原理 178
8.2.2 电路图 178
8.2.3 实验代码 180
8.3 点阵 184
8.3.1 原理 184
8.3.2 点阵的使用方法 184
8.3.3 实验代码 185
8.4 液晶LCD 187
8.4.1 原理 187
8.4.2 电路图 187
8.4.3 引脚扩展 189
8.4.4 实验代码 189
第9章 Arduino电流控制 194
9.1 直流电机 194
9.1.1 原理 194
9.1.2 电路图 195
9.1.3 实验代码 195
9.2 步进电机 196
9.2.1 原理 196
9.2.2 电路图 197
9.2.3 实验代码 197
9.3 舵机 198
9.3.1 原理 198
9.3.2 电路图 198
9.3.3 实验代码 199
9.4 继电器 199
9.4.1 原理 199
9.4.2 电路图 200
9.4.3 实验代码 201
第10章 Arduino通信控制 202
10.1 SPI串口通信 202
10.1.1 原理 202
10.1.2 电路图及使用 202
10.1.3 实验代码 203
10.2 红外线通信 206
10.2.1 原理 206
10.2.2 电路图及使用 207
10.2.3 实验代码 207
10.3 RFID通信 209
10.3.1 原理 209
10.3.2 电路图及使用 210
10.3.3 实验代码 210
10.4 Ethernet通信 220
10.4.1 原理 220
10.4.2 电路图及使用 221
10.4.3 实验代码 222
10.5 WiFi通信 228
10.5.1 原理 228
10.5.2 电路图及使用 229
10.5.3 实验代码 229
10.6 B1ueTooth通信 232
10.6.1 原理 232
10.6.2 电路图及使用 233
10.6.3 实验代码 234
10.7 XBee通信 235
10.7.1 原理 235
10.7.2 电路图及使用 235
10.7.3 实验代码 238
第四篇 应用篇 243
第11章 游戏类开发 243
11.1 Jumping Pong 243
11.1.1 功能构思 243
11.1.2 设计原理 244
11.1.3 参考代码 246
11.2 打地鼠游戏机 261
11.2.1 功能构思 261
11.2.2 设计原理 261
11.2.3 参考代码 262
第12章 控制类开发 265
12.1 蓝牙控制智能车 265
12.1.1 功能构思 265
12.1.2 设计原理 265
12.1.3 参考代码 266
12.2 可抓取机械手臂 270
12.2.1 功能构思 270
12.2.2 设计原理 270
12.2.3 参考代码 271
第13章 交互类开发 273
13.1 虚拟架子鼓 273
13.1.1 功能构思 273
13.1.2 设计原理 273
13.1.3 参考代码 275
13.2 触摸按键交互设计 279
13.2.1 功能构思 279
13.2.2 设计原理 279
13.2.3 参考代码 281
第14章 物联网开发 283
14.1 植物生长助手 283
14.1.1 功能构思 283
14.1.2 设计原理 284
14.1.3 参考代码 285
14.2 环境信息采集系统 291
14.2.1 功能构思 291
14.2.2 设计原理 291
14.2.3 参考代码 293
14.3 家居灯光控制系统 298
14.3.1 功能构思 298
14.3.2 设计原理 298
14.3.3 参考代码 299
第15章 智慧农业设计与开发 301
15.1 简介 301
15.2 系统逻辑结构图 302
15.3 开发板选型 303
15.3.1 开发板简介 303
15.3.2 参考代码 304
15.4 感知层的设计 307
15.4.1 流程图 308
15.4.2 Arduino的GET、POST程序 308
15.5 平台层的设计 313
15.5.1 创建RESTFul WCF服务 314
15.5.2 相关数据库设计 316
15.5.3 平台数据接口开发 318
15.5.4 Fiddler测试REST服务 319
15.5.5 编写平台图片数据接收 321
15.5.6 Arduino请求平台 322
附录A Fritzing安装流程 324
附录B Virtual Breadboard安装流程 326