图书前言

前    言

在笔者刚开始接触Arduino时,阅读了几本关于它的图书,发现存在两个问题。一个问题是,从目录上看,这些图书内容看似全面且充满创意,但真正深入学习时,却发现里面的例子实现起来非常困难,许多示例甚至缺乏详细的组装指导,就直接提供代码段并简单地指示编译和下载,预期读者能立即看到结果。这些示例没有说明使用了哪些组件,每个组件的作用是什么。对于零基础的初学者来说,这种讲解方式效果欠佳。另一个问题是示例的范围过于广泛,甚至包括了智能家居等项目,这样大的项目对于初学者来说几乎没有可行性,更不用说实现这些功能往往需要在硬件上进行大量的投资。

鉴于这些情况,笔者决定撰写一本介绍Arduino的入门书,并延续笔者一贯的风格:尽可能使读者的学习曲线平缓,并降低学习成本,所有实验都可以在虚拟机中完成,而不是要求读者购置多台计算机以搭建网络环境。笔者坚持一个原则,那就是能够通过软件解决和达到教学目的的问题,就绝不依赖硬件。

但Arduino的学习,硬件投资是必要的。为此,笔者精心挑选了很多适合初学者的有趣实例,不盲目上马“高大上”的项目。这种“高大上”的项目意味着高昂的硬件成本,对初学者而言显然不太合适。初学者的目标应该是通过尽可能少的硬件和最简洁的代码来入门Arduino,从而快速建立起信心。本书旨在让初学者能够轻松跨过入门的门槛,通过实践有趣且实用的项目来探索Arduino的可能性,从而激发他们深入学习的兴趣和热情。

关于本书

为了降低初学者的学习难度,笔者在书中使用了大量插图,尤其是电路元器件的连线图,做到“一图胜千言”。在介绍程序代码时,笔者努力保持代码简洁,同时提供充分的注释,以便读者更好地理解每一行代码的作用。

另外,笔者并没有把C语言本身的学习放在本书中。如果目标是学习C语言,那么使用一台普通的计算机进行学习就绰绰有余,完全没必要在Arduino环境中学语言。因为Arduino开发涉及软件和硬件,如果在没有掌握C语言的情况下就开始学习Arduino,学习的难度会大大增加。因此,笔者期望读者在开始阅读本书之前,已经具备C语言的基础知识。之所以说“基础”,是因为在Arduino的软件编程中,很少会用到复杂的算法,笔者也不会在书中展示过于复杂的编程技巧。

Arduino软件编程中,更应该关注的是Arduino官方提供的库函数。这些库函数可以用来操作硬件,因此必须重视和掌握。为此,笔者特意在库函数解释方面着重笔墨,虽然很多库函数初学者暂时用不到,但在以后工作中会经常用到,到那时,本书又可以作为案头手册来使用了。

除了多示意图、多代码注释外,笔者还对硬件搭建做了详细解释。对于以前没接触过硬件的读者来讲,搭建电路、组装小车绝对是个挑战,因此笔者直接指明了搭建和组装过程中可能遇到的各种问题。另外,对于智能小车的组装,笔者还录制了视频,以供读者参考。

配套资源下载

本书配套示例源码、PPT课件、配图文件、作者QQ答疑服务,请读者用自己的微信扫描下边的二维码下载。如果学习本书的过程中发现问题或有疑问,可发送邮件至booksaga@163.com,邮件主题为“Arduino开发从零开始学”。

笔  者

2024年5月