本节书摘来异步社区《动手玩转Arduino》一书中的第2章,第2.1节,作者:【澳】John Boxall,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.1 Arduino板
Arduino到底是什么?根据Arduino网站的介绍,它是一个开源的电子原型平台,这个平台是由灵活易用的硬件和软件所组成的。它是面向艺术家、设计师、爱好者和任何对创造交互对象或交互环境有兴趣的人士的。
简而言之,Arduino是一个微小计算机系统,可以由你编程来和各种形式的输入和输出做交互。最新型号的Arduino板,和普通人的手比起来是相当小的,如图2-1所示。
第一次见到这块板子你也许不会想到,Arduino系统可以做出能与周围环境交互的装置。用上各种可能的输入输出器件:传感器、指示灯、显示器、电机等,就可以编程实现精确的交互要求,创造出具有特定功能的装置来。比如,艺术家可以做出一个装置,当有人经过时,灯能以一定的模式闪烁;高中生可以做出自动机器人,能监测到火苗然后熄灭它;地理学家可以设计一个系统,能监视温度和湿度,并把数据以短信的方式回传到他们的办公室。实际上,在互联网上简单搜索一下,就能找到数量无穷的例子。
现在,我们继续来详细研究Arduino Uno这个硬件(换句话说,就是那个“物理的部分”),看看那上面都有些什么。别太担心不知道看到了什么,所有这些都是要在后面的章节里详细讨论的。
我们快速浏览一下Uno这块板子。从板子的左侧开始,首先会看到两个插座,如图2-2所示。
在图最左边的是通用串行总线(USB)插座。它把板子和计算机连起来,起到3个作用:给板子供电、把你的程序上传到Arduino和在板子和计算机之间双向传递数据。在图右边的是电源插座,通过这个插座,可以用常见的电源变压器给Arduino供电。
在板子的中间偏下的,是这个板子的心脏:单片机,如图2-3所示。
单片机是Arduino的“大脑”。它是一个小型计算机,包含有执行指令的处理器、分别保存数据和程序的不同类型的内存,它还具有多种发送和接收数据的方式。在单片机正下方有两排小型插座,如图2-4所示。
左边那排提供了电源连接,并能接一个外部的RESET(重启)按钮。右边那排有6个模拟输入端,可以测量电信号的电压变化。另外,A4和A5引脚还被用作和其他器件发送和接收数据的引脚。在板子的顶端还有另外两排插座,如图2-5所示。
标有数字0~13的插座(或者叫作引脚)是数字输入/输出(I/O)引脚。它们既可以检测电信号有还是没有,也可以根据指令产生信号。引脚0和1也是串口,用来和其他器件发送和接收数据,和计算机之间就是由它们通过USB连接电路进行通信的。标有一个波浪号(~)的引脚可以产生变化的电信号,这种电信号可以用来做出灯光效果或控制电机。
接下来介绍板上的一些非常有用的元件,它们叫做发光二极管(LED),这种非常小的元件在有电流流过时会发光。Arduino板上有4个LED。最右边的那个标有ON,是板子的电源指示灯,另外3个排在一起,如图2-6所示。
在Arduino与通过串口或USB连接的设备之间发送或接收数据时,标有TX和RX的LED会亮。标有L的LED是给你自己用的(它连接在数字输入输出引脚13上)。在这个LED左边的小的黑色方块是一个微型单片机,它控制USB接口,让你的Arduino可以和计算机之间收发数据,不过,你不需要操心这个小芯片。
最后,如图2-7所示的是RESET按钮。
和普通的计算机一样,有时候Arduino也可能出问题,当一切都失效了的时候,可能要重置系统、重启Arduino。板上这个简单的RESET按钮(见图2-7)就是用来重启系统解决问题的。
Arduino系统最大的优势是它易于扩展,就是说,可以方便地加上更多的硬件功能。Arduino板两侧的插座,能够插上一块盾板(shield),盾板是一块电路板,它的引脚能直接插到Arduino板上。比如,如图2-8所示的盾板上有一个以太网接口,使Arduino可以通过网络和互联网通信,这样就能做出各种各样的电子设备。
注意看,这个以太网盾板也有两行插座,这样就可以在它上面插更多的盾板。比如,如图2-9所示,在一个以太网盾板上插了另一块盾板,上面有大型数字显示器、温度传感器、额外的数据存储器和一个大型LED。
要小心,你需要记住每块盾板用了哪些输入/输出引脚,以避免多块盾板插在一起时产生冲突。也可以买到完全空白的盾板,在上面搭建自己的电路。第8章会详细解释这个事情。
伴随着Arduino硬件的是软件,软件是指令的集合,这些指令告诉硬件要做什么、怎么去做。需要用到两种类型的软件,第一种是集成开发环境(IDE),本章会讨论IDE,另一种是要我们自己来写的Ardiuno程序。
IDE软件装在个人电脑上,用来编写程序、发送程序到Arduino板。