Arduino ATMEGA328 SMD 面包板用户手册
超过view
Arduino Uno 是一款基于 ATmega328(数据表)的微控制器板。 它有 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出)、6 个模拟输入、一个 16 MHz 晶体振荡器、一个 USB 连接、一个电源插孔、一个 ICSP 接头和一个复位按钮。 它包含支持微控制器所需的一切; 只需使用 USB 数据线将其连接到计算机,或使用 AC-DC 适配器或电池为其供电即可开始使用。 Uno 与之前的所有开发板不同,因为它不使用 FTDI USB 转串口驱动芯片。 相反,它具有编程为 USB 转串口转换器的 Atmega8U2。 “Uno”在意大利语中的意思是一个,命名是为了纪念即将发布的 Arduino 1.0。 Uno 和 1.0 版将成为 Arduino 的参考版本,向前发展。 Uno 是一系列 USB Arduino 开发板中的最新产品,也是 Arduino 平台的参考模型; 如需与以前版本的比较,请参阅 Arduino 板的索引。
概括
- 微控制器 ATmega328
- 操作量tag5V
- 输入音量tage(推荐)7-12V
- 输入音量tage(极限)6-20V
- 数字 I/O 引脚 14 个(其中 6 个提供 PWM 输出)
- 模拟输入引脚 6
- 每个 I/O 引脚的直流电流 40 mA
- 3.3V 引脚的直流电流 50 mA
- 闪存 32 KB (ATmega328),其中 0.5 KB 用于引导加载程序
- 静态随机存取存储器 2 KB (ATmega328)
- EEPROM 1 KB (ATmega328)
- 时钟速度 16 MHz
原理图和参考设计
鹰 files: Arduino-uno-reference-design.zip
原理图:arduino-uno-schematic.pdf
力量
Arduino Uno 可以通过 USB 连接或外部电源供电。 源的功率是自动选择的。 外部(非 USB)电源可以来自交流转直流适配器(壁式)或电池。 可以通过将 2.1mm 中心正极插头插入电路板的电源插孔来连接适配器。 电池的引线可以插入电源连接器的 Gnd 和 Vin 排针中。 该板可以在 6 至 20 伏的外部电源下运行。 但是,如果提供的电压低于 7V,则 5V 引脚可能会提供低于 12 伏的电压,并且电路板可能不稳定。 如果使用超过 XNUMXV,则 voltag调节器可能会过热并损坏电路板。 推荐范围为 7 至 12 伏。
电源引脚如下:
- 车牌号输入音量tage 到 Arduino 板,当它使用外部电源时(而不是来自 USB 连接或其他稳压电源的 5 伏)。 你可以提供卷tage 通过这个引脚,或者,如果提供 voltage 通过电源插孔,通过此引脚访问它。
- 5伏。 稳压电源用于为板上的微控制器和其他组件供电。 这可以通过板载稳压器来自 VIN,也可以由 USB 或其他稳压 5V 电源提供。
- 3V3。 板载稳压器产生 3.3 伏电源。 最大电流消耗为 50 mA。
- 地线。 接地引脚。
记忆
ATmega328 有 32 KB(其中 0.5 KB 用于引导加载程序)。 它还具有 2 KB 的 SRAM 和 1 KB 的 EEPROM(可以使用 EEPROM 库进行读写)。
输入和输出
Uno 上的 14 个数字引脚中的每一个都可以用作输入或输出,使用 pinMode()、digitalWrite() 和 digitalRead() 函数。 它们的工作电压为 5 伏。 每个引脚可以提供或接收最大 40 mA 的电流,并具有一个 20-50 kOhms 的内部上拉电阻(默认断开)。 此外,一些引脚有
特殊功能:
- 串行:0 (RX) 和 1 (TX)。 用于接收(RX)和发送(TX)TTL串行数据。 这些引脚连接到 ATmega8U2 USB-to-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 熄灭。
Uno 有 6 个模拟输入,标记为 A0 到 A5,每个提供 10 位分辨率(即 1024 个不同的值)。 默认情况下,它们的测量范围是从地到 5 伏,但是否可以使用 AREF 引脚和 analogReference() 函数更改其范围的上限? 此外,一些引脚具有专门的功能:
- I2C:4 (SDA) 和 5 (SCL)。 支持使用 Wire 库的 I2C (TWI) 通信。 板上还有几个其他引脚:
- AREF。 参考卷tage 用于模拟输入。 与 analogReference() 一起使用。
- 重置。 将这条线拉低以重置微控制器。 通常用于将重置按钮添加到屏蔽板上的屏蔽按钮。
- 另请参阅 Arduino 引脚和 ATmega328 端口之间的映射?。
沟通
Arduino UNO 具有许多用于与计算机、另一个 Arduino 或其他微控制器进行通信的工具。 ATmega328 提供 UART TTL (5V) 串行通信,可在数字引脚 0 (RX) 和 1 (TX) 上使用。 电路板上的 ATmega8U2 通过 USB 引导这种串行通信,并作为计算机软件的虚拟 com 端口出现。 '8U2 固件使用标准 USB COM 驱动程序,无需外部驱动程序。 但是,在 Windows 上,.inf file 是必须的。 Arduino 软件包括一个串行监视器,它允许将简单的文本数据发送到 Arduino 板或从 Arduino 板发送。 当数据通过 USB 转串口芯片和 USB 连接传输到计算机时,电路板上的 RX 和 TX LED 会闪烁(但对于引脚 0 和 1 上的串行通信则不会)。 SoftwareSerial 库允许在 Uno 的任何数字引脚上进行串行通信。 ATmega328 还支持 I2C (TWI) 和 SPI 通信。 Arduino 软件包括一个 Wire 库,以简化 I2C 总线的使用; 有关详细信息,请参阅文档。 对于 SPI 通信,请使用 SPI 库。
编程
Arduino Uno 可以使用 Arduino 软件(下载)进行编程。 从“工具”>“电路板”菜单中选择“Arduino Uno”(根据电路板上的微控制器)。 有关详细信息,请参阅参考资料和教程。 Arduino Uno 上的 ATmega328 预烧有引导加载程序,允许您在不使用外部硬件编程器的情况下向其上传新代码。 它使用原始的 STK500 协议进行通信(参考,C 头 file秒)。 您还可以绕过引导加载程序并通过 ICSP(在线串行编程)接头对微控制器进行编程; 有关详细信息,请参阅这些说明。 ATmega8U2 固件源代码可用。 ATmega8U2 加载了一个 DFU bootloader,可以通过连接电路板背面(意大利地图附近)的焊接跳线,然后重置 8U2 来激活。 然后,您可以使用 Atmel 的 FLIP 软件 (Windows) 或 DFU 编程器(Mac OS X 和 Linux)加载新固件。 或者您可以将 ISP 标头与外部编程器一起使用(覆盖 DFU 引导加载程序)。 有关详细信息,请参阅此用户提供的教程。
自动(软件)重置
Arduino Uno 的设计方式允许它通过连接的计算机上运行的软件进行重置,而不是在上传之前需要物理按下重置按钮。 ATmega8U2 的硬件流控制线 (DTR) 之一通过 328 纳法拉电容器连接到 ATmega100 的复位线。 当这条线被断言(拉低)时,复位线下降足够长的时间来复位芯片。 Arduino 软件使用此功能让您只需在 Arduino 环境中按下上传按钮即可上传代码。 这意味着引导加载程序可以有更短的超时时间,因为 DTR 的降低可以与上传开始很好地协调。
此设置还有其他含义。 当 Uno 连接到运行 Mac OS X 或 Linux 的计算机时,每次从软件(通过 USB)建立连接时它都会重置。 在接下来的半秒左右,引导加载程序在 Uno 上运行。 虽然它被编程为忽略格式错误的数据(即除了上传新代码之外的任何数据),但它会在连接打开后拦截发送到电路板的前几个字节的数据。 如果板上运行的草图在第一次启动时收到一次性配置或其他数据,请确保与其通信的软件在打开连接后和发送此数据之前等待一秒钟。 Uno 包含一条迹线,可以将其切断以禁用自动复位。 迹线两侧的焊盘可以焊接在一起以重新启用它。 它被标记为“RESET-EN”。 您也可以通过将一个 110 欧姆的电阻从 5V 连接到复位线来禁用自动复位; 有关详细信息,请参阅此论坛主题。
USB 过流保护
Arduino Uno 有一个可重置的聚乙烯保险丝,可保护您计算机的 USB 端口免受短路和过流的影响。 虽然大多数计算机都提供自己的内部保护,但保险丝提供了额外的保护层。 如果 USB 端口上的电流超过 500 mA,保险丝会自动断开连接,直到短路或过载消除。
物理特性
Uno PCB 的最大长度和宽度分别为 2.7 英寸和 2.1 英寸,USB 连接器和电源插孔超出了以前的尺寸。 四个螺丝孔允许将电路板连接到表面或外壳。 请注意,数字引脚 7 和 8 之间的距离为 160 mil (0.16″),不是其他引脚 100 mil 间距的偶数倍。
Arduino UNO 参考设计
参考设计“按原样”提供且“包含所有缺陷”。 Arduino 否认所有其他明示或暗示的保证,Arduino 可能随时更改规格和产品说明,恕不另行通知。 客户不得将产品(包括但不限于对适销性或特定用途适用性的任何默示保证)视为依赖于标记为“保留”或“未定义”的任何功能或说明的缺失或特征。 Arduino 保留这些以供将来定义,并且对因将来更改它们而引起的冲突或不兼容不承担任何责任。 上的产品信息 Web 网站或材料如有更改,恕不另行通知。 不要使用此信息完成设计。
PDF下载: Arduino ATMEGA328 SMD 面包板用户手册