纵览
在Adnuino Nano网站上节选了该控制器的价格等,在中国买非常便宜,我用10元左右的人民币就买到了这个产品,在Arduino网站上的价格是22美金,还不包括税。这种差别是如何造成的?是国外的人工贵,没有知识产权?还是别的啥东西,总之,这是我们的价格是优势吗?还是我们的人多,造成了这样的一个市场。
Arduino Nano是一个小巧完整的控制板,对面包板友好,基于ATmega328P(Arduino Nano 3.x)。这个板子和Arduino Duemilanove相当,但外形不同。没有外部DC电源接口,使用Mini-B的USB接头,不使用独立的电源
Arduino Nano是一个小巧完整的控制板,对面包板友好,基于ATmega328P(Arduino Nano 3.x)。这个板子和Arduino Duemilanove相当,但外形不同。没有外部DC电源接口,使用Mini-B的USB接头,不使用独立的电源
技术性能指标
微处理器
ATmega328
Architecture
AVR
运行电压
5V
Flash Memory
32 kB, 其中2 kB是bootloader使用
SRAM
2 kB
Clock Speed
16 MHz
模拟量输入端子
8
EEPROM
1 kB
每个I/O点的直流电流
40 mA(I/O Pins)
输入电压
7 - 12 V
数字 I/O 端子
22 (6个可以是PWM)
耗电
19 mA
PCB 尺寸
18 x 45 mm
重量
7 g
产品代号
A0000005
说明文档
Arduino Nano 是一个开源代码的硬件!可以用下面的文件来制作硬件:
EAGLE FILES IN ZIP
SCHEMATICS
Power 电源
Arduino Nano 可以用Mini-B USB连接,也可以用7-12V的没有经过调整的(pin 30)电源供电,还可以用经过调整的5V(pin 27)外部电源供电。电源选择是自动的,自动选择更高的电源。
内存
ATmega328P有32 kB(已经有2 kB被Bootloader使用了,还有2 kB的SRAM机1 kB的EEPROM。
输入与输出
Nano的14个数字端口可以作为数字输入或者是输出,用程序中的pinMode()定义,用digitalWrite和digitalRead()功能块可以控制。他们工作在5V电压下。每个端口提供输出电流或者是接受40 mA的电流。在内部有一个上拉的电阻,阻值为20~50 kOhms,另外一些端子还有特殊的定义:
Serial: 0(RX) 和 1(TX). 用来接受(RX)和发送(TX)TTL 串行数据。这些针连接到相应的FTDI USB-to_TTL 串口芯片。前一阵网上盛传的什么FTDI反人类的帖子可能说的就是这里的问题。如果不购买正规渠道的Arduino,FTDI会被一个一个的终止运行。确实是一个花钱花力气的事情。但我认为我们还是应该尊重别人的劳动,不能不劳而获。这是一个民族乃至国家的底线。
外部中断:2和3端子。这些外部接口可以配置然后来生成中断,可以是当外部出现低电平时,或者是上升沿和下降沿时来触发中断。参考attachInterrupt()函数了解详情。
PWM:3,5,6,9,10和11,提供8位的PWM输出,用analogWrite()功能函数实现。
SPI:10(SS),11(MOSI),12(MISO),13(SCK)。这些针脚支持SPI通讯,尽管时由硬件支持,但用Arduino软件不包含。
LED:13,是一个内置的LED,连接到管脚13,当管脚输入是高电压时,LED亮,当输出是低电压时,LED关闭。
Nano有8个模拟量输入,每个输入的分辨率是10bits(即有1024个不同的可能)。默认的是测量的对地电压5V,当然,也可以通过analogReference()函数来修改其上限值。Analog 管脚6和7是不可以当作数字端口来使用的。另外,一些端口还是有很多的特殊功能:
I2C:A4(SDA) and A5(SCL). 支持I2C(TWI)通讯。在板上还有其他的端口支持。
AREF:为Analog输入的参考电压,用ananlogReference()一起使用。
Reset:将这个电位拉低,复位微处理器。这个是用来在增加一个附加板子时起作用。
通讯
Arduino Nano有许多的设备可以与计算机,与另一个Arduino,和另外的微处理器通讯。ATmega328P提供UART TTL (5V)串行通讯,这个可以数字端口0(RX)和数字端口1(TX)。在板子上一个FTDI FT232RL将实现串口到USB的通讯,FTDI驱动程序(包括在Arduino软件中)提供这个虚拟的com port。Arduino软件包括一个串口的监视器,使简单的字符数据可以从Arduino板子上送出。板子上的RX和TX的LED在FTDI芯片传送数据时会闪亮(但这不是端子0和端子1通讯时的情形)。SoftwareSerial库可以让任意Nano数字端口作为串口通讯使用。ATmega328P支持I2C和SPI通讯。Arduino软件包含Wire库使I2C总线通讯简单。要使用SPI通讯,请参考ATmega328P数据手册。
编程
Arduino Nano可以用Arduino软件来编程,选择“Arduino Duemilanovehu或者是Nano w/ATmega328P“,选择Tool > Board菜单(按自己的微处理器选择)。Arduino Nano的ATmega328P是预先就烧录了bootloader,上传代码时可以不用使用外部硬件编程器。通讯协议选择STK500. 可以用Arduino ISP或相似的设备来编辑,使用ICSP(In-Circuit Serial Programming)头而不用使用微处理器。
自动(软件)启动
为避免按复位按钮来生效新上传的程序,Arduino Nano设计了一个可以使用软件复位的方法。在FDRL的硬件控制线上(DTR)上连接了一个100 nF的电容到ATmega328P。当这个线是为低电平时,会发出一个长度足够的上升脉冲给板子。这样就可以实现软件的上传程序时的按钮按下时产生短暂的超时。此设置还有其他含义。 Mac OS X或Linux,每次与软件建立连接(通过USB)时都会重置。 对于接下来的半秒左右,引导加载程序在nano上运行。 如果编制的程序接到了第一时间的配置或者时数据,一定要等待一秒的时间再开始进行连接并传送数据。
微处理器
ATmega328
Architecture
AVR
运行电压
5V
Flash Memory
32 kB, 其中2 kB是bootloader使用
SRAM
2 kB
Clock Speed
16 MHz
模拟量输入端子
8
EEPROM
1 kB
每个I/O点的直流电流
40 mA(I/O Pins)
输入电压
7 - 12 V
数字 I/O 端子
22 (6个可以是PWM)
耗电
19 mA
PCB 尺寸
18 x 45 mm
重量
7 g
产品代号
A0000005
说明文档
Arduino Nano 是一个开源代码的硬件!可以用下面的文件来制作硬件:
EAGLE FILES IN ZIP
SCHEMATICS
Power 电源
Arduino Nano 可以用Mini-B USB连接,也可以用7-12V的没有经过调整的(pin 30)电源供电,还可以用经过调整的5V(pin 27)外部电源供电。电源选择是自动的,自动选择更高的电源。
内存
ATmega328P有32 kB(已经有2 kB被Bootloader使用了,还有2 kB的SRAM机1 kB的EEPROM。
输入与输出
Nano的14个数字端口可以作为数字输入或者是输出,用程序中的pinMode()定义,用digitalWrite和digitalRead()功能块可以控制。他们工作在5V电压下。每个端口提供输出电流或者是接受40 mA的电流。在内部有一个上拉的电阻,阻值为20~50 kOhms,另外一些端子还有特殊的定义:
Serial: 0(RX) 和 1(TX). 用来接受(RX)和发送(TX)TTL 串行数据。这些针连接到相应的FTDI USB-to_TTL 串口芯片。前一阵网上盛传的什么FTDI反人类的帖子可能说的就是这里的问题。如果不购买正规渠道的Arduino,FTDI会被一个一个的终止运行。确实是一个花钱花力气的事情。但我认为我们还是应该尊重别人的劳动,不能不劳而获。这是一个民族乃至国家的底线。
外部中断:2和3端子。这些外部接口可以配置然后来生成中断,可以是当外部出现低电平时,或者是上升沿和下降沿时来触发中断。参考attachInterrupt()函数了解详情。
PWM:3,5,6,9,10和11,提供8位的PWM输出,用analogWrite()功能函数实现。
SPI:10(SS),11(MOSI),12(MISO),13(SCK)。这些针脚支持SPI通讯,尽管时由硬件支持,但用Arduino软件不包含。
LED:13,是一个内置的LED,连接到管脚13,当管脚输入是高电压时,LED亮,当输出是低电压时,LED关闭。
Nano有8个模拟量输入,每个输入的分辨率是10bits(即有1024个不同的可能)。默认的是测量的对地电压5V,当然,也可以通过analogReference()函数来修改其上限值。Analog 管脚6和7是不可以当作数字端口来使用的。另外,一些端口还是有很多的特殊功能:
I2C:A4(SDA) and A5(SCL). 支持I2C(TWI)通讯。在板上还有其他的端口支持。
AREF:为Analog输入的参考电压,用ananlogReference()一起使用。
Reset:将这个电位拉低,复位微处理器。这个是用来在增加一个附加板子时起作用。
通讯
Arduino Nano有许多的设备可以与计算机,与另一个Arduino,和另外的微处理器通讯。ATmega328P提供UART TTL (5V)串行通讯,这个可以数字端口0(RX)和数字端口1(TX)。在板子上一个FTDI FT232RL将实现串口到USB的通讯,FTDI驱动程序(包括在Arduino软件中)提供这个虚拟的com port。Arduino软件包括一个串口的监视器,使简单的字符数据可以从Arduino板子上送出。板子上的RX和TX的LED在FTDI芯片传送数据时会闪亮(但这不是端子0和端子1通讯时的情形)。SoftwareSerial库可以让任意Nano数字端口作为串口通讯使用。ATmega328P支持I2C和SPI通讯。Arduino软件包含Wire库使I2C总线通讯简单。要使用SPI通讯,请参考ATmega328P数据手册。
编程
Arduino Nano可以用Arduino软件来编程,选择“Arduino Duemilanovehu或者是Nano w/ATmega328P“,选择Tool > Board菜单(按自己的微处理器选择)。Arduino Nano的ATmega328P是预先就烧录了bootloader,上传代码时可以不用使用外部硬件编程器。通讯协议选择STK500. 可以用Arduino ISP或相似的设备来编辑,使用ICSP(In-Circuit Serial Programming)头而不用使用微处理器。
自动(软件)启动
为避免按复位按钮来生效新上传的程序,Arduino Nano设计了一个可以使用软件复位的方法。在FDRL的硬件控制线上(DTR)上连接了一个100 nF的电容到ATmega328P。当这个线是为低电平时,会发出一个长度足够的上升脉冲给板子。这样就可以实现软件的上传程序时的按钮按下时产生短暂的超时。此设置还有其他含义。 Mac OS X或Linux,每次与软件建立连接(通过USB)时都会重置。 对于接下来的半秒左右,引导加载程序在nano上运行。 如果编制的程序接到了第一时间的配置或者时数据,一定要等待一秒的时间再开始进行连接并传送数据。