Arduino Uno 引脚图详解与功能说明
Arduino Uno 是 Arduino 系列中最经典、最受欢迎的开发板,非常适合初学者和专业人士进行电子原型设计。了解其引脚的功能是学习和使用 Arduino 的第一步。本文将为您提供一个详尽的指南。
整体引脚布局
首先,让我们看一下 Arduino Uno 的整体引脚分布图:

Arduino Uno 的引脚主要分布在开发板的两侧,可以分为几大类:电源引脚、模拟输入引脚和数字输入/输出引脚。此外,还有一些具有特殊功能的引脚。
1. 电源引脚 (Power Pins)
这些引脚用于为 Arduino Uno 本身供电,或从 Arduino Uno 向外部元件供电。
- VIN (Voltage Input): 当使用外部电源(如电池或电源适配器)为 Arduino 供电时,这是输入电压的引脚。建议电压范围为 7V 到 12V。通过此引脚输入的电压会经过板载的稳压器降至 5V。
- 5V: 经过稳压器后输出的稳定 5V 电压。这个引脚可以为大多数传感器和执行器供电。其最大输出电流通常在 500mA 左右。
- 3.3V: 板载 3.3V 稳压器提供的稳定 3.3V 电压。适用于需要较低电压的传感器和模块。其最大输出电流约为 50mA。
- GND (Ground): 接地引脚。一个电路中必须有共同的接地点才能正常工作。Arduino Uno 上有多个 GND 引脚,它们都是内部连接的。
- IOREF (Input/Output Reference): 此引脚提供开发板 I/O 引脚的工作电压参考(在 Arduino Uno 上是 5V)。扩展板(Shield)可以读取此引脚的电压,以确定是适应 5V 还是 3.3V 的工作环境。
2. 模拟输入引脚 (Analog In)
Arduino Uno 有 6 个模拟输入引脚,标记为 A0 到 A5。
- 功能: 主要用于读取模拟传感器的值。这些引脚内置一个 10 位(10-bit)的模数转换器 (ADC),可以将输入的 0V 到 5V 的模拟电压信号转换为 0 到 1023 的数字值。
- 多功能性: 这些引脚也可以作为数字输入/输出引脚使用,此时它们的功能与数字引脚 0-13 相同。你可以称它们为
A0、A1等,或者数字引脚14(A0)、15(A1),以此类推。 - I2C 通信:
A4和A5引脚也具有特殊功能,可作为 I2C 通信的SDA(数据线) 和SCL(时钟线)。
3. 数字输入/输出引脚 (Digital I/O)
Arduino Uno 拥有 14 个数字输入/输出引脚,标记为 0 到 13。
- 功能: 这些引脚可以被配置为输入 (INPUT) 或输出 (OUTPUT) 模式。
- 输入模式: 读取数字信号(高电平 HIGH 或低电平 LOW)。
- 输出模式: 输出数字信号(5V 表示 HIGH,0V 表示 LOW)。
- 工作电压: 每个引脚的工作电压为 5V,最大直流电流为 20mA (推荐) 或 40mA (极限)。
这些数字引脚中,有几个具有特殊功能:
a. 串行通信 (Serial: RX/TX)
- Pin 0 (RX): 接收 (Receive) 数据。
- Pin 1 (TX): 发送 (Transmit) 数据。
- 说明: 这两个引脚用于与计算机或其他串行设备进行 TTL 串行通信。当你通过 USB 将程序上传到 Arduino 时,实际上就是在使用这两个引脚。因此,在上传程序时,最好不要将任何外部设备连接到 Pin 0 和 Pin 1,以免干扰通信。
b. 脉宽调制 (PWM)
- Pin 3, 5, 6, 9, 10, 11: 这些引脚旁边标有波浪线
~。 - 功能: 它们可以产生模拟输出效果,即脉宽调制 (PWM) 信号。通过
analogWrite()函数,你可以让这些引脚输出一个在 0V 到 5V 之间快速切换的方波,通过改变方波的占空比(Duty Cycle),可以模拟出不同的电压等级,常用于控制 LED 的亮度或舵机 (Servo) 的角度。
c. 外部中断 (External Interrupts)
- Pin 2 (interrupt 0):
- Pin 3 (interrupt 1):
- 功能: 这两个引脚可以配置为外部中断。当引脚上的电平发生变化(如从低到高、从高到低或任意变化)时,可以触发一个中断,使 Arduino 暂停当前正在执行的任务,转而去执行一个特定的中断服务程序 (ISR)。这对于需要快速响应外部事件的应用非常有用。
d. SPI 通信 (Serial Peripheral Interface)
- Pin 10 (SS): 片选 (Slave Select)
- Pin 11 (MOSI): 主出从入 (Master Out Slave In)
- Pin 12 (MISO): 主入从出 (Master In Slave Out)
- Pin 13 (SCK): 串行时钟 (Serial Clock)
- 说明: 这是一种高速的全双工串行通信协议,常用于连接 SD 卡模块、显示屏等外设。
e. I2C 通信 (Inter-Integrated Circuit)
- SDA (Serial Data): 数据线。
- SCL (Serial Clock): 时钟线。
- 说明: 在 Arduino Uno R3 版本上,除了
A4(SDA) 和A5(SCL) 外,还在AREF引脚旁边增加了两个专用的SDA和SCL引脚。它们内部与 A4/A5 相连,提供了更方便的接线方式。I2C 协议只需两根线即可连接多个设备。
4. 其他特殊功能引脚
- AREF (Analog Reference): 模拟输入参考电压。默认情况下,AREF 连接到 5V。如果你需要为 ADC 提供一个不同于 5V 的参考电压上限(例如,使用一个最高输出 3.3V 的传感器),可以将外部参考电压连接到此引脚,并通过
analogReference()函数进行设置。注意: 参考电压不能低于 0V 或高于 5V。 - RESET: 复位引脚。将此引脚拉至低电平会重启单片机(ATmega328P)。通常在扩展板上会有一个复位按钮连接到此引脚。你也可以通过外部按钮连接此引脚和 GND 来实现手动复位。
- ICSP (In-Circuit Serial Programming): 这是一个 6 针的编程接口,包含了 SPI 引脚 (MOSI, MISO, SCK)、RESET、VCC 和 GND。它主要用于在不拆下单片机的情况下直接为其烧录 Bootloader 或程序,也可以作为标准的 SPI 接口使用。
总结
| 引脚类别 | 名称/编号 | 主要功能 |
|---|---|---|
| 电源 | VIN | 外部电源输入 (7-12V) |
| 5V | 5V 稳压输出 | |
| 3.3V | 3.3V 稳压输出 | |
| GND | 接地 | |
| IOREF | I/O 参考电压 (Uno 上是 5V) | |
| 模拟输入 | A0 – A5 | 读取模拟信号 (0-1023),也可作为数字 I/O |
| 数字 I/O | 0 (RX), 1 (TX) | 串行通信 (TTL) |
| 2, 3 | 外部中断 | |
| 3, 5, 6, 9, 10, 11 | PWM (模拟输出) | |
| 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) | SPI 通信 | |
| A4 (SDA), A5 (SCL) | I2C 通信 (也位于专用引脚上) | |
| 其他 | AREF | 模拟参考电压输入 |
| RESET | 复位单片机 | |
| ICSP Header | 用于烧录 Bootloader 或作为 SPI 接口 |
希望这份详细的指南能帮助你更好地理解和使用你的 Arduino Uno 开发板!