《Arduino技术及应用(微课视频版)》以Arduino Uno R3开发板为硬件平台,沿着“基础知识→模块实验→电路设计→项目实战”的思路,由浅入深、先易后难地讲述了Arduino开发技术。基础知识部分(第1~4章)介绍了Arduino技术的基本概念、原理、硬件开发环境和软件开发语言。模块实验部分(第5~14章)是Arduino技术涉及的各模块实验,是项目实战部分的基础,讲述常用传感器、I/O设备等经典的Arduino模块实验。电路设计基础部分(第15章)以立创EDA为实验平台,详细讲解了从电路原理图绘制到PCB制作的全过程,为项目实战打下良好的电路设计仿真及工程研发基础。项目实战部分(第16章)是基于Arduino的智能小车项目,详细讲解了项目背景、系统架构设计、模块设计、硬件设计等项目研发流程,最终完成了系统的单片机、PC和手机端软硬件系统的研发全过程。《Arduino技术及应用(微课视频版)》还配套了教学大纲、教学计划、教学课件、程序代码以及微课视频。
《Arduino技术及应用(微课视频版)》可作为高等院校电子信息、物联网、计算机等相关专业的教材,也可作为创客机构、青少年科技创新辅导部门的参考书,更是开源硬件及电子创客爱好者的入门宝典。
前言
伴随着信息时代的高速发展,5G技术、人工智能、移动互联网、物联网、智能硬件给社会带来了巨大冲击,个性化、定制化和时尚化的智能硬件已经成为未来的发展趋势。智能硬件和开源硬件的爱好者们都梦想能够拥有一款易上手、易扩展、功能强大的智能硬件开发平台和易学易懂的教材。作者身处大学校园,感受到当今开源硬件发展的潮流汹涌,基于工程教育教学经验,探索了创新工程教育的基本方法,推出了具有自身特色的创新实践教材——《Arduino技术及应用(微课视频版)》。
视频讲解
本书以Arduino作为实验平台,全方位介绍了Arduino智能硬件开发的案例。Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。Arduino的软硬件设计资料全面开放,已经构成一个可供用户搭建机器人及各类电子项目的开发环境。开源硬件使得人们可以更容易、更便捷地开发自己的产品,开发者可以直接下载电路图和源代码,既可直接使用,也可自己动手实现所需要的功能。
国内Arduino方面的书籍多为单纯的纸质参考书,搭配有完整教学讲解视频的还非常少; 同时大多数书籍为应用类的图书,适用于教学的教材较少。本书正是为了满足此方面的需求而编写,而且作者向书和视频均倾注了大量的日常教学经验与心得。本书配套了教学大纲、教学计划、教学课件、程序代码以及针对理论知识点、实验操作、项目实战的讲解微课视频,可作为电子信息、物联网、计算机等专业开源硬件课程的教材,也是信息技术类的大学生创新创业训练计划项目、高校创新创业教育、大学生计算机设计大赛、物联网大赛、课程设计(实习)、毕业设计等必备的参考教材。
本书的最大特点是通过“基础知识→模块实验→电路设计→项目实战”的思路,以教材内容为主、微课视频为辅的方式,由浅入深、先易后难、先简单后综合地引导读者进行学习和逐步提高,分阶段、分步骤地激发读者的学习兴趣。书中第1~4章基础知识部分按照课堂理论讲解方法阐述; 第5~14章模块实验部分按照实验课模式展开; 第15章电路设计基础部分采用“理论讲解+实践操作”方式进行讲述; 第16章项目实战部分按照真实工程项目研发流程演进。为便于入门级读者及非专业的爱好者阅读,书中添加了许多技术小贴士,帮助读者扩展实验知识; 还配套了元器件清单及程序代码等,便于读者自学。
本书配套资源:
资源下载
教学大纲、教学课件、程序代码等资源,可扫描此处二维码下载或到清华大学出版社官方网站本书页面下载。
微课视频(53个,共450分钟),可扫描书中各章节对应位置二维码观看。
(注意: 第一次扫描书中二维码时,请先刮开封底的刮刮卡,扫描其中的二维码进行注册,注册之后即可获取相关资源。)
本书共16章,建议教学学时为64学时,其中理论32学时,实验32学时(其中模块实验20学时,综合实验12学时)。
本书由河北地质大学李明亮教授组织编写。第1~4章由李明亮编写,第5~9章由李宏伟编写,第10~14章由翟雨编写,第15章和第16章由周永旭编写。李明亮和周永旭完成了全部书稿的统筹及审核工作。
希望读者在学习完本书后能自己动手进行Arduino的开发,也希望本书能为读者带来精彩的技术人生。
衷心感谢中国移动通信集团设计院有限公司张茹娜、北京工业大学硕士研究生孙大鹏在本书撰写中给予的帮助; 感谢河北地质大学肖震霞老师为本书插图设计所做的大量工作; 感谢曾经在本书撰写过程中提供过帮助的人们。
最后,要特别感谢清华大学出版社的大力支持,如果没有他们的努力和辛勤劳动,这本书是不会这么快出版的。
由于时间仓促,加之作者水平有限,书中难免有不足之处,欢迎广大读者批评指正,有兴趣的读者可发送邮件到workemail6@163.com与我们联系。
说明: 本书第15章为软件操作介绍,所用电路图中的元器件符号保持与实际软件中的元器件符号一致。
作者
2020年10月
第1部分基 础 知 识
第1章Arduino概述
1.1Arduino起源
1.2Arduino可以做什么
1.3为什么用Arduino
1.4Arduino开源文化
1.5Arduino发展趋势
1.5.1创客文化
1.5.2快速原型设计
1.6Arduino趣味实例
1.7课后问答
1.8本章小结
第2章Arduino硬件资源
2.1核心芯片
2.2典型开发板
2.2.1Arduino Uno
2.2.2Arduino Nano
2.2.3Arduino ProMini
2.2.4Arduino Leonardo
2.2.5Arduino Mega2560
2.2.6Arduino Due
2.2.7Arduino Micro
2.3典型扩展板
2.3.1Proto Shield原型开发板
2.3.2GPRS Shield扩展板
2.3.3Arduino Ethernet W5100 R3 Shield网络扩展板
2.3.4WizFi210扩展板
2.3.5Arduino L298N电机驱动扩展板
2.3.6Arduino传感器扩展板
2.3.7Arduino I/O扩展板
2.4简单认识其他不同型号的Arduino控制器
2.4.1Arduino Zero
2.4.2Arduino兼容控制器
2.4.3衍生控制器
2.5课后问答
2.6本章小结
第3章开发环境
3.1开发环境概述
3.2集成开发环境
3.2.1Windows环境搭建
3.2.2Mac OS X环境搭建
3.3驱动安装
3.4IDE基本操作
3.4.1菜单
3.4.2快捷键
3.5程序输入、编译及下载
3.6开发环境常见问题
3.7课后问答
3.8本章小结
第4章Arduino语言
4.1Arduino语言概述
4.1.1标识符
4.1.2关键字
4.1.3Arduino语言运算符
4.1.4Arduino语言控制语句
4.1.5Arduino语言基本结构
4.2Arduino基本函数
4.2.1数字I/O
4.2.2模拟I/O
4.2.3高级I/O
4.2.4时间函数
4.2.5数学函数
4.2.6三角函数
4.2.7随机数函数
4.2.8外部中断函数
4.2.9中断使能函数
4.2.10串口收发函数
4.2.11附表
4.3Arduino库函数
4.3.1库函数概述
4.3.2常用库函数
4.4课后问答
4.5本章小结
第2部分模 块 实 验
第5章炫酷LED灯
5.1实验原理
5.2材料清单及数据手册
5.2.1材料清单
5.2.2核心元件数据手册
5.3硬件连接
5.4程序设计
5.4.1设计思路及流程图
5.4.2程序源码
5.5调试及实验现象
5.6代码回顾
5.7拓展实验
5.8拓展实验调试及现象
5.9技术小贴士
5.9.1解析LED正负极判别方法
5.9.2LED分类
第6章按键开关输入
6.1实验原理
6.2材料清单
6.3硬件连接
6.4程序设计
6.4.1设计思路及流程图
6.4.2程序源码
6.5调试及实验现象
6.6拓展实验
6.7拓展实验调试及现象
6.8技术小贴士
第7章火焰传感器
7.1实验原理
7.2材料清单及数据手册
7.2.1材料清单
7.2.2火焰传感器的数据手册
7.3硬件连接
7.4程序设计
7.5调试及实验现象
第8章温度与湿度监测
8.1实验原理
8.2材料清单及数据手册
8.2.1材料清单
8.2.2DHT11数据手册
8.3硬件连接
8.4程序设计
8.4.1设计思路及流程图
8.4.2程序源码
8.5调试及实验现象
8.6拓展实验
8.7拓展实验调试及现象
8.8技术小贴士
第9章气体监测
9.1实验原理
9.2材料清单及数据手册
9.2.1材料清单
9.2.2MQ2数据手册
9.2.3MQ2烟雾传感器模块
9.3硬件连接
9.4程序设计
9.4.1设计思路及流程图
9.4.2程序源码
9.5调试及实验现象
9.6技术小贴士
第10章LCD显示
10.1实验原理
10.2材料清单及数据手册
10.2.1材料清单
10.2.21602 LCD数据手册
10.3硬件连接
10.4程序设计
10.5调试及实验现象
10.6技术小贴士
第11章电机控制
11.1实验背景
11.2材料清单及数据手册
11.2.1材料清单
11.2.2步进电机数据手册
11.3硬件连接
11.4程序设计
11.5调试及实验现象
11.6拓展实验
11.7技术小贴士
第12章蓝牙通信
12.1实验背景
12.2材料清单及数据手册
12.2.1材料清单
12.2.2蓝牙模块数据手册
12.3硬件连接
12.4程序设计
12.5调试及实验现象
12.6技术小贴士
第13章WiFi无线数据传输
13.1实验背景
13.2材料清单及数据手册
13.2.1材料清单
13.2.2WiFi模块数据手册
13.3电路连接及通信初始化
13.4程序设计
13.5程序调试
13.6技术小贴士
第14章ZigBee无线数据传输
14.1实验背景
14.2材料清单及数据手册
14.2.1材料清单
14.2.2XBee/XBeePRO模块数据手册
14.3硬件连接
14.4程序设计
14.5程序调试
14.6技术小贴士
第3部分电路设计基础
第15章电路设计基础
15.1原理图的设计
15.1.1原理图简介
15.1.2原理图编辑器
15.1.3原理图的绘制
15.1.4原理图绘制实例
15.2PCB的设计
15.2.1PCB简介
15.2.2PCB编辑器
15.2.3PCB的绘制
15.3电路板的生产
15.3.1电路板生产流程
15.3.2Gerber文件
15.4PCB设计案例与分析
第4部分项 目 实 战
第16章基于Arduino的智能小车
16.1项目背景
16.1.1国内外的智能车辆现状
16.1.2研究智能车辆的意义
16.1.3Arduino在智能小车上的应用
16.2系统架构
16.2.1小车的硬件模块
16.2.2小车控制器的选择
16.2.3小车电源的选择
16.2.4小车避障模块的选择
16.2.5小车通信模块的选择
16.2.6小车电机与电机驱动模块的选择
16.2.7小车舵机模块的选择
16.3材料清单
16.4模块制作
16.4.1蓝牙模块
16.4.2超声波测距模块
16.5硬件设计原理图
16.6软件程序流程图
16.7参考程序
16.8附录: 指令程序对应表
参考文献