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

第2章

常用Arduino开发板

自从Arduino诞生以来,Arduino开发板的型号也在不断丰富。从第一块名为Arduino的开发板到首次结合Linux系统的开发板Arduino Yún、较新的型号Arduino Zero……Arduino开发板使用的单片机、芯片越来越强大,集成的功能和接口越来越丰富。那么常用的Arduino开发板有哪些?各型号开发板之间又有哪些异同之处呢?

本章主要涉及以下知识点:

·常用Arduino开发板型号的参数、特点;

·Arduino各开发板之间的异同;

·Arduino开发板之间的兼容性。

注意: 本章提及的有修订历史的Arduino开发板,均以官方最新修订的R3版本(Revision 3,简称R3)开发板作为参考。

2.1 Arduino Uno开发板

最常见也是用得最多的Arduino开发板就是Arduino Uno。Uno在意大利语中意为“一”。Arduino Uno是Arduino平台开发板的参考模型,是大部分型号开发板的“标准”,也是Arduino品牌的开始。Arduino Uno开发板的正面和背面效果如图2-1和图2-2所示。

图2-1 Arduino Uno正面

图2-2 Arduino Uno背面

2.1.1 特点

Arduino Uno是Arduino AVR系列开发板,基于AVR兼容单片机ATmega328。Uno上的ATmega328已经预置了Bootloader程序,因此可以通过Arduino IDE直接下载程序到Uno中。

外观上,Uno的开发板形状、排针插孔、DC(直流)电源接口、复位按钮、ICSP接头都是从第一款Arduino开发板演变过来的,并在后续开发板型号中保持插孔位兼容。Uno是标准的参考模板,几乎所有扩展板都能与Uno完美配合。

Uno上的USB接口是B型USB接口(母口),采用的USB转串行芯片为ATmega16U2(R3以前的版本采用ATmega8U2),这是与其他采用FTDI芯片的Arduino开发板明显的不同之处。

2.1.2 电气属性

Arduino Uno的大部分参数都由其微控制器ATmega328决定。以下为其详细参数。

·微控制器:ATmega328;

·数字I/O脚:14个(其中3、5、6、9、10、11共6个引脚可作为PWM输出);

·模拟输入脚:6个;

·I/O脚最大电流:40 mA;

·3.3V脚直流电流:50 mA;

·Flash储存:32 KB(其中Bootloader占用0.5KB);

·SRAM:2 KB;

·EEPROM:1 KB;

·晶振:16 MHz;

·工作电压:5V;

·输入电压范围:6~20V(推荐7~12V,9V最佳)。

在USB供电直接使用Arduino Uno开发板时,短路、过载等电流过大情况可能会烧毁计算机主板。尽管电脑主板一般会对USB电流过载进行保护,但是开发板上仍设计了一个可重置保险丝。当电流超过500mA时保险丝将断开,开发板与USB电源的连接也会暂时断开以保护计算机主板。

2.1.3 接口介绍

Arduino Uno开发板上左右侧两排杜邦线接口可分为以下4部分。

·电源:包括电源输入、输出和复位等;

·数字I/O:包括PWM信号输出和SPI总线;

·模拟输入:包括模拟输入、TWI总线(该部分接口又可用作数字I/O接口);

·预留接口:位于左上角,开发板上无电路,备用。

其中电源部分包括以下几部分。

·VIN:开发板电源正电压输入接口;

·GND:参考地接口,即开发板电源负极,开发板上3个GND接口互相接通,可用于分流;

·5V:经过稳压芯片降压后的5V电压输出接口;

·3.3V:经过稳压芯片降压后的3.3V电压输出接口;

·AREF:模拟输入信号的基准参考电压输入接口;

·IOREF:开发板工作电压输出,供扩展板参考,以区分5V工作Arduino开发板与3.3V工作开发板,Uno中该接口与5V接口相连;

·RESET:复位信号输入,当输入低电平时复位Arduino。

Uno可以通过DC电源接口使用电池或电源适配器供电,也可以通过USB接口直接供电,还可以通过VIN接口供电。当使用前两种方式供电时,可从VIN接口取电,使用第三种方式供电时,Uno会忽略从USB或其他引脚接入的电源。

数字I/O接口部分,因为开发板在5V电压下工作,所以数字I/O接口输出的高电平最高也只有5V。每个接口能通过的最大电流为40mA(超过该值工作会有烧毁危险),每个接口还有内部上拉电阻20~50kΩ,使用上拉电阻需通过程序操作。以下引脚为特殊引脚。

·PWM输出(3、5、6、9、10、11):该6路提供8位PWM输出;

·UART通信RX(0)、TX(1):即ATmega328串行通信接口,由于开发板内部与USB转串口ATmega16U2芯片连接,当下载程序时不当使用该接口可能会造成下载错误;

·外部中断(2、3):中断触发引脚,可设置程序上升沿、下降沿或电平变化时触发中断;

·SPI总线(10(SS)、11(MOSI)、12(MISO)、13(SCK)):与Uno开发板上ICSP接头对应相通;

·开发板上指示灯L(13):与开发板上LED指示灯L正极相连,该接口高电平时能点亮该指示灯。

模拟输入接口A0~A5共6路,具有10位的分辨率(即可以将输入电压值转化为0~1024范围内的值),通过AREF脚可以调整输入电压上限。其中,A5、A4接口即TWI总线(该总线兼容I2C总线)接口,与开发板右上角两个杜邦接口(无PCB丝印的接口SCL、SDA,A5对应SCL,A4对应SDA)相通。

开发板上有两个ICSP接头,一般均指有ICSP丝印字样的ATmega 328单片机的ICSP接头,即开发板下方的ICSP接头。通过该ICSP接头,可在使用SPI通信时方便开发板与外部设备连接,还可以用于更新单片机的Bootloader,不通过ATmega 16u2虚拟成串口,而是从PC直接下载程序。Uno开发板右上方的ICSP接头为USB转串行芯片ATmega16u2更新固件或Bootloader使用,因为ATmega 16u2固件和Bootloader相对稳定,很少更新,所以该接头除Uno出厂时可能使用外,平时基本不使用。

ICSP接头是带有5V电压输出接口和GND接口的,即其与5V、GND接口相通。两个ICSP接头有两路5V和GND,加上杜邦接口5V、3.3V、IOREF、VIN等电源输出,以及3个GND接口,Uno具有6个正电源输出接口和5个GND接口。当使用Uno遇到电源接口不够时,应考虑这点巧妙布线。

注意: 单片机所有引脚均称为I/O。开发板上UART串行通信指示灯TX、RX由ATmega 16u2的I/O驱动,并非在ATmega16u2与ATmega 328相连的电路中。Uno还采用贴片封装ATmega 328单片机的版本,参数与上述采用直插ATmega 328单片机版本无区别。直插版本的优点是可更换单片机,即ATmega 328可换成ATmega 8或ATmega 168单片机,烧写好Bootloader后即可正常使用。

2.2 Arduino Mega 2560开发板

Arduino Mega 2560像是Uno的“强化”版本,最明显的特征是这款开发板拥有更多的I/O接口,其形状看起来像是Uno延长的,但其实它是Arduino Mega的芯片升级版本。Mega 2560的正面和背面效果如图2-3和图2-4所示。

图2-3 Arduino Mega 2560正面

图2-4 Arduino Mega 2560背面

2.2.1 特点

Arduino Mega是采用ATmega1280单片机、USB转串行芯片FTDI的AVR系列开发板。其拥有54路数字I/O接口(其中有14路可作PWM输出)、16路模拟输入接口及多达4对UART(TTL)通信接口。

Arduino Mega 2560在Arduino Mega的基础上升级了芯片,采用了更优秀的ATmega 2560单片机、USB转串行芯片ATmega 16u2。ATmega 2560具有256KB Flash存储(其中Bootloader占用8KB)、8KB SRAM和4KB EEPROM,Mega 2560的Flash存储容量比Mega多一倍且价格相差不多,这是Mega 2560取代Mega被广泛选用的主要原因。

外观上,Mega 2560和Uno并无太大差别,Uno杜邦接口孔位与Mega 2560开发板左边部分孔位完全吻合,使用Uno的扩展板只需在程序中对引脚稍作改动即可完美配合,即基本上Uno的所有扩展板都能作为Mega 2560的扩展板使用。

2.2.2 电气属性

Arduino Mega 2560的详细参数如下。

·微控制器单片机:ATmega 2560型号;

·数字I/O脚:54个(其中2~13和44~46共15个引脚可作为PWM输出);

·模拟输入脚:16个;

·UART接口:4对;

·I/O脚最大电流:40 mA;

·3.3V脚直流电流:50 mA;

·Flash储存:256 KB(其中Bootloader占用8KB);

·SRAM:8 KB;

·EEPROM:4 KB;

·晶振:16 MHz;

·工作电压:5V;

·输入电压范围:6~20V(推荐7~12V,9V最佳)。

开发板上有USB过流保护可重置保险丝,当USB电流超过500mA时保险丝将断开,以保护计算机主板。

2.2.3 接口介绍

Mega 2560开发板上的所有杜邦线接口可分为以下6部分。

·电源:包括电源输入、输出、复位等;

·模拟输入:模拟信号输入;

·数字I/O:高低电平输入、输出;

·通信接口:包括UART接口、TWI总线(该部分接口又可作为数字I/O接口使用)、ICSP接头SPI总线接口;

·PWM输出接口:输出PWM信号;

·预留接口:位于左上角,开发板上无电路,用于备用。

其中电源部分包括以下几部分。

·VIN:开发板电源正电压输入接口;

·GND:参考地接口,即开发板电源负极,开发板上5个GND接口互相接通,可用于分流使用;

·5V:经过稳压芯片降压后的5V电压输出接口,开发板上3个5V接口互相接通,可用于分流使用;

·3.3V:经过稳压芯片降压后的3.3V电压输出接口;

·AREF:模拟输入信号的基准参考电压输入接口;

·IOREF:开发板工作电压输出,供扩展板参考,以区分5V工作Arduino开发板与3.3V工作开发板,Mega 2560中该接口与5V接口相连;

·RESET:复位信号输入,当输入低电平时复位Arduino。

Mega 2560和Uno一样可以通过DC电源接口使用电池或电源适配器供电,也可以通过USB接口直接供电,还可以通过VIN接口供电。当使用前两种方式供电时,可从VIN接口取电,当使用第三种方式供电时,开发板会忽略从USB或其他引脚接入的电源。

模拟输入接口A0~A15共16路,具有10位的分辨率(即可以将输入电压值转化为0~1024范围内的值),通过AREF脚可以调整输入电压上限。

数字I/O接口部分开发板上标有数字的54个接口(开发板右边由于开发板形状原因忽略了23、25、27、29等标序,通信接口和PWM输出接口也计入数字I/O接口),因为开发板在5V电压下工作,所以数字I/O接口输出的高电平最高也只有5V。每个接口能通过的最大电流为40mA,每个接口还有内部上拉电阻20~50kΩ,使用上拉电阻需通过程序操作。以下引脚为特殊引脚。

·PWM输出:除了PWM部分12个接口,44、45、46接口也提供8位PWM输出;

·SPI总线(50(MISO)、51(MOSI)、52(SCK)和53(SS)):与开发板上ICSP接头对应相通。

通信接口部分包含UART通信接口、TWI总线接口、两个ICSP接头。4对UART通信接口对在开发板上已有标明,开发板内部ATmega 2560单片机与USB转串口ATmega 16U2芯片连接的UART接口对为RX0、TX0,当下载程序不当时,使用该对接口可能会造成下载错误。另外,20(SDA)、21(SCL)接口即TWI总线接口,与开发板左上角两个无PCB丝印的杜邦接口相通(顺序相反,左1为SCL,左2为SDA)。

PWM输出接口部分可输出8位PWM信号,均可作为数字I/O接口使用。其中标序为13的接口与开发板上LED指示灯的L正极相连,该接口高电平时能点亮该指示灯。

Mega 2560外部中断接口分布在PWM输出接口部分和通信接口部分,中断0~5分别对应接口序号2、3、21、20、19、18。

2.3 Arduino Pro Mini开发板

有些场合需要用到小巧的单片机,够小、够薄,接上电源能工作就可以,甚至可以去掉USB接口、芯片,用另外的USB下载工具下载程序。Arduino Mini(如图2-5所示)就是这种开发板,Mini没有直接连接USB数据线下载程序的功能,和传统Arduino开发板对比还去掉了杜邦线接口、电源插座等,除了复位按钮外只剩下电子元件构成的简单电路。Arduino Mini更像是AVR构架的最小系统,只支持较宽电压供电和在Arduino平台工作。

后来出现了Arduino Pro(如图2-6所示),Pro是传统Arduino开发板的半定制版本,目的是可以自由选择定制成5V或3.3V,8MHz、16MHz或20MHz晶振的开发板,以适应不同的工作电路。其形状继承自传统开发板,但其除了有电池接口、下载程序接口排针、开关和复位按钮外,也只剩下电子元件构成的电路。

图2-5 Arduino Mini开发板

图2-6 Arduino Pro开发板

然而Arduino Pro并没有被广泛应用,因为Pro需要焊接后才能使用,比较麻烦,和Mini比起来又失去了小巧性,反而Mini的半定制版本Pro Mini(如图2-7和图2-8所示)的出现受到了开发者的欢迎,甚至完美地取代了Pro,最后被广泛应用。

图2-7 Arduino Pro Mini正面

图2-8 Arduino Pro Mini背面

2.3.1 特点

Pro Mini是基于AVR兼容单片机ATmega168(市面上还有基于ATmega328单片机版本的),不带USB转串行芯片的Arduino半定制开发板。

Pro Mini外形很小巧,市面上销售的Pro Mini晶振和降压至工作电压(3.3V或5V)的晶体管一般是已焊接好的,可以很方便地按需选择。Pro Mini预留各接口孔位,可以焊接杜邦排针后使其方便地应用于免焊接电路实验,也可以直接将其焊接至电路板。

由于Pro Mini没有USB转串行芯片,所以不能像Uno一样方便地下载程序,需要先把USB转成UART工具(如FTDI下载器、CP2001下载器)或ICSP下载工具(如USBtinyISP下载器、USBasp下载器、AVR ISP下载器)后再与开发板连接,这样才能通过Arduino IDE下载程序。

Pro Mini不适合频繁更新调试程序,因为其不能灵活适应各种电路的性质决定了其只能应用于稳定工作的电子作品中。

2.3.2 电气属性

Pro Mini采用的单片机ATmega 168与Uno采用的单片机ATmega 328参数很类似,以下为其详细参数。

·微控制器单片机:ATmega168;

·数字I/O脚:14个(其中3、5、6、9、10、11共6个引脚可作为PWM输出);

·模拟输入脚:8个;

·I/O脚最大电流:40 mA;

·Flash储存:16 KB(其中,Bootloader占用2KB);

·SRAM:1 KB;

·EEPROM:512 B;

·晶振:8 MHz/16 MHz/20 MHz(定制选择);

·工作电压:3.3V/5V(取决于定制);

·输入电压范围:3.35~12V/5~12V(取决于定制,9V为最佳电源)。

2.3.3 接口介绍

Pro Mini开发板上的引脚接口设计得很紧凑,按PCB丝印可划分为以下3部分。

·数字I/O:包括PWM信号输出、SPI总线;

·模拟输入:包括模拟输入、TWI总线;

·其他:包括电源接口、程序下载接口等。

数字I/O接口部分,输出的高电平最高为开发板工作电压3.3V或5V(取决于定制)。每个接口能通过的最大电流为40mA,每个接口还有内部上拉电阻20~50kΩ,使用上拉电阻需通过程序操作。以下引脚为特殊引脚。

·PWM输出(3、5、6、9、10、11):该6路提供8位PWM输出;

·UART通信RX0、TX1(该对接口分别对应序号0、1):即ATmega 168串行通信接口,当下载程序时注意断开与外部电路的连接,不当使用该接口可能会造成下载错误;

·外部中断(2、3):中断触发引脚,可对程序进行上升沿、下降沿或电平变化时触发中断设置;

·SPI总线(10(SS)、11(MOSI)、12(MISO)和13(SCK)):可用于ICSP下载程序;

·开发板上指示灯L(13):与开发板上LED指示灯L正极相连,该接口高电平时能点亮该指示灯。

模拟输入接口A0~A7共8路,具有10位的分辨率,输入电压上限为开发板工作电压。其中,A5、A4接口即TWI总线接口,A5对应SCL,A4对应SDA。

其他接口中,开发板左部GRN、TX0、RX1、VCC、GND、BLK为与标准FTDI下载器连接接口。使用其他UART下载器下载程序时至少需要连接UART通信接口TX0、RX1和参考地GND接口。如果开发板无电源还需连接VCC,此时需配合手动按复位按钮完成下载。如下载器有DTR接口,可以将下载器DTR接口与Pro Mini上GRN接口连接,即可免手动复位自动下载。

其他接口如下。

·RAW:开发板电源正电压输入接口;

·GND:参考地接口,即开发板电源负极,开发板上两个GND接口互相接通,可用于分流使用;

·VCC:经过稳压芯片降压后的开发板工作电压3.3V或5V电压(取决于定制)输出接口;

·RST:复位信号输入,当输入低电平时复位Arduino,开发板上两个RST接口互相接通,可用于多复位源或与外部电路同步复位。

Pro Mini可以通过RAW接口输入较宽的电压供电方式,也可以通过VCC接口输入适合晶振工作的电压供电方式。若采用前者供电方式时,可从VCC接口取电。

2.4 小结

Arduino最常见、使用最广泛的开发板就是继承传统和作为标准的Uno、I/O接口众多的Mega 2560和小巧且半定制的Pro Mini这3款。它们虽各有特点但万变不离其宗——Arduino生态系统。

Arduino开发板型号丰富并且在不断地增多,除Arduino官方开发板外,也有不少厂商推出了各种Arduino平台兼容开发板。但在眼花缭乱的产品中,始终有Arduino官方型号的影子。了解并学会使用常见的开发板,就能更好地选择合适的开发板以提高用户对电子作品的开发效率,并避免更多问题。 pQ4mb5XNG00cLN99ryTti/PbYUFo6TX3eDpc9khsUMRsppeEV4UNhZ7H8QEC4y5X

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