概述:
Arduino Nano是一款基于ATMega328P(Arduino Nano 3.x)的小型、完整且易于实验的板。它只缺少一个直流电源插座,并且可以使用Mini-B USB电缆而不是标准的。
技术参数:
微控制器 | ATmega328 |
---|---|
电源支持 | 3.35 -12 V (3.3V 型号) or 5 - 12 V (5V 型号) |
工作电压 | 3.3V or 5V (取决于型号) |
数字I/O引脚 | 14 |
PWM通道 | 6 |
UART | 1 |
SPI | 1 |
I2C | 1 |
模拟输入通道 | 6 |
外部中断源 | 2 |
I/O引脚的直流电流 | 40 mA |
闪存 | 32KB(其中引导程序使用2KB) |
SRAM | 2 KB * |
EEPROM | 1 KB * |
时钟速度 | 8 MHz (3.3V 版本) 或者16 MHz (5V 版本) |
电源
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毫安的电流,内部上拉电阻(默认断开)为20-50千欧。此外,一些管脚还具有特殊功能:
Serial:0(RX)和1(TX)。用于接收(RX)和发送(TX)TTL串行数据。这些引脚连接到FTDI USB-to-TTL串行芯片的相应引脚。
External Interrupts:2和3。这些管脚可配置为触发低值、上升或下降边缘或值变化的中断。有关详细信息,请参见attachintrupt()函数。
PWM:3、5、6、9、10和11。使用analogWrite()函数提供8位PWM输出。
SPI:10(SS),11(MOSI),12(MISO),13(SCK)。这些管脚支持SPI通信,虽然由底层硬件提供,但目前不包括在Arduino语言中。
LED:13。有一个内置的LED连接到数字管脚13。当管脚为高值时,LED亮,当管脚为低值时,LED熄灭。
NANO有8个模拟输入,每个输入提供10位分辨率(即1024个不同的值)。默认情况下,它们从接地电压测量到5伏,但是否可以使用analogReference()函数更改其范围的上限。模拟管脚6和7不能用作数字管脚。此外,一些管脚具有特殊功能:
I2C:A4(SDA)和A5(SCL)。使用Wire库(wiring网站上的文档)支持I2C(TWI)通信。
板上还有几个别针:
AREF:模拟输入的参考电压。与analogReference()一起使用。
RESET:将此线调低以重置微控制器。通常用于在屏蔽板上添加重置按钮,以阻止板上的重置按钮。
通信
Arduino Nano具有许多用于与计算机,另一个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数据表。
程序
Arduino Nano可以使用Arduino软件(下载)进行编程。从“工具>板”菜单中选择“Arduino Duemilanove或Nano W/ATMega328”(根据板上的微控制器)。Arduino NANO上的ATMega328预装了一个引导加载程序,允许您在不使用外部硬件程序员的情况下向其上载新代码。它使用原始的stk500协议进行通信。您还可以绕过引导加载程序,使用Arduino ISP或类似软件通过ICSP(电路内串行编程)报头对微控制器进行编程。自动(软件)复位
自动(软件)复位
Arduino Nano的设计方式是允许在连接的计算机上运行的软件对其进行重置,而不是在上载之前需要物理按下重置按钮。FT232RL的一条硬件流量控制线(DTR)通过100纳米法拉电容器连接到ATMega328的复位线。当这一行被断言(取低)时,复位行下降足够长的时间来复位芯片。Arduino软件使用此功能,只需在Arduino环境中按Upload按钮即可上载代码。这意味着bootloader可以有更短的超时,因为DTR的降低可以与上载的开始很好地协调。这个设置还有其他含义。当NANO连接到运行MAC OS X或Linux的计算机时,每次从软件(通过USB)连接到它时,它都会重置。接下来的半秒钟左右,引导加载程序在NANO上运行。当它被编程为忽略格式错误的数据(即除了上传新代码之外的任何东西)时,它将截获连接打开后发送到板的前几个字节的数据。如果板上运行的草图在首次启动时收到一次性配置或其他数据,请确保与之通信的软件在打开连接后和发送此数据之前等待一秒钟。
如下图所示
概述:
Arduino UNO是基于ATmega328P的Arduino开发板。它有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚,一个16 MHz的晶体振荡器,一个USB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了微控制器所需的一切,你只用简单地把它连接到计算机的USB接口,或者使用AC-DC适配器,再或者用电池,就可以驱动它。
“Uno” 在意大利语中意思是“一”。Arduino UNO是Arduino系列的一号开发板,Arduino IDE 1.0是Arduino IDE的第一个正式版本,Arduino UNO硬件和Arduino IDE软件建立了一套Arduino开发标准,此后的Arduino开发板和衍生产品都是在这个标准上建立起来的。
技术参数:
型号 | Arduino UNO |
---|---|
微控制器 | ATmega328Pa |
工作电压 | 5 V |
输入电压(推荐) | 7-12 V |
输入电压(极限) | 6-20 V |
数字I/O引脚 | 14 |
PWM通道 | 6 |
模拟输入通道(ADC) | 6 |
每个I/O直流输出能力 | 20 mA |
3.3V端口输出能力 | 50 mA |
Flash | 32 KB(其中引导程序使用0.5 KB) |
SRAM | 2 KB |
EEPROM | 1 KB |
时钟速度 | 16 MHz |
板载LED引脚 | 13 |
长度 | 68.6 mm |
宽度 | 53.4 mm |
重量 | 25 g |
编程:
可通过Arduino IDE对Arduino UNO编程。
在Arduino UNO使用ATmega328 芯片上,存储有bootloader程序,使得用户可以上传程序到开发板上,而不需要使用额外的编程器。这个上传程序的过程使用STK500协议完成。
你也可以不使用bootloader,通过ICSP接口连接编程器给Arduino UNO上传程序。
注意事项:
Arduino Uno上有一个自恢复保险丝,当短路或过流时,电流超过500mA,其可以自动断开供电,从而保护计算机的USB端口和Arduino。虽然大多数计算机USB端口都提供了内部保护,但是此保险丝可以提供了额外的保护。
电源
可以通过USB口或者直流电源座给Arduino Uno供电。Arduino UNO带有自动切换电源功能。电源引脚如下:
如下图所示
上述确认OK后,可以进行编译和烧录
概述:
Arduino Pro Mini是基于ATMega328的微控制器板。
它有14个数字输入/输出管脚(其中6个可用作脉宽调制输出)、6个模拟输入、一个车载谐振器、一个复位按钮和用于安装管脚头的孔。
Arduino Pro Mini适用于半永久性安装在物体或展览中。该板没有预先安装的头,允许使用各种类型的连接器或直接焊接电线。引脚布局与Arduino Mini兼容。
有两个版本的专业迷你。一个在3.3V和8MHz下运行,另一个在5V和16MHz下运行。
技术参数:
微控制器 | ATmega328 * |
---|---|
电源支持 | 3.35 -12 V (3.3V 型号) or 5 - 12 V (5V 型号) |
工作电压 | 3.3V or 5V (取决于型号) |
数字I/O引脚 | 14 |
PWM 通道 | 6 |
UART | 1 |
SPI | 1 |
I2C | 1 |
模拟输入通道 | 6 |
外部中断源 | 2 |
I /O引脚的直流电流 | 40 mA |
闪存 | 32KB(其中引导程序使用2KB)* |
SRAM | 2 KB * |
EEPROM | 1 KB * |
时钟速度 | 8 MHz (3.3V 版本) or 16 MHz (5V 版本) |
电源
Arduino Pro Mini可以通过FTDI电缆或连接到其六针头的转接板供电,也可以通过VCC引脚上的3.3V或5V稳压电源(取决于型号)供电。船上有一个电压调节器,所以它可以接受高达12伏直流电的电压。如果您正在为电路板提供不受监管的电源,请确保连接到非VCC上的“RAW”管脚。
电源引脚如下:
Pro Mini有8个模拟输入,每个输入提供10位分辨率(即1024个不同的值)。其中四个在板边缘的页眉上;两个(输入4和5)在板内部的孔上。模拟输入测量从地面到VCC的距离。此外,一些管脚具有特殊功能:
如下图所示
在工具栏里进行板子信息修改
上述确认OK后,可以进行编译和烧录
概述:
Arduino Due是基于ATMEL Sam3x8E ARM Cortex-M3 CPU的微控制器板。这是第一个基于32位ARM核心微控制器的Arduino板。它有54个数字I/O管脚(其中12个可用作PWM输出)、12个模拟输入、4个UART(硬件串行端口)、84兆赫时钟、支持USB OTG
警告:与大多数Arduino板不同,Arduino Due板的工作电压为3.3V。I/O引脚可承受的最大电压为3.3V。对任何I/O引脚施加高于3.3V的电压都可能损坏板
电路板包含支持微控制器所需的一切;只需使用micro-USB电缆将其连接到计算机,或使用AC-to-DC适配器或电池为其供电即可启动。Due与所有工作电压为3.3V且符合1.0 Arduino引脚的Arduino屏蔽兼容。
到期应遵循1.0引脚:
技术参数:
微控制器 | AT91SAM3X8E |
---|---|
正常工作电压 | 3.3V |
输入电压 (推荐) | 7-12V |
输入电压 (极限) | 6-16V |
数字I/O 引脚 | 54 (其中12个提供PWM输出) |
模拟输入引脚 | 12 |
模拟输出引脚 | 2 (DAC) |
I/O线路上的总直流输出总电流 | 130 mA |
3.3V引脚的直流电流 | 800 mA |
5V引脚的直流电流 | 800 mA |
闪存 | 512 KB 全部可用于用户应用程序 |
SRAM | 96 KB(两个存储区:64KB和32KB) |
时钟速度 | 84 MHz |
长度 | 101.52 mm |
宽度 | 53.3 mm |
重量 | 36 g |
电源
Arduino Due可以通过USB接口512 KB all available for the user applications或外部电源供电。自动选择电源。
外部(非USB)电源可以来自AC-DC适配器(Wall Wart)或电池。适配器可以通过将2.1毫米中心正插头插入电路板的电源插座来连接。从蓄电池引出的导线可以插入电源接头的接地和车辆识别号引脚头中。
电路板可以在6到20伏的外部电源上工作。但是,如果提供的电压低于7V,则5V引脚可能提供的电压低于5V,并且电路板可能不稳定。如果使用的电压超过12伏,电压调节器可能过热并损坏电路板。建议电压范围为7至12伏。
电源引脚如下:
存储空间
SAM3X有512 kb(2块256 kb)的闪存用于存储代码。bootloader在工厂从ATMEL预烧录并存储在专用ROM存储器中。可用的SRAM是96kb,分为64kb和32kb两个相邻的库。所有可用的内存(闪存、RAM和ROM)都可以作为一个平面寻址空间直接访问。
可以使用板载擦除按钮擦除SAM3X的闪存。这将从MCU中删除当前加载的草图。要擦除,请在板通电时按住擦除按钮几秒钟。
输入输出
Digital I/O: pins from 0 to 53
Due上的54个数字管脚中的每一个都可以用作输入或输出,使用pinmode()、digitalwrite()和digitalread()函数。它们的工作电压为3.3伏。每个管脚可根据管脚提供(源)3毫安或15毫安的电流,或根据管脚接收(sink)6毫安或9毫安的电流。它们还有一个内部上拉电阻器(默认断开)100千欧。此外,一些管脚还具有特殊功能:
Serial: 0 (RX) and 1 (TX)
Serial 1: 19 (RX) and 18 (TX)
Serial 2: 17 (RX) and 16 (TX)
Serial 3: 15 (RX) and 14 (TX) 用于接收(RX)和发送(TX)TTL串行数据(3.3 V电平)。插脚0和1连接至ATMega16U2 USB至TTL串行芯片的相应插脚。
PWM: Pins 2 to 13 使用AnalogWrite()函数提供8位PWM输出。可以使用AnalogWriteResolution()函数更改脉宽调制的分辨率。
SPI: SPI header (其他Arduino板上的ICSP头) 这些管脚支持使用SPI库进行SPI通信。SPI管脚位于中央6针头上,与UNO、Leonardo和Mega2560物理兼容。SPI报头只能用于与其他SPI设备通信,而不能用于用电路内串行编程技术对sam3x进行编程。DUE的SPI还具有高级特性,可以与DUE的扩展SPI方法一起使用。
CAN: CANRX and CANTX 这些管脚支持can通信协议,但Arduino API尚不支持。
“L” LED: 13 有一个内置的LED连接到数字管脚13。当引脚高时,LED亮,当引脚低时,LED熄灭。也可以使LED变暗,因为数字管脚13也是一个PWM输出。
TWI 1: 20 (SDA) and 21 (SCL)
TWI 2: SDA1 and SCL1. 支持使用WIRE库进行TWI通信。sda1和scl1可以使用WIRE库提供的WIRE1类进行控制。而SDA和SCL有内部上拉电阻,SDA1和SCL1没有。使用线1需要在SDA1和SCL1线上增加两个上拉电阻器。
Analog Inputs: pins from A0 to A11 DUE有12个模拟输入,每个输入可以提供12位分辨率(即4096个不同的值)。默认情况下,读数的分辨率设置为10位,以便与其他Arduino板兼容。可以使用AnalogReadResolution()更改ADC的分辨率。due的模拟输入引脚从地面测量到3.3v的最大值。对due的引脚施加超过3.3v的电压会损坏SAM3X芯片。在到期时忽略AnalogReference()函数。
AREF引脚通过电阻桥连接到SAM3X模拟参考引脚。要使用AREF引脚,必须从PCB上拆下电阻器BR1。
DAC1 and DAC2 这些管脚通过analogwrite()函数提供12位分辨率(4096级)的真实模拟输出。这些管脚可用于使用音频库创建音频输出。
请注意,DAC输出范围实际上仅为0.55 V至2.75 V。
板上的其他引脚:
AREF 模拟输入的参考电压。与AnalogReference()一起使用。
RESET 将此线调低以重置微控制器。通常用于在屏蔽板上添加重置按钮,以阻止板上的重置按钮。
通信
Arduino Due有许多与计算机、另一个Arduino或其他微控制器以及电话、平板电脑、相机等不同设备通信的设备。sam3x为TTL(3.3v)串行通信提供一个硬件UART和三个硬件USART。
编程端口连接到ATMega16U2,ATMega16U2为连接的计算机上的软件提供虚拟COM端口(要识别设备,Windows计算机将需要.inf文件,但OSX和Linux计算机将自动将板识别为COM端口)。16U2还连接到SAM3X硬件UART。串行在引脚RX0和TX0提供串行到USB通信,用于通过ATMega16U2微控制器对电路板进行编程。Arduino软件包括一个串行监视器,允许简单的文本数据发送到和从板。当数据通过ATMega16U2芯片和USB连接传输到计算机时,板上的RX和TX LED将闪烁(但不用于插脚0和1上的串行通信)。
本机USB端口连接到SAM3X。它允许通过USB进行串行(CDC)通信。这将提供到串行监视器或计算机上其他应用程序的串行连接。它还允许Due将USB鼠标或键盘模拟到连接的计算机上。要使用这些功能,请参见鼠标和键盘库参考页。
本机USB端口还可以充当连接的外围设备(如鼠标、键盘和智能手机)的USB主机。要使用这些功能,请参阅USBHost参考页。
SAM3X还支持TWI和SPI通信。Arduino软件包括一个导线库,用于简化TWI总线的使用;有关详细信息,请参阅文档。对于SPI通信,请使用SPI库。
程序
DUE可以使用Arduino Arduino软件(IDE)对到期日进行编程。有关详细信息,请参阅参考和教程。
上传草图到sam3x不同于其他Arduino板上的AVR微控制器,因为在重新编程之前需要擦除闪存。上传到芯片由sam3x上的rom管理,只有当芯片的闪存为空时才会运行。
任何一个USB端口都可用于对电路板进行编程,但由于处理芯片擦除的方式,建议使用编程端口:
编程端口:要使用此端口,请在Arduino IDE中选择“Arduino Due(ProgrammingPort)”作为您的板。将due的编程端口(最靠近直流电源插座的端口)连接到计算机。编程端口使用16U2作为连接到Sam3x(RX0和TX0)的第一个UART的USB到串行芯片。16U2有两个引脚连接到Sam3x的复位和擦除引脚。打开和关闭以1200 bps连接的编程端口将触发Sam3x芯片的“硬擦除”过程,在与UART通信之前激活Sam3x上的擦除和重置引脚。这是建议用于编程到期的端口。它比本机端口上的“软擦除”更可靠,即使主MCU崩溃,它也应该工作。 本机端口:要使用此端口,请在Arduino IDE中选择“Arduino Due(NativeUsbPort)”作为您的板。本机USB端口直接连接到Sam3x。将Due的本机USB端口(最接近重置按钮的端口)连接到计算机。以1200 bps的速度打开和关闭本机端口会触发一个“软擦除”过程:闪存被擦除,主板用引导加载程序重新启动。如果MCU由于某种原因崩溃,则软擦除过程可能无法工作,因为此过程完全在SAM3X上的软件中进行。以不同的波特率打开和关闭本机端口不会重置SAM3X。
与其他使用avrdude上传的Arduino板不同,Due依赖于bossac,ATmega16U2固件源代码在Arduino存储库中提供。您可以将ISP头与外部程序员一起使用(覆盖DFU引导加载程序)。有关详细信息,请参阅此用户贡献的教程。
USB过流保护
Arduino Due有一个可复位的多保险丝,可保护计算机的USB端口不受短路和过电流的影响。虽然大多数计算机都提供了自己的内部保护,但保险丝提供了额外的一层保护。如果USB端口的电流超过500毫安,保险丝将自动断开连接,直到短路或过载消除。
物理特性和屏蔽兼容性
Arduino Due PCB的最大长度和宽度分别为4英寸和2.1英寸,USB连接器和电源插座的长度和宽度超出了原来的尺寸。三个螺丝孔可以将板固定在表面或外壳上。注意,数字引脚7和8之间的距离为160密耳(0.16),而不是其他引脚100密耳间距的偶数倍。
Arduino Due与为UNO、Diecimila或Duemilanove设计的大多数防护罩兼容。数字管脚0到13(以及相邻的AREF和GND管脚)、模拟输入0到5、电源头和“ICSP”(SPI)头都在相同的位置。此外,主UART(串行端口)位于相同的引脚(0和1)上。请注意,I2C与Duemilanove/Diecimila(模拟输入4和5)不位于到期日(20和21)的同一管脚上。
如下图所示