前言

一、写作背景和目的

嵌入式系统无处不在。当前我国嵌入式人才供不应求,如何培养适合社会需求的嵌入式开发人才成为了整个行业急需解决的问题。然而,嵌入式技术门槛高、难度大、实践性强,而且目前高校普遍存在重理论、轻实践的问题,专业设置和课程内容远不能满足人才培养需求。

开源Arduino为这个难题带来了转机。Arduino是基于AVR单片机的一个开源的控制平台和开发环境。开源的优势在于,软件、硬件都很容易找到支持工具,没有经验的人也很容易开始学习,降低学习时间成本。Arduino不仅开发简单、价格便宜、模块丰富,能够作为人机交互、物联网的节点,还可以成为各种人工智能的中心。很多消费电子产品的原型都是用Arduino开发的,然后交给专业的工程师迁移至更高级的平台。目前Arduino已经成为极客和创业者的首选。

编者从多年的Arduino竞赛培训经验中发现,由于Arduino的简单易用性,读者只要学完C、C++等编程语言,即使是在没有任何专业基础知识的情况下,也可以掌握基于Arduino的嵌入式系统设计技术,完成各种嵌入式应用系统设计,并且读者在大一、大二就可以参加各种电子竞赛、物联网竞赛,并取得很好的成绩。这不仅降低了嵌入式技术学习的门槛和难度,也提高了读者的自信心和主动参与度,使读者短时间内提高了学习兴趣,能切身体会到实际应用和实现系统设计后的乐趣和成就感。

读者在没有学习相关专业基础课的情况下,理解和掌握基于51单片机或ARM单片机的嵌入式系统设计方法的难度是很大的。将嵌入式系统的基本概念和理论与Arduino相结合,可大大加强嵌入式人才的实践能力,这是嵌入式专业方向教学体系改革的一种行之有效的思路和方法。

本书的编写主要是为了更好地满足高校“嵌入式系统设计”课程的教学需求。读者通过本书的学习,对Arduino的嵌入式系统设计技术进行实践的同时,兼顾嵌入式系统相关概念和基础理论的学习,为今后深入学习基于51或ARM系列单片机的嵌入式系统设计技术打下良好的基础。

二、本书特点

1.轻松入门,快速上手

本书适合作为大一读者的竞赛培训教材,按“基础知识+模块测试”和“中小应用实例+综合应用实例”的思路编写,内容由浅入深、循序渐进、入门与实践相结合。本书内容全面,语言通俗易懂,完整详尽地描述了大量应用实例的硬件组成、引脚连接、程序代码,引导零基础的读者通过实际操作来学习Arduino嵌入式系统设计技术,即“做中学、学中做”,使读者轻松入门、快速上手。

2.模块种类全,涵盖面广,分类明确

将开源、简单易学的Arduino平台引入嵌入式系统教学中,从嵌入式应用系统设计的角度,对其关键的接口技术,按照开发板上资源的接口技术、人机界面接口技术、常用传感器和控制模块接口技术、无线通信模块接口技术进行分类和组织,条理清晰,便于读者更深入地理解和学习相关硬件技术。

3.内容系统,实践性强

本书系统、全面、深入地讲述Arduino中C语言编程相关的基础知识和技术。其中,基础知识包括函数、变量、程序结构、控制语句和运算符等内容;技术包括自定义类库的方法,以及Arduino编程中的定时、外中断等高级应用。力图做到一书在手,入门与实践无忧。

本书对常用模块和应用的封装类库,包括IDE内部的、第三方以及自定义的类库函数进行详细介绍,便于读者深入理解软件设计技术,拓展Arduino嵌入式系统的应用领域。

书中给出了大量非常适合实验教学的常用模块的测试方案和应用实例,所有代码均测试通过并加以注释。读者也可直接或稍加改动后应用于自己的项目,提高学习和设计效率。

书中分享了多个与实际应用接轨的综合应用实例,希望对读者的创新创意设计有所启发,对读者全面掌握和提升基于Arduino的嵌入式系统设计技术有所帮助。

4.完善的技术支持

技术支持邮箱:1595903765@qq.com。欢迎读者针对本书内容提出问题,共同探讨和学习。

三、配套资源

为了方便读者学习和实践,本书提供了以下配套资源:

① Arduino IDE安装包

② 所有示例程序源代码

③ 示例程序所用类库安装包

④ 实验用到的小工具软件

⑤ 教材配套课件

配套资源可登录人邮教育社区(http://www.ryjiaoyu.com)自行下载。

四、读者对象

① 参加电子设计、物联网相关竞赛的读者

② 嵌入式等相关专业的读者

③ 电子设计爱好者

④ 极客及培训教师

五、作者

本书第4、6、7章由李兰英编著,第1、5、8章由韩剑辉编著,第2、3章由周昕编著,李兰英对全书进行了统稿。

虽然我们对书中内容进行了反复核查和校对,但纰漏和不足在所难免,敬请读者批评指正,可通过邮箱1595903765@qq.com与我们联系。

编者

2019年10月