Arduino 入门指南/什么是 Arduino
Arduino 包含一个微控制器。微控制器演变自与摩托罗拉 6502 和英特尔 8088 等开启个人电脑革命的微处理器相同的技术。微控制器与现代 CPU 的不同之处在于,I/O、RAM 和闪存都被集成在一个芯片上。它们被用于嵌入式应用程序,例如微波炉控制面板、打印机或汽车仪表板。微控制器以各种配置和价格出现,起价不到两美元。DIY 社区中使用的两个流行的微控制器公司是 Atmel 和 Microchip PIC。它们之所以受欢迎,是因为它们免费提供软件开发环境(C 语言),并且支持扩展到支持 Linux。
Arduino 是开源硬件。它包含来自营利性公司的芯片。开源特性包括:
- 外形尺寸:电线连接的方式,附加产品堆叠在其上的方式
- 电路板
- 连接芯片的电路
- 标准引导加载程序(开机时发生的事情)
Arduino 诞生于开源 Wiring 项目,该项目受到 Processing 编程语言的启发。Arduino 于 2003 年在意大利伊夫雷亚的交互设计学院(奥利维蒂公司所在地)诞生,几乎是在一个晚上完成的。Wiring 的目标是创建一个单板微型计算机、一种编程语言和一个 IDE,专门为艺术家服务。Arduino 的成功有几个原因:
- 表面贴装芯片很难焊接。DIY 社区需要摆脱设计电路、构建独特的庞大电路板和焊接芯片的过程。他们需要转向可以堆叠在一起的小型标准电路板。
- 测试驱动型软件开发
- 示例驱动型软件学习
- 活跃的社区扩展示例
- 通过灯光、电机、声音等物理反馈来确认软件成功
- 价格点、竞争和品牌对于经济成功至关重要
从 1990 年代到 2000 年代,大学和公司都推出了针对 DIY 教育市场的新型微控制器。起价约为 300 美元,对于那些没有对微控制器特别感兴趣的学生来说,这个价格太高了。Arduino 将价格降低到了 30 美元左右。这不仅迫使教育市场的竞争对手降低价格,而且大大扩展了对这类产品感兴趣的消费者群体,也为功能更强大的微控制器市场创造了更大的空间。
总而言之,Arduino 在成本、经验和预期方面都有较低的入门门槛。但它可以扩展到电气工程师用于创建电路和计算机工程师用于构建系统的专业软件开发环境。它还可以扩展到支持复杂的开源 Linux 应用程序,例如机器人操作系统 (ROS) 和用于电池供电机器人的自动驾驶仪。
“Arduino”一词是指一系列控制器,这些控制器使用相同的软件,但具有不同的目标应用程序和外形尺寸。本文档的其余部分专门针对 Arduino Uno。
通过在 Arduino Uno 上方堆叠不同的电路板,可以扩展其功能。这些电路板被称为扩展板。新的扩展板激发了创造力、需求和利润。图片中是一个 USB 主机扩展板,它使 Arduino 能够像 PC 一样工作,而不是被连接到 PC 的设备。
右侧是 Uno(蓝色)与 USB 主机扩展板(红色)和电机扩展板(绿色)堆叠在一起的图片。USB 主机扩展板和 Uno 具有可堆叠的或母头引脚。电机扩展板采用可拆卸的或公头引脚,防止堆叠更多扩展板。
Uno 可以通过 USB 电缆供电。最终,向 Uno 添加更多东西会导致所有内容停止工作。解决方法是将 5 到 12 伏直流电缆插入 Uno。然后一切都会正常工作,添加更多东西,最终 Uno 再次停止工作。此时,各个扩展板可能需要它们自己的电源。如果涉及电机,这一点尤其重要。
USB 电缆旨在连接到计算机,以便将软件下载到 Arduino。下载程序后,可以断开 USB 电缆(如果存在其他电源),程序将在没有计算机的情况下运行。
不能将 USB 鼠标或键盘插入 Arduino,就像它是一台计算机一样。Uno 上的 USB 端口是一个从端口,而不是手机上的 USB On-The-Go 端口。Uno 需要一个 USB 主机来进行通信。键盘和鼠标是从设备。两个从设备无法相互通信。这就是 Arduino 存在 USB 主机扩展板的原因。
Uno 上有六个引脚(或引脚孔)清晰标示。脑电图 (EEG)、心电图 (ECG)、温度传感器、光传感器和应变计是将物理测量信息转换为电压的设备示例。Uno 可以通过模拟引脚将电压转换为 0 到 1023 之间的数字。默认情况下,最大电压为 5 伏,但可以通过软件更改为 1.1 或 3.3 伏。
Uno 上的“AREF”字样指向一个引脚。AREF 代表 Analog Reference(模拟参考)。可以将不同的模拟引脚最大电压连接到此处,然后通过软件选择。最大电压为 5 伏。1.1 和 3.3 伏可以通过软件选择。任何不同的电压都需要连接到 AREF 引脚。这样做可以使 Uno 在将来自 6 个模拟引脚的信息转换为数字时更准确。
数字引脚输出 0 或 5 伏电压。它们可以打开和关闭 LED。或者,它们可以告诉传真机 LCD 面板显示什么内容。引脚 3、5、6、9、10、11 是 PWM 或脉宽调制引脚,这意味着开时间和关时间不必相等。这使得能够控制 电子调速器 (ESC)。这使 Uno 能够改变直升机螺旋桨的速度。引脚 0 和 1 代表发送和接收... 与任何东西,包括另一个 UNO。例如,这将使一个 UNO 能够与另一个 UNO 通信。
Uno 引脚通过接头向上移动,因此可供所有屏蔽使用。屏蔽本身可能具有其他功能。有一个 原型板 屏蔽,除了提供构建独特电路的平台外,没有其他功能。
Arduino 衍生了许多竞争的开源硬件项目。Uno 接头引脚排列和与 Arduino 软件的兼容性是所有 Arduino 板的两大主要特征。
许多公司正在制造“几乎兼容”的 Arduino 产品,如 Pinguino。有些产品使用 pic 处理器,而不是 Arduino 的 Atmel。其他产品,如 papilio(基于 Xilinix FPGA),不声称软件兼容性,只声称与 UNO 接头引脚排列的硬件兼容性。
有些项目需要在正在构建的设备上运行 Linux 发行版。Raspberry Pi 和 pcduino 是这些项目的例子。