前 言
Arduino接口的开发板提供了一种低成本、便于使用的技术来创作基于微控制器的项目。只需要掌握很少的电子学基础知识,就可以让Arduino实现从控制艺术装置的灯光到管理太阳能系统的电力在内的方方面面。
有很多基于项目的书会向你展示如何把设备连接到你的Arduino上,包括《Arduino编程从零开始 使用C和C++(第2版)》作者的30 Arduino Projects for the Evil Genius一书。但是,《Arduino编程从零开始 使用C和C++(第2版)》重点关注如何编写Arduino程序。
《Arduino编程从零开始 使用C和C++(第2版)》将会向你讲解如何让Arduino编程变得简单有趣,避免使用那些往往会让项目受阻的、棘手的代码。在《Arduino编程从零开始 使用C和C++(第2版)》指导下,你会从Arduino使用的最基础的C语言开始,一步步彻底了解Arduino编程过程。
0.1 什么是Arduino
Arduino是一款小型微控制器开发板,使用USB (Universal Serial Bus,通用串口总线)接口连接到计算机,并且拥有大量可以用来连接像电机、继电器、光传感器、激光二极管、扩音器、麦克风等外部电子元件的接口。这些外部设备可以通过计算机的USB连接、9V电池或外部电源供电。它们可以通过计算机直接控制或在编程后独立运行。
Arduino开发板的设计是开源的,这意味着任何人都可以制作Arduino兼容的开发板。这种竞争带来了低成本的开发板和在“标准”开发板基础上加以改型的各类板型。
Arduino主控板可以通过在顶部插入扩展板的方式进行功能扩充。
用于Arduino编程的软件简单易用,并且可以轻松地为Windows、Mac和Linux系统免费获得。
0.2 需要准备什么?
这是一本面向初学者的书,但也可以为那些已经用过一段时间Arduino,并且想了解关于Arduino编程更多知识,或者想更深入了解其中原理的人带来帮助。依照这个定位,《Arduino编程从零开始 使用C和C++(第2版)》把注意力放在Arduino Uno开发板的使用上;当然,几乎所有的代码都可以不经修改地直接在Arduino的其他型号和变种上使用。
不需要拥有任何编程经验或技术背景,《Arduino编程从零开始 使用C和C++(第2版)》的全部练习也不需要焊接。你所需要的全部就是对创造的渴望。
如果想充分利用《Arduino编程从零开始 使用C和C++(第2版)》并尝试其中的一些实验,那么手头有以下物品是很有帮助的:
· 几根实心导线
· 一台便宜的数字万用表
只需要花几块钱就可以很容易地从电子元器件商店或网络经销商(如Adafruit或Sparkfun)那里买到它们。当然,你还需要一块Arduino Uno开发板。
如果想要更进一步了解并且尝试一些使用显示器和网络连接的实验,需要从网上购买一些扩展板,详见第9章和第10章。
0.3 如何使用《Arduino编程从零开始 使用C和C++(第2版)》
《Arduino编程从零开始 使用C和C++(第2版)》在内容安排上循序渐进,可以让你用一种简单的方式上手。但是当你找到合适的定位并开始阅读《Arduino编程从零开始 使用C和C++(第2版)》时,你可能会发现自己可以跳过或只需要粗略阅读前面的章节。
《Arduino编程从零开始 使用C和C++(第2版)》按如下顺序组织章节内容:
第1章:Arduino介绍。这是关于Arduino硬件的引言,该章介绍Arduino的功能和大量可获得的不同型号的Arduino开发板。
第2章:启程。你将使用Arduino开发板开始自己的首个实验:安装软件,上电,下载你的第一个项目。
第3章:C语言基础。该章涵盖C语言的基础语法;对于编程初学者,该章也可以作为一本大体的编程教材。
第4章:函数。该章讲解在Arduino项目中使用和编写函数的关键概念。这些项目都包含用来示范的可运行的示例代码。
第5章:数组和字符串。该章将介绍如何使用比整型变量更高级的数据结构。通过逐步开发一个摩尔斯电码例程来解释这些概念。
第6章:输入和输出。该章介绍如何在程序中使用Arduino开发板上的数字和模拟输入/输出接口。通过万用表有助于了解Arduino输入/输出接口上所发生的情况。
第7章:Arduino标准类库。该章讲解如何利用Arduino标准类库中的函数。
第8章:数据存储。在该章中可以学习如何编写可以在EEPROM (Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)中存储数据并利用Arduino内置闪存(Flash Memory)的项目。
第9章:显示器。在该章中,你会学到如何将Arduino和显示器连接起来并制作USB留言板。
第10章:Arduino物联网程序设计。该章讲解如何让Arduino像网络服务器那样运行并像dweet和IFTTT那样与互联网应用服务通信。
第11章:C++和库。你已经攻克了C语言,尝试一下面向对象编程,然后编写自己的Arduino类库。
0.4 资源
《Arduino编程从零开始 使用C和C++(第2版)》由以下网站提供技术支持:www.arduinobook.com。
可以从这个网站以及诸如勘误表之类的其他来源找到《Arduino编程从零开始 使用C和C++(第2版)》使用的所有源代码。也可以通过扫描封底的二维码来得到这些资源。