7. Arduino Nano开发模块

模块描述

Arduino Nano是基于ATmega328P的小型开发板,完全兼容Arduino生态系统,拥有丰富的库函数和社区支持。板载USB转串口芯片(CH340G),可直接通过USB下载程序和供电。具有14个数字I/O口(6个PWM)、8个模拟输入、16MHz主频。特别适合快速原型验证、传感器数据采集、简单控制等电赛应用,开发简单快速。

工作原理

[USB 5V] → [肖特基二极管] → [5V稳压输出]
              ↓
         [AMS1117-3.3V] → [3.3V输出]
              ↓
         [ATmega328P]
              ↑
    [16MHz晶振] → [系统时钟]
              ↓
    ┌─────────┴──────────┐
    ↓                     ↓
[数字I/O×14]        [模拟输入×8]
(D0-D13+LED)         (A0-A7)
    ↓                     ↓
[PWM输出×6]          [10位ADC]

技术指标

- 处理器: ATmega328P (AVR) - 工作电压: 5V - 输入电压: 7-12V (VIN引脚) - 主频: 16MHz - Flash: 32KB (bootloader占用2KB) - SRAM: 2KB - EEPROM: 1KB - 数字I/O: 14个 (其中6个PWM) - 模拟输入: 8个 (10位ADC) - I/O电流: 单个20mA, 总40mA - 串口: 1个硬件UART - SPI/I2C: 支持 - 尺寸: 18mm × 45mm

接口管脚定义

管脚 名称 功能 说明
————————
1-2 D1/TX, D0/RX 串口 与USB共用
3 RESET 复位 低电平复位
4 GND 电源地
5-6 D2, D3 数字I/O 支持中断和PWM
7-10 D4-D7 数字I/O 普通I/O
11-12 D8, D9 数字I/O D9支持PWM
13-14 D10, D11 数字I/O+PWM D10为SS, D11为MOSI
15-16 D12, D13 数字I/O D12为MISO, D13为SCK+LED
17 3V3 3.3V输出 最大50mA
18 AREF ADC参考 外部参考电压
19-26 A0-A7 模拟输入 也可作数字I/O
27-28 A6, A7 模拟输入 仅模拟输入
29 5V 5V输出 USB供电或VIN输入
30 VIN 外部输入 7-12V DC

板上设置和信号指示

- 电源LED: 红色,指示5V供电 - TX/RX LED: 黄/绿色,串口通信指示 - L LED: 连接D13,用户可编程LED - USB接口: Mini USB或Micro USB - 复位按键: 手动复位按钮 - ICSP接口: 6针ISP下载接口 - 电源选择: USB或VIN自动切换

电气指标

- 工作电压: 5V - 推荐输入电压: 7-12V (VIN) - 极限输入电压: 6-20V - I/O电压: 5V TTL电平 - 单I/O电流: 最大40mA (推荐20mA) - 3.3V输出: 最大50mA - 5V输出: 取决于USB或VIN输入 - ADC分辨率: 10位 (0-1023) - ADC参考: 默认5V (可外接AREF) - PWM频率: 约490Hz (D5/D6为980Hz)

使用说明

1. 驱动安装: CH340G驱动(Windows需手动安装) 2. IDE设置: Arduino IDE选择“Arduino Nano”板型 3. 端口选择: 选择对应的COM口 4. 上传程序: 点击上传按钮,自动复位并下载 5. 库管理: 使用库管理器安装第三方库 6. 串口监视: 使用串口监视器调试(波特率匹配) 7. 引脚使用: 避免D0/D1用于其他功能(与串口冲突) 8. 电源选择: USB调试,VIN外部供电(>7V)

全国大学生电子设计竞赛相关赛题

- 2021年: 快速原型验证辅助工具 - 2019年H题: 模拟电磁曲射炮(简单控制) - 2017年: 传感器数据采集预处理 - 2015年: 辅助控制和数据转发 - 适用场景: 快速验证方案、传感器采集、简单逻辑控制

应用技术要点总结

1. 快速开发: 使用Arduino库函数加速开发 2. PWM应用: analogWrite()函数输出PWM(0-255) 3. ADC采集: analogRead()读取10位ADC值 4. 中断使用: attachInterrupt()配置外部中断(D2/D3) 5. 定时器: millis()/micros()获取时间,实现非阻塞延时 6. 串口通信: Serial库实现串口收发 7. I2C通信: Wire库连接I2C传感器 8. 库的使用: 善用第三方库(如PID、Servo、LiquidCrystal等)