入门篇 3
第1课 机器人概述 3
1.1 机器人的起源 3
1.1.1 哲学起源 3
1.1.2 工程学起源 7
1.2 机器人的定义 7
1.3 机器人的发展 8
1.3.1 第一代机器人 9
1.3.2 第二代机器人 9
1.3.3 第三代机器人 10
1.4 机器人的基本构成 10
1.4.1 机械本体 10
1.4.2 驱动装置 10
1.4.3 检测装置 11
1.4.4 控制系统 11
1.5 机器人的分类 12
1.5.1 工业机器人 12
1.5.2 军用机器人 13
1.5.3 服务机器人 13
1.5.4 危险作业机器人 14
1.5.5 农业机器人 14
1.5.6 娱乐机器人 14
1.5.7 机械外骨骼 15
1.5.8 虚拟机器人 15
1.6 “创新制作”概念下的机器人 16
第2课 制作器材和静态造型设计 19
2.1 认识我们的制作器材 19
2.1.1 连杆类零件 20
2.1.2 平板类零件 20
2.1.3 框架类零件 21
2.1.4 辅助类零件 21
2.1.5 空间关系 22
2.1.6 零件库的生成与管理 24
2.2 静态造型设计 25
2.2.1 刚体结构 25
2.2.2 可动结构 25
2.2.3 机构造型设计练习 26
第3课 电子设计基础 28
3.1 电容 28
3.1.1 电容器的型号命名方法 29
3.1.2 电容器的分类 29
3.1.3 常用电容器 29
3.1.4 电容器主要特性参数 32
3.1.5 电容器参数的基本公式 32
3.1.6 电解电容的电参数 34
3.1.7 电容器容量标示 35
3.1.8 电容的作用 36
3.1.9 电容的选择 37
3.1.10 多层陶瓷电容(MLCC) 37
3.1.11 钽电容替代电解电容的误区 38
3.1.12 旁路电容的应用问题 38
3.1.13 电容的等效串联电阻ESR 39
3.1.14 电源输入端的X,Y安全电容 39
3.2 二极管 40
3.2.1 二极管概述 40
3.2.2 二极管的工作原理 42
3.2.3 半导体分立元器件命名方法 42
3.2.4 二极管的特性 43
3.2.5 特殊二极管 46
3.2.6 二极管的应用 46
3.2.7 二极管的类型 47
3.2.8 半导体二极管的极性判别及选用 55
3.2.9 几种常用二极管的特点 61
3.2.10 电路设计中二极管选用准则 63
3.3 电感 64
3.3.1 电感器的作用与电路图形符号 65
3.3.2 电感器的结构与特点 65
3.3.3 电感器的种类 66
3.3.4 电感线圈的主要特性参数 67
3.3.5 常用线圈 69
3.3.6 自感与互感 70
3.3.7 最小值与最大值 70
3.3.8 共模电感 71
3.4 电阻 74
3.4.1 电阻的型号命名方法 74
3.4.2 电阻器的分类 75
3.5.3 主要特性参数 75
3.4.4 电阻器阻值标示方法 75
3.4.5 电阻作用 77
第4课 机械原理模块(1) 78
4.1 功能模块的核心——直流电机 78
4.1.1 直流电机组成结构 78
4.1.2 直流电动机主要分类 79
4.2 底盘的基本单元——驱动轮 82
4.3 另一种轮子——转动机构 84
4.4 仿生的基本单元——连杆组与偏心轮 84
4.4.1 连杆组 84
4.4.2 偏心轮 86
4.5 机械的形象大使——齿轮组 88
第5课 认识主控板 90
5.1 走进Arduino 的世界 90
5.1.1 什么是Arduino 90
5.1.2 Arduino板子种类 90
5.1.3 Arduino click 90
5.2 Arduino 单片机 91
5.2.1 Arduino单片机结构 92
5.2.2 CPU内核 95
5.2.3 存储器 99
5.2.4 系统时钟 104
5.2.5 电源管理及休眠模式 105
5.2.6 系统控制和复位 107
5.2.7 看门狗定时器 111
5.2.8 I/O端口 113
5.3 Arduino IDE安装 115
5.4 Arduino驱动的安装 116
5.5 Click,C1ick——按键就能控制 119
5.6 Teaching Programming——按键就能编程 120
5.7 认知Arduino与Minds控制板 121
5.7.1 Minds控制板 121
5.7.2 Arduino IDE安装 122
5.7.3 Arduino系列板卡驱动的安装 123
5.7.4 体验Arduino 125
5.8 闪烁LED 127
5.8.1 任务导航 127
5.8.2 材料阅读 127
5.8.3 动手操作 129
5.8.4 探究思考 130
5.9 走直线小车 131
5.9.1 任务导航 131
5.9.2 材料阅读 131
5.9.3 动手操作 131
5.9.4 探究思考 133
5.9.5 视野拓展 133
5.9.6 挑战自我 133
5.10 避障小车 133
5.10.1 任务导航 134
5.10.2 材料阅读 134
5.10.3 动手操作 134
5.10.4 探究思考 135
5.10.5 视野拓展 135
5.10.6 挑战自我 137
第6课 简单的传感器 138
6.1 传感器的定义 138
6.2 传感器的作用 138
6.3 传感器的特点 139
6.3.1 传号感器静态 139
6.3.2 传感器动态 139
6.4 传感器的组成 139
6.5 传感器的分类 140
6.5.1 按用途分类 140
6.5.2 按原理分类 140
6.5.3 按输出信号分类 140
6.5.4 按制造工艺分类 140
6.5.5 按测量目的分类 140
6.5.6 按构成分类 141
6.5.7 按作用形式分类 141
6.6 常用种类的传感器 141
6.6.1 电阻式传感器 141
6.6.2 变频功率传感器 142
6.6.3 称重传感器 142
6.6.4 激光传感器 143
6.6.5 霍尔传感器 145
6.6.6 温度传感器 145
6.6.7 无线温度传感器 146
6.6.8 智能传感器 146
6.6.9 光敏传感器 147
6.6.10 生物传感器 147
6.6.11 视觉传感器 147
6.6.12 位移传感器 148
6.6.13 压力传感器 148
6.6.14 超声波测距离传感器 149
6.6.15 24GHz雷达传感器 149
6.6.16 一体化温度传感器 149
6.6.17 液位传感器 150
6.6.18 真空度传感 150
6.6.19 电容式物位传感器 151
6.6.20 锑电极酸度传感器 151
6.6.21 酸、碱、盐浓度传感器 151
6.6.22 电导传感器 152
6.6.23 火焰传感器 152
6.7 简单的传感器 153
6.7.1 触碰传感器 153
6.7.2 触须传感器 153
6.7.3 声控传感器 154
6.7.4 近红外传感器 154
6.7.5 光强传感器 155
6.7.6 闪动传感器 156
6.7.7 示教循迹——黑标/白标传感器 156
6.8 悬崖识别——传感器的综合应用 158
第7课 编程入门 160
7.1 编程语言基础 160
7.2 C语言简介 160
7.3 数据类型 161
7.3.1 C语言中的数据类型 161
7.3.2 变量 162
7.3.3 整型数据 165
7.3.4 浮点型数据 170
7.3.5 字符型数据 172
7.3.6 数据类型转换 174
7.3.7 C算术运算符和算术表达式 176
7.4 C语言中头文件的概念 181
7.5 C语言中函数的概念 182
7.6 C语言的选择结构 183
7.6.1 关系运算符及其优先次序 183
7.6.2 关系表达式 184
7.6.3 逻辑运算符及其优先次序 184
7.6.4 逻辑表达式 185
7.6.5 单分支选择语句 185
7.6.6 双分支选择语句 186
7.6.7 多分支选择语句 190
7.6.8 选择结构程序设计例 192
7.7 C语言的循环结构 194
7.7.1 while循环 194
7.7.2 do while循环 195
7.7.3 for循环 196
7.7.4 break吾句 198
7.7.5 continue吾句 200
7.8 数组 203
7.8.1 一维数组的定义及初始化 203
7.8.2 二维数组的定义及初始化 206
7.8.3 字符数组的定义及初始化 209
7.8.4 字符串函数 210
7.9 预处理命令 216
7.9.1 #include命令 217
7.9.2 宏定义 217
7.9.3 带参数的宏定义 220
7.9.4 条件编译 222
7.10 指针 225
7.10.1 地址和指针的概念 225
7.10.2 指针变量和指向变量的指针变量 226
7.10.3 数组与指针 235
7.10.4 字符串与指针 240
7.10.5 指针型函数 243
7.10.6 指针数组 245
7.10.7 指向指针的指针 248
7.11 结构体与共用体 250
7.11.1 结构体变量 250
7.11.2 结构体数组 253
7.11.3 指向结构体类型数据的指针 254
7.11.4 共用体 258
7.11.5 枚举类型 259
7.11.6 用typedef定义类型 260
7.12 位运算符和位运算 261
第8课 C++编程 265
8.1 C++历史简介 265
8.2 C++的优点 266
8.3 C++面向对象的编程 267
第9课 Java概述 271
9.1 Java语言概述 271
9.2 Java语言的特点 272
9.3 Java面向对象编程 273
9.3.1 面向对象思想介绍 273
9.3.2 面向对象程序编写 274
第10课 创客的开源工具——Arduino 276
10.1 配置编程环境 276
10.1.1 C语言界面 276
10.1.2 图形化界面 277
10.1.3 常用图块与函数 278
10.2 Hello World——我的第一个程序 279
10.3 blink程序 283
10.4 呼吸灯程序 283
第11课 控制电机和小车 286
11.1 驱动直流电机 286
11.2 双轮万向小车的组装 287
11.3 左转右转原地转——编程控制一个双轮小车 288
11.4 编程思想 288
11.5 各种轮式底盘的设计 290
第12课 避障与循迹 293
12.1 if…else语句 293
12.2 红外避障小车 294
12.3 黑标循迹小车 298
进阶篇 302
第13课 机械原理模块(2) 302
13.1 棘轮与棘爪 302
13.2 轮系机构 303
13.2.1 机器四足兽 304
13.2.2 变形车 304
13.2.3 机器蜥蜴 304
13.3 连杆伸缩结构 305
13.4 舞动的机械——空间连杆 305
13.5 履带模块 306
第14课 进阶级主控板 308
14.1 电子堆堆乐——主控板与扩展板 308
14.2 接口与功能 309
14.3 连接直流电动机和传感器 311
第15课 摆动和关节模块 313
15.1 驱动伺服电动机 313
15.1.1 简介 313
15.1.2 舵机的控制方法 313
15.1.3 舵机的原理 314
15.2 各种摆动机构举例 315
15.3 串联式机器人单元——关节模块 316
15.4 二自由度云台 317
第16课 机械臂 319
16.1 组装机械手爪 319
16.2 机械手爪的不同方案 319
16.3 for循环的应用——机械手爪控制 320
16.4 三自由度机械臂的组装 322
16.5 三自由度机械臂的控制 323
第17课 电子模块的串口监测 329
17.1 串口监视器 329
17.2 数字量监测 331
17.3 模拟量监测 332
17.4 蓝牙模块 333
第18课 超声测距传感器 336
18.1 参数与功能简介 336
18.2 串口监视器测值 338
18.3 测距算法详解 338
18.4 超声雷达 341
第19课 加速度传感器 347
19.1 参数与功能简介 347
19.2 串口监视器测值 347
19.3 姿态控制系统 349
第20课 颜色识别传感器 351
20.1 参数与功能简介 351
20.2 串口监视器测值 353
20.3 颜色识别系统 355
第21课 温湿度传感器 362
21.1 参数与功能简介 362
21.2 串口监视器测值 362
21.3 简易温控系统 365
第22课 简易仿生机器人 367
22.1 机器恐龙的组装 367
22.2 简易4足机器人的组装 367
22.3 齿轮式四足机器人的组装 369
22.4 六足机器人的组装 369
22.5 仿生昆虫触须避障 370
第23课 摇杆模块 371
23.1 参数与功能简介 371
23.2 控制直流电动机 371
23.3 贪食蛇游戏机 373
23.4 Birdmen扩展板 376
第24课 月球车模型 377
24.1 月球车模型的机械设计 377
24.2 手机端控制方法 377
24.3 源代码 379