购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.8 Arduino NANO

Arduino NANO类似于UNO紧凑型开发板,Arduino NANO是一款面包板操作友好的小型Arduino UNO。这款开发板最初由Gravitech设计,如图1-13所示。

图1-13 Arduino NANO开发板

1.8.1 概述

Arduino NANO是一款小巧、全面、基于ATmega328(Arduino NANO 3.x)、面包板操作友好的电路板。它或多或少具有一些与Arduino Duemilanove相同的功能,但封装不同。它只少1个DC电源插座,采用Mini-B USB电缆(而不是标准电缆),其控制器和总体参数如表1-17和表1-18所示。

表1-17 Arduino NANO微控器参数

表1-18 Arduino NANO总体参数

1.8.2 技术规范

本部分主要介绍Arduino NANO开发板的电源、存储器、输入和输出、通信、编程、自动(软件)复位、USB过流保护和物理特性。

1.电源

Arduino NANO可通过Mini-B USB连接、6~20V未稳压外部电源(引脚30)或5V稳压外部电源(引脚27)供电。它会自动选择电压最高的电源。

2.存储

ATmega328具有32KB闪存(2KB被启动加载器占用)。ATmega328还具有2KB SRAM和1KB EEPROM。

3.输入输出

利用pinMode()、digitalWrite()和digitalRead()函数,NANO上的14个数字引脚都可用作输入或输出。它们的工作电压为5V。每个引脚都可以提供或接受最高40mA的电流,都有1个20~50kΩ的内部上拉电阻器(默认情况下断开)。此外,某些引脚还具有特殊功能:

串口: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(MISO)、13(SCK)。这些引脚支持SPI通信,虽然由底层硬件提供,但目前未包含在Arduino语言内。

LED:13。有1个内置式LED连至数字引脚13。在引脚为高值时,LED打开;引脚为低值时,LED关闭。

NANO有8个模拟输入,每个模拟输入都提供10位的分辨率(即1024个不同的数值)。默认情况下,它们的电压为0~5V,可以利用analogReference()函数改变其范围的上限值。模拟引脚6和7无法用作数字引脚。此外,某些引脚还具有特殊功能:

I2C:4(SDA)和5(SCL)。支持通过Wire库进行I2C(TWI)通信(技术文档见Wiring网站)。

电路板上还有另外2个引脚:

AREF:模拟输入的参考电压,与analogReference()一起使用;

Reset:降低线路值以复位微控制器,通常用于为扩展板添加复位按钮。

4.通信

Arduino NANO有很多工具可供与计算机、另一个Arduino或其他微控制器通信之用。ATmega328提供了可在数字引脚0(RX)和1(TX)上进行的UART TTL(5V)串口通信。电路板上的FTDIFT232RL会通过USB进行该串行通信,FTDI驱动器(带有Arduino软件)在计算机上充当软件的虚拟通信端口。Arduino软件包含1个串行监控器,使得简单的文本数据能够发送到Arduino板或者从Arduino板上发出。当通过计算机上的FTDI芯片和USB连接传输数据时,电路板上的RX和TX LED会闪烁(但不适于引脚0和1上的串行通信)。

SoftwareSerial库可以在Arduino NANO的任何数字引脚上进行串行通信。

ATmega328还支持I2C(TWI)和SPI通信。Arduino软件包含1个Wire库,可简化I2C总线的使用。如需使用SPI通信,请参照ATmega328数据手册。

5.编程

可以利用Arduino软件给Arduino NANO编程。通过Tools→Board菜单选择“Arduino Duemilanove或者NANO w/ATmega328”(根据电路板上的微控制器)。

Arduino NANO上的ATmega328预先烧录了启动加载器,从而无须使用外部硬件编程器即可将新代码上传给它,利用原始的STK500协议进行通信。

还可以旁路启动加载器,利用Arduino ISP等通过ICSP(在线串行编程)接口为微控制器编程。

6.自动软件复位

Arduino NANO的设计让它能够被运行于计算机之上的软件复位,而不需要在上传前,按下复位按钮。FT232RL的一条硬件流程控制线路(DTR)通过1个100nF电容器与ATmega328的复位线路连接。该线路被断言(降低)时,复位线路电压下降足够大以至于复位芯片。Arduino软件利用该能力,只需在Arduino环境中按下“上传”按钮即可上传代码。这就意味着,启动加载器的暂停时间更短,因为降低DTR能够开始上传,协调一致。

该设置还有其他含义。Arduino NANO连至Mac OS X或Linux的计算机时,每次通过软件(通过USB)连接时它都会复位。在接下来的0.5s左右的时间内,启动加载器在Arduino NANO上运行。虽然它被设定为忽略不良数据(即除了上传新代码以外的任何数据),但它会在连接打开之后拦截发送给电路板数据的前几个字节。如果在它首次起动时,在电路板上运行的程序收到了一次性配置或其他数据,要确保与之通信的软件会在打开连接之后稍等片刻才发送该数据。 2aYbFgufh9P5DOY7gS79fiS9B/vBz2CdKjmCXVHEZv3Rv5QV12OntzLFoLpv8G1Q

点击中间区域
呼出菜单
上一章
目录
下一章
×