Arduino Uno 是一块基于 ATmega328P 构建的 5V 微控制器板。它提供有序的引脚功能、清晰的电源选项、明确的电流限制以及内置通信支持。本文介绍了Arduino Uno的引脚、规格、功率处理、内存类型及安全电气作。

Arduino Uno 概述
Arduino Uno 是一款为一般电子控制任务设计的 5V 微控制器板。它基于ATmega328P构建,用于学习微控制器的工作原理以及创建简单到中级的控制项目。该板在易用性和功能之间取得了良好的平衡,拥有足够的内存、输入和输出引脚,并内置通信支持,支持许多核心应用。它还与现有的盾牌、库和学习资源保持高度兼容性,使其成为基于Arduino开发的稳定且持久的选择。
Arduino Uno 引脚配置

| 针类 | 徽章名称 | 徽章描述 |
|---|---|---|
| 力量 | Vin,3.3V,5V,GND | Vin:使用外部电源时输入Arduino的电压。 |
| 力量 | Vin,3.3V,5V,GND | 5V:稳压电源,用于为微控制器及板上的其他组件供电。 |
| 力量 | Vin,3.3V,5V,GND | 3.3V:由车载电压调节器产生3.3V电源。最大电流消耗为50mA。 |
| 力量 | Vin,3.3V,5V,GND | GND:接地针脚。 |
| 重置 | 重置 | 重置微控制器。 |
| 模拟引脚 | A0 – A5 | 用于提供0-5V |
| 输入/输出引脚 | 数字引脚 0 - 13 | 可以用作输入或输出引脚。 |
| 连续剧 | 0(Rx), 1(Tx) | 用于接收和传输TTL串行数据。 |
| 外部中断 | 2,3 | 触发打断。 |
| PWM | 3,5,6,9,11 | 提供8位PWM输出。 |
| SPI | 10(SS)、11(MOSI)、12(MISO)和13(SCK) | 用于SPI通信。 |
| 内置LED | 13 | 打开内置LED灯。 |
| TWI | A4(SDA),A5(SCA) | 用于TWI通信。 |
| AREF | AREF | 用于提供输入电压的参考电压。 |
Arduino Uno 技术规格
| 微控制器 | ATmega328P – 8位AVR家族微控制器 |
|---|---|
| 工作电压 | 5V |
| 推荐输入电压 | 7-12V |
| 输入电压限制 | 6-20V |
| 模拟输入引脚 | 6(A0 – A5) |
| 数字I/O引脚 | 14个(其中6个提供PWM输出) |
| I/O 引脚上的直流电流 | 40毫安 |
| 3.3V引脚上的直流电流 | 50毫安 |
| 闪存 | 32 KB(0.5 KB 用于引导加载程序) |
| SRAM | 2 KB |
| EEPROM | 1 KB |
| 频率(时钟速度) | 16 MHz |
Arduino Uno 的常见应用
基础电子学习
Arduino Uno 用于理解核心电子学概念,如电压、电流、数字逻辑和信号时序。它允许与LED灯、按钮和蜂鸣器简单交互,帮助建立电路行为和控制的坚实基础。
基于传感器的监控系统
该板应用于读取环境数据的系统,如温度、湿度、光照、气体或运动。这些设置将物理变更转换为数字值,可用于显示、记录或用于决策。
家庭自动化原型
Arduino Uno用于控制灯具、风扇、继电器及其他家庭负载。它可以响应传感器输入或定时条件,适合小规模自动化和控制逻辑测试。
机器人与电机控制
在机器人项目中,Arduino Uno负责管理电机、电机驱动器以及用于运动和方向控制的传感器。它负责小型机器人的基本导航逻辑、速度调节和障碍物检测。
数据记录与测量
该板可通过外部内存模块或串行通信从传感器中收集和存储数据。这使得它在追踪环境或系统条件的变化时非常有用。
基于传播的项目
Arduino Uno 支持串口、I²C 和 SPI 通信,使显示器、无线模块及其他控制器能够交互。它常被用作设备之间的通信桥梁。
控制系统与自动化
它应用于简单的控制系统,如定时器、计数器和基于阈值的控制器。这些系统根据编程规则对输入做出反应,并在实际中调整输出。
教育演示与培训套件
Arduino Uno经常被整合进培训套件和课堂演示中。其稳定的硬件和广泛的文档支持结构化学习和可重复的实验。
嵌入式想法的快速原型制作
该板用于快速测试嵌入式概念,然后再转向定制硬件。它允许快速验证逻辑、引脚使用和系统行为,无需复杂的设计步骤。
Arduino Uno 电源输入与安全电压限制

• USB电源输入 - Arduino Uno可通过USB端口直接接收稳定的5V电源。这些电源来自电脑或USB适配器,并且已经根据电路板的工作需求进行控制。
• 直流桶形插孔输入 - 直流桶形插孔允许Arduino Uno通过外部电源适配器运行。输入电压通过板载稳压器,为板块提供稳定的电源。
• VIN引脚输入——VIN引脚在调节前接受外部原始电压。当电力从外部电源供电而不使用枪管插孔时,它被使用。
• 推荐输入范围(7–12V)- 在此范围内提供电压可使Arduino Uno的调节器正常工作,同时保持稳定和安全运行。
• 绝对允许范围(6–20V)——该范围的电压可短暂容忍,但持续运行会对稳压器造成压力并降低板子可靠性。
• 直接5V引脚供电警告——直接向5V引脚供电会绕过车载保护和调节,如果电压不正确,损坏风险会增加。
Arduino Uno 输入输出电流限制与电气安全
每个I/O的安全电流
每个Arduino Uno输入或输出引脚设计为正常运行时可承受约20毫安电流,确保其在安全电气范围内。
最高限额
单个引脚不应超过40毫安,因为这是一个应力极限,连续施加可能会造成损伤。
总I/O电流限制
所有I/O引脚内部都存在限制,因此从多个引脚拉取的电流必须保持在Arduino Uno安全支持的范围内。
动力轨电流限制
Arduino Uno的5V和3.3V供电线路最大电流容量不应超过。
支持更高电流负载
当电路需要超过Arduino Uno安全可提供的电流时,需要外部驱动组件来保护电路板。
Arduino Uno 数字引脚功能
| 针组 | 功能 |
|---|---|
| D0–D1 | Arduino Uno 用于硬件串行通信,支持通过 USB 连接上传程序和数据交换。 |
| D2–D3 | 作为Arduino Uno的外部中断引脚,使电路板能够快速响应信号变化。 |
| D3,D5,D6,D9,D10,D11 | 在Arduino Uno上提供PWM输出,实现数字引脚的受控信号切换。 |
| D10–D13 | 保留用于Arduino Uno上的SPI通信,支持板块与其他设备之间的数据传输。 |
| D13 | 直接连接到Arduino Uno内置的LED灯,反映引脚的输出状态。 |
Arduino Uno 上的 PWM 输出

Arduino Uno 包含六个支持PWM的数字引脚,由内置硬件定时器管理。PWM的工作原理是快速开关数字信号,以产生不同的输出电平。由于这些定时器在板内共享,若同时使用,如定时功能或声音生成等功能会影响PWM的运行。
Arduino Uno 上的模拟输入与 AREF
六个模拟输入通道
Arduino Uno 提供六个标记为 A0 到 A5 的模拟输入引脚,用于读取不同电压水平。
默认电压参考
默认情况下,Arduino Uno 以系统电压作为模拟转数字转换的参考。
AREF引脚功能
Arduino Uno 上的 AREF 引脚允许施加外部参考电压,以实现更受控的模拟读数。
参考调整效应
改变参考电压有助于在处理低电压信号时提高读数准确性。
双用途模拟针脚
Arduino Uno 上的模拟引脚在需要时也可以作为数字引脚工作。
Arduino Uno 上的通信接口
| 界面 | 针 | 目的 |
|---|---|---|
| UART | D0(RX),D1(德州) | 发送和接收串行数据。 |
| I²C | A4(SDA),A5(SCL) | 用两根线连接多个设备。 |
| SPI | D10–D13 | 传输数据的速度更快。 |
| ICSP 头部 | SPI针 | 可直接访问SPI信号。 |
Arduino Uno 上的内存类型

(1) 闪存 - Arduino Uno 上的闪存存储已编译的程序,断电后保持不变。
(2) SRAM - Arduino Uno 使用 SRAM 存储变量、临时数据和程序运行时所需的信息。
(3) EEPROM——Arduino Uno上的EEPROM存储少量数据,即使板子断电后仍需保存。
(4) SRAM 限制——SRAM 是 Arduino Uno 上最有限的内存,内存不足可能导致不稳定或意外行为。
(5)谨慎使用内存——大数据结构和存储文本应谨慎处理,以避免使用过多的SRAM。
常见的Arduino Uno问题及快速修复
| 问题 | 可能原因 | 快速解决 |
|---|---|---|
| 主板不供电 | 输入电压错误 | 检查Arduino Uno是否接收到正确的电源。 |
| 上传失败 | 使用 D0 或 D1 | 上传时断开所有连接到这些引脚的东西。 |
| 随机重置 | 不稳定的电源 | 提升Arduino Uno的功率稳定性。 |
| 传感器噪声 | 缺乏共同点 | 确保所有参与者与Arduino Uno共享同一接地连接。 |
| 销钉损伤 | 过量电流 | 使用外部驱动组件保护Arduino Uno引脚。 |
结论
Arduino Uno 设计采用清晰的引脚组、稳定的电源输入和明确的电气限制,支持稳定的运行。了解其引脚功能、电压范围、电流限制、通信接口和存储结构有助于防止错误和硬件损坏。这些细节解释了该板的运作方式及其功能如何在安全的技术范围内工作。
常见问题解答 [常见问题解答]
Arduino Uno 使用的是哪个时钟源?
Arduino Uno 采用 16 MHz 外部晶体振荡器,保证稳定的时序和稳定的运行。
Arduino Uno 上哪款芯片负责 USB 通信?
一颗USB转串口转换器芯片,常见的ATmega16U2,负责管理USB通信和程序上传。
Arduino Uno 有内置引导加载程序吗?
是的。引导加载程序存储在闪存中,允许通过USB上传程序而无需额外硬件。
Arduino Uno 引脚能防止短路吗?
不。引脚内部保护有限,可能因短路、过电压或过大电流而损坏。
Arduino Uno 的 ADC 分辨率是多少?
Arduino Uno 使用一个 10 位模拟转数字转换器,生成从0到1023的数值。
Arduino Uno 有多少硬件定时器?
Arduino Uno 包含三个硬件定时器:两个 8 位定时器和一个 16 位定时器。