通用工程简介/Arduino 和电机/Arduino 简介
Arduino 包含一个微控制器。微控制器起源于与开启个人电脑革命的微处理器相同的技术,例如 Motorola 6800、MOS 6502 和 Intel 8080/8086/8088。微控制器与现代 CPU 的不同之处在于,IO、RAM 和 Flash 内存都集成在单个芯片中。它们被用于嵌入式应用,例如微波炉控制面板、打印机或汽车仪表盘。微控制器存在于各种配置和价格点中,起价低于两美元(单个购买)。DIY 社区中使用的两家流行的微控制器公司是 ATMEL 和 Microchip PIC。它们之所以受欢迎,是因为它们免费提供软件开发环境(C 语言),并且它们可以扩展到支持 Linux。
Arduino 是开源硬件。它包含来自营利性公司的芯片。开源特性包括:
- 外形尺寸:连接线的方式,附加产品堆叠的方式
- 电路板
- 连接芯片的电路
- 标准引导加载程序(开机后发生的事情)
Arduino 衍生于开源的 Wiring 项目,该项目受 Processing 编程语言 的启发。Arduino 于 2003 年在意大利伊夫雷亚的交互设计学院(奥利维蒂的所在地)诞生,几乎是在 一个晚上 (24 分钟视频链接)。Wiring 的目标是创建一个单板微型计算机、一种编程语言和一个 IDE,专门为艺术家服务。Arduino 成功的理由如下:
- 表面贴装芯片难以焊接。DIY 社区需要摆脱设计电路、构建独特的庞大电路板以及焊接芯片的过程。他们需要转向小型标准电路板,这些电路板可以彼此堆叠。
- 测试驱动的软件开发
- 示例驱动的软件学习
- 活跃的社区不断扩展示例
- 通过灯光、电机、声音等物理反馈来获得软件成功的感受
- 价格点、竞争和品牌对于经济成功至关重要
在过去 20 年中,每年都有大学和公司推出新的微控制器,目标是 DIY 教育市场。起价约为 300 美元。Arduino 将价格降至约 30 美元。
总之,Arduino 在成本、经验和预期方面都有较低的起点。然而,它可以扩展到电气工程师用于创建电路和计算机工程师用于构建系统的专业软件开发环境。它还可以扩展到支持复杂的开源 Linux 应用程序,例如机器人操作系统 (ROS) 和无人机自动驾驶仪,用于电池驱动的机器人。
"Arduino" 一词指的是 一系列控制器,它们使用相同的软件,但具有不同的目标应用和外形尺寸。本文档的其余部分专门针对 Uno Arduino。
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" 的引脚是 **模拟参考引脚** (Analog REFerence)。您可以连接一个不同的模拟引脚最大电压到此引脚,并通过软件选择该电压。最大电压为 5 伏,可以根据软件选择 1.1 伏或 3.3 伏。任何其他电压都需要连接到 AREF 引脚。这样做可以提高 Uno 将来自 6 个模拟引脚的信息转换为数字时精度。
数字引脚输出 0 或 5 伏电压。它们可以用来打开和关闭 LED,或控制传真机 LCD 屏幕的显示内容。引脚 3、5、6、9、10、11 是 PWM 引脚,即脉冲宽度调制引脚。这意味着它们的高电平时间和低电平时间并不一定相等。这使得 Uno 可以控制 电子速度控制器 (ESC)。这样,Uno 就可以控制直升机螺旋桨的转速。引脚 0 和 1 用于与其他设备(包括另一个 Uno)进行通信。例如,一个 Uno 可以与另一个 Uno 进行对话。
Uno 的引脚通过排针向上延伸,因此对所有扩展板都可用。扩展板本身可能具有额外的功能。例如,有一种 面包板 扩展板,它除了提供一个构建独特电路的平台之外,没有任何其他功能。
Arduino 衍生出了许多竞争的开源硬件项目。Uno 的排针引脚布局和与 Arduino 软件的兼容性是所有 Arduino 板子的主要特点。
许多公司正在制造 "几乎兼容" 的 Arduino 产品,例如 Pinguino。其中一些产品使用 PIC 微处理器 而不是 Arduino 的 Atmel。另一些产品,例如 papilio(基于 Xilinx FPGA),则不声称软件兼容性,只声称与 Uno 排针引脚布局兼容。