1.2 Arduino概述

1.2.1 Arduino是什么

Arduino是一个简单易用的开源电子平台。Arduino开发板(简称Arduino板,有时也直接称Arduino)可读取开关或传感器的数据,并控制电机、LED灯等。通过对Arduino板上控制器进行软件编程,可控制Arduino实现所需要的功能。软件开发环境是基于Processing的Arduino IDE。多年来,从常见的控制对象到复杂的科学仪器,Arduino已经成为许多工程或项目的控制中心。世界各地的爱好者们,包括读者、艺术家、发烧友、程序员和专家等,贡献了数不胜数的知识,供新手和进阶者学习和应用。Arduino诞生于意大利米兰互动设计学院,源于没有电子和编程背景的读者迫切需要一个简单的样机制造工具。Arduino被广泛使用后,不断发展去适应新的需要和挑战,从简单的8位处理器板到IoT应用、可穿戴产品、3D打印机和嵌入式系统。所有Arduino板是完全开源的,准许用户独立地使用它们,以满足他们的特殊需要。因为对初学者来说,Arduino软件简单易学,对有经验的用户来说又足够灵活,Arduino已经被应用在成千上万的工程和应用系统中。它可运行在Mac OS、Windows和Linux操作系统中。教师和读者使用Arduino设计低成本的科学仪器,证明化学和物理原理,或开始学习编程和机器人技术;设计者和建筑师使用Arduino设计交互原型;音乐家和艺术家使用它进行创作;制造者利用它制造许多在相关博览会上展示的工程或项目。Arduino是学习新事物的重要工具,孩子、爱好者、艺术家、程序员等任何人都可按照说明一步一步地学习Arduino,或者和其他人分享设计思想。Arduino简化了微控制器的工作过程,它为教师、读者和业余爱好者提供了许多便利。Arduino简化了微控制器的工作过程,它具有以下优点。

(1)价格便宜

与其他微控制器相比,Arduino价格便宜。自制Arduino板可以最大限度降低成本。

(2)跨平台

Arduino软件的集成开发环境(Integrated Development Environment,IDE)可运行在Windows、Mac OS和Linux操作系统上,但大部分微控制器只能在Windows环境下运行。

(3)简单、清晰的编程环境

Arduino软件对初学者而言,很容易上手;对高级用户而言,又不乏灵活性;对教师而言,它基于Processing编程环境,方便已学过Processing编程的读者学习Arduino。

(4)开源和可扩展软件

Arduino软件是一种开源工具,有经验的开发者可以通过C++库对它进行扩充。想要了解技术细节的人可以跳过Arduino,直接用AVR-C进行编程。同样,如果需要,也可以将AVR-C代码直接添加到Arduino程序中。

(5)开源和可扩展硬件

Arduino的发布遵循“知识共享许可协议”,故有经验的电路设计者可以开发自己的模块,扩展它,或对它进行改进。为了解Arduino的工作原理和降低成本,有经验的用户甚至可以设计Arduino电路试验板。

对于嵌入式技术的学习,Arduino具有重要的意义。Arduino技术的简单易用性,大大降低了基于Arduino的嵌入式技术学习的门槛和难度,可使读者克服畏难情绪,短时间内提高学习兴趣,并切身体会到实际应用和实现系统设计的乐趣和成就感,为今后进一步深入学习8位51单片机或32位ARM系列单片机打下良好的基础。

1.2.2 Arduino开发板分类

Arduino开发板分入门级、高级类、物联网类、教育类和可穿戴类五大类。

入门级开发板包括UNO、Leonardo、101、Esplora、Micro、Nano等。

高级类开发板包括Mega 2560、Zero、Due、Mega ADK、MKRZero等。

物联网类开发板包括Yun、Ethernet、MKR1000等。

教育类开发板包括CTC 101、Engineering KIT等。

可穿戴类开发板包括Gemma、LilyPad、LilyPad USB、LilyPad SimpleSnap等。

建议Arduino初学者选用入门级产品。如果要完成复杂功能,则选用性能较高、速度较快的高级类开发板。采用物联网类开发板便于设备互联。教育类开发板可以使教师利用必需的软硬件工具,充分激发读者的兴趣和热情,引导读者进行编程和电子设计创新实践。可穿戴类开发板可以使开发者感受将电子产品穿戴在身上的神奇。表1-1列出了部分开发板的主要性能指标。

表1-1 开发板的主要性能指标

续表