Arduino Uno R3开发板入门学习笔记

Arduino Uno R3开发板入门学习笔记

目录

一、控制台的结构

二、技术规格

三、引脚分配

四、供电方式

五、内部存储

六、输入输出

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)
EEPROM1 KB(ATmega328P)
时钟频率16 MHz
LED_BUILTIN13
长度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