本节书摘来自异步社区《动手玩转Arduino》一书中的第11章,第11.2节,作者【澳】John Boxall,译者 翁恺,更多章节内容可以访问云栖社区“异步社区”公众号查看。
11.2 众多的Arduino板
虽然在这本书中,我们只会使用Arduino Uno板,不过你可以自己选择很多另外的板子。这些板子具有不同的外形尺寸、输入和输出引脚的数量、程序存储空间的大小,以及购买的价格。
板子之间最关键的不同是所用的单片机。目前的板子主要是使用ATmega328或ATmega2560单片机,Due用的是另外的更强大的版本。这些单片机(包括ATmega328的两个版本)的主要区别总结在表11-2中。
用来比较不同的Arduino兼容的板子的主要参数是板上存储器的类型以及每种类型的大小。以下是3种类型的存储器。
- flash存储器是用来保存IDE编译后上传的程序的;
- EEPROM(电可擦除可编程只读存储器)是一小块空间,可以保存字节变量(第16章会学到);
- SRAM是程序中保存变量的地方。
注意:
除了Uno还有很多Arduino的板子,这里所介绍的只是冰山一角。规划大的或是复杂的作品的时候,别害怕扩大使用更大的Mega板。同样的道理,如果一个更长久的作品只需要不多的几个I/O引脚,应该考虑Nano甚至是LilyPad。
我们来看几个买得到的板子。
11.2.1 Arduino Uno
Uno现在被认为是Arduino的标准板。目前所有的Arduino盾板都应该和Uno是兼容的。因为有板上的USB接口,而且单片机是可以插拔的,所以Uno被认为是最容易使用的Arduino板。
11.2.2 Freetronics Eleven
市面上的很多板子都模仿了Arduino Uno的功能,有些在标准设计的基础上做了一些改进。其中一种板子就是Freetronics的Eleven,如图11-16所示。
尽管Eleven与Arduino Uno完全兼容,但它做出了一些改进,使得它更有用。首先是在数字输入/输出引脚下方的一大块原型区域,这块区域让你可以直接在主板上做自己的电路,这样可以节约空间和成本,因为不需要另外购买原型盾板了。
另外,指示发送/接收(TX/RX)、电源和D13的4个LED排列在板子的最右侧边上,这样的布置,即使上面盖了盾板也能看见它们。最后,它用了一个micro USB插座,比Uno用的标准USB插座小很多。这样就使得设计自己的盾板要容易很多,因为不需要担心盾板上的焊点被USB插座的外壳短路了。这种板子在http://www.freetronics.com/products/eleven/ 可以买到。
11.2.3 Freeduino
Freeduino板来自一个合作的开源项目,这个项目撰写并发布文件,让人们可以做自己的Arduino兼容的板子。其中最流行的设计是一块Duemilanove兼容的板子套件,如图11-17所示。
这块Freeduino板子可以运行本书所有的作品。用Freeduino的两大好处是它便宜,而且自己动手组装一块板子是一种自我满足。Freeduino套件在http://www.seeedstudio.com/ 可以买到。
11.2.4 Boarduino
Boarduino是一种最小化的Arduino设计,它能直接插在面包板上。它以套件的形式提供,需要自己把元件焊起来。图11-18所示是组装好的样子。
Boarduino套件在http://www.adafruit.com/ 可以买到。它实现了Freeduino套件所有的功能,但是在需要超过500mA电流的时候需要用到另外的电源。
11.2.5 Arduino Nano
如果需要一个紧凑的组装好的Arduino兼容板,Nano应该能满足要求。Nano被设计成可以插入面包板,虽然小巧但是功能强大。
Nano的尺寸只有18mm×43mm,但是它提供了Boarduino和Freeduino所有的功能。而且,它使用了ATmega328的贴片封装版本,所以还具有额外的两个模拟输入引脚(A6和A7)。Nano可以在http://www.gravitech.us/arna30wiatp.html 买到。
11.2.6 Arduino LilyPad
LilyPad是用来集成在如可穿戴电子这样的创意作品内的。实际上,LilyPad真的是可以用水和中性洗衣液来洗的,所以很适合用来装扮衣服,比如给运动衫亮灯。这种板子的设计很独特,如图11-20所示。
LilyPad的输入输出引脚需要导线焊到板上,所以LilyPad更适合用作长久的作品。作为一种最小设计,它没有稳压电路,所以由用户决定给它提供2.7V~5.5V之间的电源。LilyPad还没有USB接口,所以需要一个5V的FTDI线才能给它上传程序。在大多数Arduino销售商那里都能买到Arduino LilyPad。
11.2.7 Arduino Mega 2560
如果Arudino Uno上的输入输出引脚用完了,或者需要存储空间存放更大的程序,就可以考虑Mega 2560。它的外形比Arduino Uno大很多,尺寸是10.9cm×5.3cm,如图11-21所示。
尽管Mega 2560板子比Uno大了许多,不过还是可以配上大多数的Arduino盾板,也有Mega大小的原型盾板可以用来做Uno做不了的较大的作品。因为Mega用了ATmega2560单片机,它的存储空间和输入输出能力(如表11-2所列)都比Uno要大大改善了。另外,它的4条独立的串口通信线提升了它的通信能力。在大多数Arduino销售商那里都能买到Mega 2560。
11.2.8 Freetronics的EtherMega
如果需要一块Arduino Mega 2560、一个microSD卡盾板和一块连接到互联网的以太网盾板,最好的选择是一个EtherMega。它把所有这些功能集成在一块板上,比单独买每块板子要便宜。EtherMega可以在http://www.freetronics.com/ethermega/ 买到。
11.2.9 Arduino Due
装备有84MHz的处理器,能以非常快的速度运行程序,Due恐怕是目前最强大的Arduino板。从图11-23可以看到,这块板子和Arduino Mega 2560非常像,但是多了一个USB端口来接外部设备,引脚的标签也是不同的。
而且,Due的内存是Uno板的16倍,所以真的可以做复杂细致的程序。不过,Due只能工作在3.3V,所以任何连到模拟或数字引脚的电路、盾板或其他器件,都不能具有超过3.3V的电压。除了这些限制,使用Due的好处远远超过硬件上的这点变化。
说明:
购买Arduino板或附件的时候,一定要从能提供售后服务的有声誉的经销商那里购买。尽管互联网上充斥着廉价的替代品,尽管总有地方能生产超低价格的产品,但是你可能在买到坏的或是标示错误的产品的时候,没办法寻求赔偿。
开源硬件
Arduino硬件设计是公开给大众的,所以任何人都可以自由地制造、修改、分发和使用它。这种发布的类型属于开源硬件,这是最近的一场反对版权和知识产权法律保护的运动1。Arduino团队决定让它的设计开放,以利于更大的硬件圈子,做出更好的东西来。
遵循开源硬件的精神,许多生产附件或对原始Arduino板做了修改的组织都以相同的许可方式公开了他们的设计。以这样的方式,产品就能比单一组织开发更快地得到发展。