描述
DIY达诺 v1.0
Dano是一款
基于 ATmega328 (Arduino Nano 3.x) 的小型、完整且适用于面包板的
电路板。它具有或多或少与 Arduino Duemilanove 相同的功能,但采用不同的封装。它只缺少一个直流
电源插孔,并且可以使用 Mini-B USB 电缆而不是标准电缆。
入门
使用我们的教程平台 Project Hub 中的 Nano 板为您的项目寻找灵感。
您可以在 Arduino Nano 入门部分找到配置电路板、使用 Arduino 软件 (IDE) 以及开始修改编码和
电子设备所需的所有信息。
在教程部分,您可以找到来自库和内置草图的示例以及其他有用信息,以扩展您对 Arduino 硬件和软件的了解。
力量
Arduino Nano 可以通过 Mini-B USB 连接、6-20V 非稳压外部电源(引脚 30)或 5V 稳压外部电源(引脚 27)供电。电源自动选择最高电压源。
记忆
ATmega328 有 32 KB,(也有 2 KB 用于引导加载程序。ATmega328 有 2 KB 的 SRAM 和 1 KB 的 EEPROM。
输入和输出
Nano 上的 14 个数字引脚中的每一个都可以用作输入或输出,使用 pinMode()、digitalWrite() 和 digitalRead() 函数。它们的工作电压为 5 伏。每个引脚可提供或接收最大 40 mA 的电流,并具有 20-50 kOhms 的内部上拉电阻(默认断开)。此外,一些引脚具有特殊功能:
串行:0(RX)和 1(TX)。用于接收 (RX) 和发送 (TX) TTL 串行数据。这些引脚连接到 FTDI USB 转 TTL 串行芯片的相应引脚。
外部中断:2 和 3。这些引脚可配置为在低值、上升沿或下降沿或值变化时触发中断。有关详细信息,请参阅 attachInterrupt() 函数。
PWM:3、5、6、9、10和11。通过analogWrite()函数提供8位PWM输出。
SPI:10(SS)、11(MOSI)、12(味噌)、13(SCK)。这些引脚支持 SPI
通信,虽然由底层硬件提供,但目前不包含在 Arduino 语言中。
LED:13。有一个内置LED连接到数字引脚13。当引脚为HIGH值时,LED亮,当引脚为LOW时,它关闭。
Nano 有 8 个模拟输入,每个提供 10 位分辨率(即 1024 个不同的值)。默认情况下,它们的测量范围是从地面到 5 伏,尽管可以使用类比参考()函数更改其范围的上限。模拟引脚 6 和 7 不能用作数字引脚。此外,一些引脚具有特殊功能:
I2C:A4 (SDA) 和 A5 (SCL)。使用 Wire 库(Wiring 网站上的文档)支持 I2C (TWI) 通信。
板上还有其他几个引脚:
AREF。模拟输入的参考电压。与analogReference() 一起使用。
重置。将此线拉低以重置微控制器。通常用于将重置按钮添加到屏蔽板上的屏蔽层。
沟通
Dano 有许多用于与计算机、另一个 Arduino 或其他微控制器通信的设施。ATmega328 提供 UART TTL (5V) 串行通信,可在数字引脚 0 (RX) 和 1 (TX) 上使用。板上的 FTDI FT232RL 通过 USB 引导这种串行通信,FTDI 驱动程序(包括在 Arduino 软件中)为计算机上的软件提供虚拟 com 端口。Arduino 软件包括一个串行监视器,它允许向 Arduino 板发送和从 Arduino 板发送简单的文本数据。当数据通过 FTDI 芯片和 USB 连接传输到计算机时,板上的 RX 和 TX LED 将闪烁(但不用于引脚 0 和 1 上的串行通信)。SoftwareSerial 库允许在 Nano 的任何数字引脚上进行串行通信。ATmega328 还支持 I2C (TWI) 和 SPI 通信。Arduino 软件包含一个 Wire 库以简化 I2C 总线的使用。要使用 SPI 通信,请参阅 ATmega328 数据表。
编程
Dano可以使用 Arduino 软件(下载)进行编程。从“工具”>“板”菜单中选择“Arduino Duemilanove 或 Nano w/ ATmega328”(根据板上的微控制器)。Dano 上的 ATmega328 预烧了一个引导加载程序,允许您在不使用外部硬件编程器的情况下上传新代码。它使用原始的 STK500 协议进行通信。您还可以绕过引导加载程序并使用 Arduino ISP 或类似工具通过 ICSP(在线串行编程)接头对微控制器进行编程。
自动(软件)复位
Arduino Nano 不需要在上传之前物理按下重置按钮,而是设计为允许通过连接的计算机上运行的软件对其进行重置。FT232RL 的硬件流控制线 (DTR) 之一通过 100
纳法电容连接到 ATmega328 的复位线。当这条线被置位(拉低)时,复位线下降到足以复位芯片。Arduino 软件使用此功能让您只需在 Arduino 环境中按下上传按钮即可上传代码。这意味着引导加载程序可以有更短的超时时间,因为 DTR 的降低可以与上传的开始很好地协调。
此设置还有其他含义。当 Nano 连接到运行 Mac OS X 或 Linux 的计算机时,每次从软件(通过 USB)连接到它时都会重置。在接下来的半秒左右,引导加载程序在 Nano 上运行。虽然它被编程为忽略格式错误的数据(即除了上传新代码之外的任何内容),但它会在打开连接后截取发送到电路板的前几个字节的数据。如果板上运行的草图在第一次启动时收到一次性配置或其他数据,请确保与之通信的软件在打开连接后和发送此数据之前等待一秒钟。
该单元具有 14 个可用于连接外部组件的数字引脚,而板上集成了 6 个 10 位分辨率的模拟引脚、2 个复位引脚和 6 个电源引脚。
与其他 Arduino 板一样,该设备的工作电压为 5V,输入电压范围为 6V 至 20V,推荐输入电压范围为 7V 至 12V。
本机时钟频率为16MHz,用于恒压产生一定频率的时钟。
该板支持 USB 接口并使用迷你 USB 端口,与大多数使用标准 USB 端口的 Arduino 板不同。本机不包含直流电源插孔,即您无法从外部电源为电路板供电。
此外,该设备本质上对面包板友好,这意味着您可以将此设备与面包板连接并制作一系列电子项目。
闪存用于存储程序,Atmega168的闪存为16KB(其中2KB用于Bootloader),
Atmega328的闪存为32KB。
同样,对于 Atmega168 和 Atmega328,EEPROM 为 512KB 和 1KB,SRAM 分别为 1KB 和 2KB。
Nano 板与 UNO 板几乎相似,前者尺寸更小,没有 DC 电源插孔。