本书旨在提高读者的创新能力、综合设计能力和动手实践能力,进而培养和提升读者的工程素养。本书希望读者在直接经验和科学理论的基础上,通过观察、思考、设计、制作、试验等活动获得丰富的学习体验,在学习中发现问题,在实践中解决问题,在创新中获得知识,同时结合最新的人工智能技术,创作出前沿的工程认知作品,为后续的学习打下良好基础。
本书共8章,包括计算机工程认知基础、Arduino编程入门、Arduino工程入门、基于Arduino的工程思维与项目设计方法、工程认知项目制作实例、基于Arduino与3D打印技术的机器人制作、机器人创新制作实例、工程伦理与工程认知实践新趋势。
本书可作为计算机类、电子信息类、自动化类及相关专业“工程认知”或相关课程的教材,也可作为Arduino初学者的参考书。
(1)Arduino理论与工程项目实践紧密结合,各类实践资源丰富。
(2)融入人工智能,融入跨学科知识实现各类实践。
(3)融入课程思政元素,多维度全面综合育人。
周勇:博士,中国矿业大学计算机科学与技术学院教授,博士生导师,院长,矿山数字化教育部工程研究中心主任,江苏省“333人才工程”和“六大人才高峰”培养对象。从事机器学习、人工智能、数据科学与工程等方面的理论与应用研究。近年来,出版专著1部;在国内外重要学术期刊和会议上发表学术论文60余篇;授权发明专利40余件。作为项目负责人,先后主持国家自然科学基金面上项目,江苏省自然科学基金,国家博士后科学基金和企业委托等项目20余项。主持建设国家一流课程、江苏省高校在线开放课程、江苏省教改重点项目、江苏省研究生教改项目和中国高等教育学会规划课题等教学研究项目10余项,主编江苏省十三五重点教材1部。获得教育部高等学校科技进步一等奖、辽宁省科技进步一等奖、中国煤炭工业协会科学技术二等和三等奖等5项。为科技部重点专项、国家自然科学基金和教育部学位评审中心评审专家;国家安监总局煤矿安全生产“十四五”规划编制工作专家组成员。担任中国计算机学会杰出会员,智能机器人专委会委员,人工智能与模式识别专委会委员,计算机应用专委会委员;中国人工智能学会知识工程与分布智能专业委员会委员,机器学习专业委员会委员;中国煤炭工业协会信息化分会理事;江苏省计算机学会副理事长;江苏省人工智能学会常务理事,智能系统与应用专业委员会主任;煤炭高等教育“十三五”、“十四五”规划教材计算机学科教材编审委员会副主任。
第 1章 计算机工程认知基础
1.1 计算机工程认知与工程思维综述 1
1.1.1 工程认知的概念 1
1.1.2 计算机工程认知概述 2
1.1.3 工程思维的内涵及工程思维能力的本质 4
1.2 工程实践平台 5
1.3 Arduino 7
1.3.1 Arduino概述 7
1.3.2 安装Arduino IDE 9
1.3.3 Arduino开发板使用流程 12
1.3.4 程序基本结构 12
1.4 本章小结 13
第 2章 Arduino编程入门
2.1 编程语言 14
2.1.1 关键字 14
2.1.2 运算符 15
2.1.3 注释符 17
2.2 数据类型、标识符、变量和常量 17
2.2.1 数据类型 17
2.2.2 标识符 18
2.2.3 变量 18
2.2.4 常量 18
2.3 运算符详解 19
2.3.1 数学运算符 19
2.3.2 逻辑运算符 21
2.3.3 位运算符 21
2.3.4 运算顺序 22
2.4 程序控制语句 22
2.4.1 条件语句 22
2.4.2 循环语句 23
2.4.3 循环控制语句 24
2.4.4 goto语句 25
2.5 Arduino基本程序结构 25
2.5.1 基本结构 25
2.5.2 setup()函数 25
2.5.3 loop()函数 26
2.6 函数 26
2.6.1 内置函数 26
2.6.2 自定义函数 35
2.7 库 36
2.7.1 安装库 36
2.7.2 库的引入 37
2.7.3 使用标准库 37
2.7.4 自定义库 38
2.8 本章小结 39
第3章 Arduino工程入门
3.1 走进Arduino工程设计 41
3.2 Arduino工程设计案例 42
3.2.1 LED闪烁实验 42
3.2.2 摇杆模块实验与继电器模块实验 44
3.2.3 水泵实验与火焰传感器实验 48
3.2.4 PWM灯光亮度调节与步进电机实验 52
3.3 本章小结 54
第4章 基于Arduino的工程思维与项目设计方法
4.1 Fritzing 56
4.1.1 Fritzing简介 56
4.1.2 Fritzing的使用 57
4.2 工程文档书写 59
4.2.1 什么是工程文档 60
4.2.2 工程文档的分类 60
4.2.3 如何编写工程文档 60
4.2.4 编写工程文档使用的软件 61
4.2.5 Markdown语法简介 61
4.3 团队合作与多团队协同开发 65
4.4 工程思维与项目设计方法 67
4.4.1 工程思维在Arduino工程实践中的体现 67
4.4.2 项目设计方法在Arduino工程实践中的实施 68
4.5 本章小结 70
第5章 工程认知项目制作实例
5.1 物联网背景下基于Arduino的娱乐
项目:机警战士项目的设计与实现 71
5.1.1 实例背景 71
5.1.2 系统整体设计 72
5.1.3 电路及程序实现 77
5.1.4 功能测试与验证 80
5.2 智能温湿度报警器 81
5.2.1 实例背景 81
5.2.2 系统整体设计 82
5.2.3 电路及程序实现 84
5.2.4 功能测试与验证 88
5.3 基于Arduino的雷达系统 89
5.3.1 实例背景 89
5.3.2 系统整体设计 90
5.3.3 雷达数据可视化 105
5.3.4 功能测试与验证 106
5.3.5 更多的思考 110
5.4 本章小结 110
第6章 基于Arduino与3D打印技术的机器人制作
6.1 3D打印技术简介 112
6.1.1 3D打印机 113
6.1.2 3D打印机软件系统介绍 113
6.1.3 3D打印工具 114
6.2 结合Arduino与3D打印技术的智能小车制作 116
6.2.1 基于Arduino与3D打印的智能植物小车总体设计 116
6.2.2 系统结构概述 117
6.2.3 系统硬件模块概述 117
6.2.4 3D打印智能植物小车部件 118
6.2.5 小车整体硬件组装与测试 119
6.2.6 小车软件设计与编程 125
6.2.7 完整小车系统调试 128
6.3 本章小结 130
第7章 机器人创新制作实例
7.1 矿山感知四足智能车制作 132
7.1.1 系统整体设计 132
7.1.2 车体部分 134
7.1.3 通信部分 135
7.1.4 硬件设计 136
7.1.5 外围器件 138
7.1.6 软件设计 143
7.1.7 小结 145
7.2 基于Arduino与树莓派的自动驾驶
小车 146
7.2.1 实例背景 146
7.2.2 系统整体设计 146
7.2.3 功能测试和验证 169
7.2.4 小结 172
第8章 工程伦理与工程认知实践新趋势
8.1 工程伦理 174
8.1.1 引言 174
8.1.2 工程伦理的定义 174
8.1.3 工程伦理的重要性 174
8.1.4 工程伦理的实践 175
8.1.5 小结 175
8.2 工程认知与人工智能 175
8.2.1 引言 175
8.2.2 人工智能简史 176
8.2.3 人工智能在工程领域的应用 177
8.2.4 人工智能在工程领域中面临的挑战 180
8.3 工程认知实践 181
附录 主要工程认知类竞赛介绍 183
参考文献 184