目录
一、控制台的结构
二、技术规格
三、引脚分配
四、供电方式
五、内部存储
六、输入输出
6.1 数字输入输出
6.2 模拟输入输出
七、通信方式
7.1 硬件串口通信
7.2 软件串口通信
一、控制台的结构
Arduino Uno R3 是一款基于 ATmega328P 的微型控制板。它包含 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出)、6 个模拟输入、1 个 16 MHz 陶瓷谐振器(CSTCE16M0V53-R0)、1 个 USB 连接、1 个电源插孔、1 个 ICSP 接头和一个重置按钮。
- 1. 微控制器:这是 Arduino 的大脑,加载程序的组件。
- 2. USB 接口:用于连接 Arduino 主板和电脑。
- 3. USB 转串口芯片:USB 转串口芯片是重要组件,因为它有助于将来自计算机等地的数据转换到板载微控制器。这就是为什么你可以从电脑上编程 Arduino 主板。
- 4. 数字引脚:使用数字逻辑(0、1 或低电平/高电平)的引脚。通常用于开关和开关 LED。
- 5. 模拟引脚:能够读取 10 位分辨率(0-1023)模拟值的引脚。
- 6. 5V / 3.3V 引脚:这些引脚用于为外部元件供电。
- 7. GND:接地引脚,电平为 0 伏。
- 8. VIN:代表 Voltage In,用于连接外部电源。
Uno 在意大利语中意为"一",被选为 Arduino 软件(IDE)1.0 的标志。
Uno 开发板和 Arduino 软件(IDE)1.0 版是 Arduino 的参考版本,现已发展到更新的版本。
Uno 开发板是 USB Arduino 系列开发板中的第一款,也是 Arduino 平台的参考模型。
二、技术规格
| 微控制器 | ATmega328P |
| 工作电压 | 5V |
| 输入电压(推荐) | 7-12V |
| 输入电压(极限) | 6-20V |
| 数字 I/O 引脚 | 14 个(其中 6 个提供 PWM 输出) |
| PWM 数字 I/O 引脚 | 6 |
| 模拟输入引脚 | 6 |
| 每个 I/O 引脚的直流电流 | 20 毫安 |
| 3.3V 引脚的直流电流 | 50 毫安 |
| 闪存 | 32 KB(ATmega328P),其中 0.5 KB 用于引导加载程序 |
| SRAM(静态随机存取存储器) | 2 KB(ATmega328P) |
| EEPROM | 1 KB(ATmega328P) |
| 时钟频率 | 16 MHz |
| LED_BUILTIN | 13 |
| 长度 | 68.6 毫米 |
| 宽度 | 53.4 毫米 |
| 重量 | 25 克 |
三、引脚分配
四、供电方式
Arduino Uno 开发板有两种供电方式。
- 支持 USB 连接供电(5V);
- 支持外部电源供电 6~20V;
- 通过 DC 电源插孔供电(7-12V);
- 通过 Vin 引脚供电(7-12V);
- 建议外部供电电压为 7-12V,电压低于 7V 可能导致板子不稳定。
五、内部存储
ATmega328 有 32 KB Flash 程序存储器(其中 0.5 KB 由引导加载程序占用)。
它还具有 2 KB 的 SRAM 和 1 KB 的 EEPROM(可以使用 EEPROM 库进行读写)。
六、输入输出
6.1 数字输入输出
- Uno 上的 14 个数字引脚中的每一个都可以用作输入或输出,使用
pinMode()、digitalWrite()和digitalRead()函数。 - 它们以 5 伏特工作。
- 每个引脚可以提供或接收 20 mA 作为推荐工作条件,并且具有 20-50k 欧姆的内部上拉电阻(默认情况下断开)。
- 任何 I/O 引脚的最大电流不得超过 40 mA,以免对微控制器造成永久性损坏。
此外,一些引脚具有专门的功能:
- 串行:
- 0(RX)和 1(TX)。
- 用于接收(RX)和发送(TX)TTL 串行数据。
- 这些引脚连接到 ATmega8U2 USB 转 TTL 串行芯片的相应引脚。
- 外部中断:
- 2 和 3。
- 这些引脚可配置为在
低值、上升沿或下降沿或值发生变化时触发中断。 - 有关详细信息,请参阅
attachInterrupt()函数。
- PWM:
- 3、5、6、9、10、11。
- 使用
analogWrite()函数提供 8 位 PWM 输出。
- SPI:
- 10(SS)、11(MOSI)、12(MISO)、13(SCK)。
- 这些引脚支持使用 SPI 库进行 SPI 通信。
- LED:
- 13
- 有一个内置 LED 由数字引脚 13 驱动。
- 当引脚为高电平值时,LED 亮,当引脚为低电平值时,LED 熄灭。
- TWI(I2C):
- A4 或 SDA 引脚和 A5 或 SCL 引脚。
- 使用 Wire 库支持 TWI 通信。
6.2 模拟输入输出
- Uno 有 6 个模拟输入,
- 标记为 A0 至 A5,每个输入提供 10 位分辨率(即 1024 个不同的值)。
- 默认情况下,它们测量从地到 5 伏的电压,但可以使用
AREF引脚和analogReference()函数更改其范围的上限。
板上还有其他几个引脚:
AREF。模拟输入的参考电压。与analogReference()一起使用。- Reset。将此线拉低以重置微控制器。通常用于在扩展板上添加重置按钮。
七、通信方式
Arduino Uno 具有多种与计算机、另一个 Arduino 开发板或其他微控制器通信的功能。
7.1 硬件串口通信
- ATmega328 主控芯片的串口通信能力
- ATmega328 提供 UART TTL(5V)串行通信,可通过数字引脚 0(RX)和 1(TX)进行连接。
- USB 转串行芯片 ATmega16U2
- 开发板上的 ATmega16U2 通过 USB 传输此串行通信,并作为虚拟 COM 端口出现在计算机上的软件中。
- 16U2 固件使用标准 USB COM 驱动程序,无需外部驱动程序。
- Arduino 软件(IDE)包含一个串行监视器,允许向开发板发送和从开发板接收简单的文本数据。
- 当数据通过 USB 转串行芯片和 USB 连接传输到计算机时,开发板上的 RX 和 TX LED 将闪烁(但引脚 0 和 1 上的串行通信除外)。
7.2 软件串口通信
- SoftwareSerial 库允许在 Uno 的任何数字引脚上进行串行通信。
I2C 和 SPI 通信能力
- ATmega328 还支持 I2C(TWI)和 SPI 通信。
- Arduino 软件(IDE)包含一个 Wire 库,可简化 I2C 总线的使用,SPI 库可参考官网。
参考资料链接:
Arduino UNO Rev3 – Reliable ATmega328P Board with Digital & Analog I/O — Arduino Official Store