近几年来,在书店中带有“电子”、“编程”等关键词的书籍和杂志越来越多。当您翻看这些书籍的标题时,不时地会看到“Arduino”和“Raspberry Pi”之类的词。
不过,当听到或看到“Arduino”和“Raspberry Pi” 时,可能有不少人会想:“哦,好像在哪儿听到过。只是不清楚它究竟是什么”。
本文将围绕“Arduino”,具体介绍以下几个方面的内容:、

  • 什么是“Arduino”?
  • Arduino与Raspberry Pi有什么区别?
  • Arduino的种类有很多,在选择时应该注意什么?



1. 什么是Arduino?Arduino是一款开源微控制器开发板,即便是没有丰富的电气和编程知识的电子设计初学者也很容易上手。首先,听到“Arduino”,应该能够想起下图所示的外观,对该产品有个大致印象。
795316b92fc766b0181f6fef074f03fa.jpg
Arduino开发板示例(Arduino UNO)
这是将各种电子元器件配置在电路板上的开发板,外观相似的产品包括在电脑和电视机等内部常用的被称为“电路板”、“印刷电路板”、“PCB”的产品。其中,将载有能够通过编程改变其工作的“微控制器”(Microcontrollers或Microcomputers的简称)芯片的电路板称为“微控制器开发板”,照片中的Arduino也是微控制器开发板的一种,也被称为“Arduino开发板”。
然而,“Arduino”这个名称不仅仅包括“Arduino板”,还包括用来编程的被称为“集成开发环境(IDE)”的软件。
2b530e80c7d0de90885e285c5d798063.png
Arduino IDE
这种用于编程的软件通常被称为“Arduino IDE”,在需要区分板卡和软件时,可以分别称它们为“Arduino板”和“Arduino IDE”。

2. Arduino的历史和名称由来“Arduino”是在2003年意大利Interaction Design Institute Ivrea(IDII,交互设计学院)的学生Hernando Barragán(埃尔南多·巴拉甘)的硕士论文研究项目“Wiring”基础上开发而成的。“Wiring”的研究目的是通过将复杂的机制抽象化,使艺术家和设计师等在创作作品时可以在没有电子工程知识的情况下也能操作微控制器,从而能够将精力集中在实现最初的目的(作品制作等)上。
Arduino的开发项目始于其后的2005年。Barragán的硕士论文导师Massimo Banzi 与David Mellis、David Cuartielles等人一起开始了名为“Arduino”(拉取Wiring的源代码)的项目。
“Arduino”这个名称来源于Arduino项目的创始人Massimo Banzi喜欢去的一家名为“Bar di Re Arduino”的酒吧,是根据酒吧名称将电路板命名为“Arduino”的。
此后,Arduino开始风靡全球,并在“创客运动”(一种推动利用3D打印机等数控设备创作作品的活动)的风潮下,成为世界上最受欢迎的微控制器开发板之一。
追溯Arduino的发展历史,可以看到很多关于Arduino团队(Arduino LLC 和 Arduino SRL)的内部分裂以及商标和制造权问题相关的文章。事情最终通过两者的和解而落下帷幕,对于我们这样的Arduino用户来说,这个结局(从对Arduino板的流通和Arduino IDE的更新等的影响角度来说)的确让我们松了一口气。

3. Arduino和Raspberry Pi,使用哪个比较好?如今,电子制作的新手通常是一边参考诸如“用Arduino制作……”、“用Raspberry Pi实现……”等标题的文章和书籍,一边进行基础练习。
但是,这里面也有一些人会有这样的疑问:“那么,我应该买哪一个比较好呢……?”不知道该选择哪一个才好。在这里,我首先简单介绍一下Arduino和Raspberry Pi的区别。
Arduino属于“微控制器开发板”,Raspberry Pi属于“单板计算机”。前面已经介绍过微控制器开发板。我认为将单板计算机解释为“凝聚了必备最少功能的计算机”,可能更容易理解。基于这样的视点,让我们从几个角度来探讨应该使用Arduino还是Raspberry Pi。

c8856789ec11ab8b1013037cef6929f9.jpg
Raspberry Pi 4 Model B

4. Arduino与Raspberry Pi的区别
可能有人认为,“如果只是微控制器和计算机之别的话,那么计算机不是可以向上兼容吗……?”但是,实际上还涉及到它们各自适用的用途,以及它们在不同应用中的易用性。

① 有无操作系统(OS)例如,从内部软件的运行来看,存在Arduino没有OS、Raspberry Pi有OS的特点区别。
这并不是可以简单地说“有操作系统(OS)更好”,有时候,在操作系统中运行的其他应用程序也可能会影响到希望实现的目标工作,在使用计算机时,时常会发生死机等问题,这些都是需要考虑的因素。当然,如果您希望执行Linux上运行的程序,就需要选择Raspberry Pi了,因为Arduino无法执行这类程序。

② 作用不同事实上,微控制器有微控制器应该做的工作,计算机有计算机应该做的工作。Raspberry Pi可以结合LED和开关等的输入和输出实现很多事情,因此很难通过能做什么或不能做什么来考量,但如果按照各自发挥的不同作用来考虑,就可以看清什么情况下该使用Raspberry Pi,什么情况下该使用Arduino。
例如,Arduino可以发挥以下作用:

  • LED和电机的控制
  • 开关和传感器的状态检测
如果您需要处理此类电气信号(更接近硬件),选择Arduino比较好。
此外,Raspberry Pi可以发挥以下作用:

  • 网络通信(有线/无线局域网)
  • 将影像输出到显示器或投影仪等
  • 使用相机或摄像头(图像处理等)
如果您需要完成这类由计算机处理的工作(更接近软件),应该选择Raspberry Pi。

5. 如何掌握Arduino的使用方法如果您的身边有人能教您如何使用Arduino,能够边问边学是比较好的,但是通常不好意思请人多次一对一地教自己,而且并不是每个人的身边都有这种专业人士,所以如果可以的话,能找到自学的方法就更好了。
笔者推荐以下两种方法:
① 买书,按照书中的内容学习
② 参考网上的文章,按照相关介绍学习
① 通过书籍学习时如果通过看书(技术书和入门书)来学习,就需要在书店或网店购买相应的书籍,虽然买书需要花钱,但大多数书都是面向从零开始的初学者的,内容非常细致易懂。而且,还有一个好处是“只要按这本书学习,基本可以学会”,而如果自己在网上搜索各种资源自学的话,容易遇到一些瓶颈。书籍的好处在于,您可以通过阅读它们获取新知识,而无需自己在网上搜索。
② 通过网上资源学习时如果您通过网上搜到的资源学习,会发现有很多免费的资源可用,因此比通过书籍学习的成本更低。如果能找到精心编写的文章,就可以获得丰富的信息来提升技能,所以如果您习惯于在网上查找资料,就可以搜索所需的信息,并从不同角度了解相关信息的讲解

6. Arduino的典型产品列表以及每种产品的使用方法下面介绍一下需要购买Arduino板时要考虑哪些要点。市场上有很多种Arduino板,不同的产品类型其价格和功能也不同。在这里我根据常见的需求来介绍四种Arduino板。
① 只是想开始练习对于没有特别想要制作的作品,“只是想先试用一下Arduino!”的各位,我建议从“Arduino UNO”开始。
3a4f695a458cb0ac0aceaa2eb13ac2dd.jpg
Arduino UNO
“Arduino UNO”是最基本的开发板,也被认为是Arduino系列的代表。既然是“代表”,其技术书等书籍和在网上、杂志等上面的文章和信息是最多的,支持Arduino的扩展电路板(被称为“扩展板”)也很多。
Arduino UNO的输入/输出端口(输入/输出引脚)配有针座,在其中插入跳线即可与面包板等相连接。
在网上搜索有关Arduino的信息时,很多都是以Arduino UNO为例进行说明的,所以如果您使用的是其他类型的Arduino板,就需要通过对照引脚编号等来进行组装接线等工作。而如果您使用的是Arduino UNO,则可以直接使用其接线信息和程序代码。

② 想要大量的输入输出在您想要控制很多LED、想要检测很多开关、想要驱动很多电机等情况下,如果“Arduino UNO”的输入/输出端口数量不够,“Arduino Mega”是个不错的选择。它比UNO要贵。
f96d9b4281f6d16b3c7589aed5a17be5.jpg
Arduino Mega
“Arduino Mega”的输入/输出端口比UNO更多,使用“Arduino Mega”可以增加相应数量的传感器(当连接很多LED时,需要注意电流消耗情况。这一点不仅针对Mega,而是所有微控制器通用的注意要点)。
在UNO中,只有一组串行通信端口(也用作USB接口),但在Mega中,除了一组USB复用接口之外,还有三组端口,所以当您想在微控制器之间进行通信时,或想要进行Bluetooth/Zigbee等串行通信时,建议使用Mega。
由于常用引脚的位置与“Arduino UNO”基本相同,因此很多与UNO兼容的扩展板也适用于Mega。
与UNO相比,Mega可以进行PWM输出的引脚较多,所以如果希望使用PWM信号驱动的电机数量较多时,使用Mega更好。如果以后想用Arduino来控制机器人,那么我认为Arduino Mega值得拥有。

③ 想嵌入小型作品中如果您想将其嵌入尺寸很小的机器人或设备中,建议使用推荐尺寸比UNO更小的紧凑型“Arduino Micro”。它比UNO便宜一些。
94ed160662be198949535a112047e9b4.jpg
Arduino Micro
“Arduino Micro”的引脚上配有排针,可以直接将微控制器开发板插入面包板。如果将针座焊接在万用电路板等上面,也可以在不使用跳线的情况下牢固地接线。
ad328257df3c27d0237be29c2f1fd87c.jpg
万用电路板
使用万用电路板时,应遵循电子作品创作界中的一些默认文化,比如需要在要进行焊接的有铜箔的面(图案面)进行布线,在进行LED或电阻器切脚时,不要丢掉这些脚,而是将其灵活运用于电路板上的布线。

④ 想自制键盘和鼠标近年来,在电子作品创作界,“自制键盘”开始流行起来。通过自己制作电脑键盘,可以制作出符合自己要求的理想键盘,或具有有趣功能的原创键盘。使用“Arduino Leonardo”,可以开发键盘和鼠标等HID设备。Arduino Leonardo开发板的形状类似于UNO,但它是一种不同的Arduino板。
f4a1b0aed5dc02442c433030ff24c031.jpg
Arduino Leonardo
“HID”是“Human Interface Device”的缩写,一般是指电脑键盘或鼠标等。特别是“符合HID规范的设备”,当通过USB连接到电脑时,无需安装产品固有的设备驱动程序即可使用。Arduino Leonardo中配备了名为“ATmega32U4”的微控制器,它可以充当符合HID规范的设备使用,因此可以用作键盘或鼠标。
如果其他的Arduino板中也配有ATmega32U4微控制器,那么也可以用来开发HID,就像前面介绍的Arduino Micro中也配有ATmega32U4,所以也可以使用Arduino Micro来自制键盘和鼠标。如果您想在面包板上制作原型,选择Leonardo比较好,如果您想在万用电路板上进行焊接,建议选择Micro。

来源:techclass.rohm