近几年来,在书店中带有“电子”、“编程”等关键词的书籍和杂志越来越多。当您翻看这些书籍的标题时,不时地会看到“Arduino”和“Raspberry Pi”之类的词。
不过,当听到或看到“Arduino”和“Raspberry Pi” 时,可能有不少人会想:“哦,好像在哪儿听到过。只是不清楚它究竟是什么”。
本文将围绕“Arduino”,具体介绍以下几个方面的内容:、
- 什么是“Arduino”?
- Arduino与Raspberry Pi有什么区别?
- Arduino的种类有很多,在选择时应该注意什么?
目录
- 什么是Arduino?
- Arduino的历史和名称由来
- Arduino和Raspberry Pi,使用哪个比较好?
- Arduino与Raspberry Pi的区别
- 如何掌握Arduino的使用方法?
- Arduino的典型产品列表以及每种产品的使用方法
- Arduino还能这样用!
- Arduino竟然有这些功用!
- 欢迎来到电子世界
1. 什么是Arduino?
Arduino是一款开源微控制器开发板,即便是没有丰富的电气和编程知识的电子设计初学者也很容易上手。首先,听到“Arduino”,应该能够想起下图所示的外观,对该产品有个大致印象。
这是将各种电子元器件配置在电路板上的开发板,外观相似的产品包括在电脑和电视机等内部常用的被称为“电路板”、“印刷电路板”、“PCB”的产品。其中,将载有能够通过编程改变其工作的“微控制器”(Microcontrollers或Microcomputers的简称)芯片的电路板称为“微控制器开发板”,照片中的Arduino也是微控制器开发板的一种,也被称为“Arduino开发板”。
然而,“Arduino”这个名称不仅仅包括“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。
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,能够边问边学是比较好的,但是通常不好意思请人多次一对一地教自己,而且并不是每个人的身边都有这种专业人士,所以如果可以的话,能找到自学的方法就更好了。
笔者推荐以下两种方法:
① 买书,按照书中的内容学习
② 参考网上的文章,按照相关介绍学习
① 通过书籍学习时
如果通过看书(技术书和入门书)来学习,就需要在书店或网店购买相应的书籍,虽然买书需要花钱,但大多数书都是面向从零开始的初学者的,内容非常细致易懂。而且,还有一个好处是“只要按这本书学习,基本可以学会”,而如果自己在网上搜索各种资源自学的话,容易遇到一些瓶颈。书籍的好处在于,您可以通过阅读它们获取新知识,而无需自己在网上搜索。
下面我列举一些讲解Arduino使用方法的书,您可以参考用户评价和相关书籍来选用。
有这本书足够!用Arduino开始电子制作 超简单入门教程 修订版第3版
② 通过网上资源学习时
如果您通过网上搜到的资源学习,会发现有很多免费的资源可用,因此比通过书籍学习的成本更低。如果能找到精心编写的文章,就可以获得丰富的信息来提升技能,所以如果您习惯于在网上查找资料,就可以搜索所需的信息,并从不同角度了解相关信息的讲解。
下面我列举一些关于Arduino入门的文章,建议以阅读这些文章为主,当遇到感兴趣的关键词时,可以随时搜索以进一步了解。
如何开启Arduino之旅
介绍了Arduino新手应该怎样购买Arduino主机、如何安装Arduino IDE、以及如何使LED发光。我们可以参考这个步骤开始Arduino之旅!
创建程序
使用面包板将LED和电阻器连接到Arduino,点亮多个LED并使多个LED交替闪烁。要逐渐习惯程序和布线的处理方法。
Arduino – Sketch, Taking a Look at Programs
使用光传感器
尝试使用传感器来代替人类的五种感官。在这里,使用光传感器来感知周围环境的亮度并使之与LED的亮度建立关联。
Let’s use Arduino with a light sensor!
6. Arduino的典型产品列表以及每种产品的使用方法
下面介绍一下需要购买Arduino板时要考虑哪些要点。市场上有很多种Arduino板,不同的产品类型其价格和功能也不同。在这里我根据常见的需求来介绍四种Arduino板。
① 只是想开始练习
对于没有特别想要制作的作品,“只是想先试用一下Arduino!”的各位,我建议从“Arduino UNO”开始。
“Arduino UNO”是最基本的开发板,也被认为是Arduino系列的代表。既然是“代表”,其技术书等书籍和在网上、杂志等上面的文章和信息是最多的,支持Arduino的扩展电路板(被称为“扩展板”)也很多。
Arduino UNO的输入/输出端口(输入/输出引脚)配有针座,在其中插入跳线即可与面包板等相连接。
在网上搜索有关Arduino的信息时,很多都是以Arduino UNO为例进行说明的,所以如果您使用的是其他类型的Arduino板,就需要通过对照引脚编号等来进行组装接线等工作。而如果您使用的是Arduino UNO,则可以直接使用其接线信息和程序代码。
② 想要大量的输入输出
在您想要控制很多LED、想要检测很多开关、想要驱动很多电机等情况下,如果“Arduino UNO”的输入/输出端口数量不够,“Arduino Mega”是个不错的选择。它比UNO要贵。
“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便宜一些。
“Arduino Micro”的引脚上配有排针,可以直接将微控制器开发板插入面包板。如果将针座焊接在万用电路板等上面,也可以在不使用跳线的情况下牢固地接线。
使用万用电路板时,应遵循电子作品创作界中的一些默认文化,比如需要在要进行焊接的有铜箔的面(图案面)进行布线,在进行LED或电阻器切脚时,不要丢掉这些脚,而是将其灵活运用于电路板上的布线。
④ 想自制键盘和鼠标
近年来,在电子作品创作界,“自制键盘”开始流行起来。通过自己制作电脑键盘,可以制作出符合自己要求的理想键盘,或具有有趣功能的原创键盘。使用“Arduino Leonardo”,可以开发键盘和鼠标等HID设备。Arduino Leonardo开发板的形状类似于UNO,但它是一种不同的Arduino板。
“HID”是“Human Interface Device”的缩写,一般是指电脑键盘或鼠标等。特别是“符合HID规范的设备”,当通过USB连接到电脑时,无需安装产品固有的设备驱动程序即可使用。Arduino Leonardo中配备了名为“ATmega32U4”的微控制器,它可以充当符合HID规范的设备使用,因此可以用作键盘或鼠标。
如果其他的Arduino板中也配有ATmega32U4微控制器,那么也可以用来开发HID,就像前面介绍的Arduino Micro中也配有ATmega32U4,所以也可以使用Arduino Micro来自制键盘和鼠标。如果您想在面包板上制作原型,选择Leonardo比较好,如果您想在万用电路板上进行焊接,建议选择Micro。
7. Arduino还能这样用!
随着Arduino的出现,微控制器控制不再仅仅局限于制造商制造的家电等产品,还被越来越多地应用在业余爱好者活跃的机器人、艺术、DIY等个人创作领域。下面介绍三种与这些领域相关的使用了Arduino的产品(作品)。
TINKERKIT BRACCIO ROBOT
这是Arduino官方开发的机械臂套件。机械臂可以通过6个伺服电机自由移动,并且可以使用Arduino灵活控制。教育机器人套件也有很多种,但其中大多数都使Arduino。
Let’s start having fun with Braccio.mp4
※此链接为Youtube视频
Plastic Reflectic
这是一个以海洋垃圾问题为主题的装置,旨在让人反思塑料污染对自然环境的影响。该设备使用了多达600个防水伺服电机。就像在这类作品中的表现一样,在用电子控制创建项目的媒体艺术展览领域,Arduino也在大展身手。
Plastic Reflectic interactive installation for plastic soup foundation.mp4
※此链接为Youtube视频
Arduino Camera Slider
这是一种使相机自动滑动的设备。通过使用Arduino控制两个步进电机来实现相机的往复和旋转。使用Arduino进行 DIY的一大好处是可以按照自己喜欢的尺寸、通过自己对运行的调整来制作自己想要的设备。
Homemade Motorized Camera Slider.mp4
※此链接为Youtube视频
8. Arduino竟然有这些功用!
最后,我想介绍一些此前在Device Plus中发布过的关于使用Arduino进行电子创作的文章。许多作者正在用自己独特的创意在制作各种有趣的设备,希望这些项目能给您带来启发。
【用Arduino和距离传感器制作小鸡赛车!】
这是一款可以在游戏(所谓的“小鸡赛跑”)中玩的机器人,它会自动向墙壁行驶,当操作者按下按钮使小鸡赛车停下来时,比赛谁在离墙壁更近的位置停下来。
该项目采用超声波距离传感器测量距离,还具有在字符液晶显示器上显示距离值的功能。
在最后一刻停下来!用Arduino和距离传感器制作小鸡赛车!(第1篇)
【用Arduino和TOF距离传感器制作甜甜圈播放器】
为了纪念留声机的甜甜圈造型转盘,作者开发了一款“甜甜圈播放器”,它可以使真正的甜甜圈旋转,用距离传感器检测并根据形状发出声音。当您想要创作一个独一无二的独特作品时,Arduino将会是您的得力助手。
【用Arduino和FeliCa读卡器制作出入登记系统】
这是一个使用FeliCa读卡器(可以与FeliCa兼容交通IC卡或智能手机进行通信)制作的、可以识别个人并记录进出日期和时间的系统。当您在想“真希望有这样的东西/功能……”时,使用Arduino来实际制作出来其实是一件很棒的事。
用Arduino Mega进行电子制作!用FeliCa读卡器制作一个出入登记系统
9. 欢迎来到电子作品创作世界
通过以上内容,我们已经了解了Arduino的特点、选择方法和作品实例。作为个人,我们能够创作世界上独一无二的作品,这也是电子作品创作的真正乐趣所在。
如果您有任何想法,比如“要是有这样的东西就好了”或“要是能做出这样的东西一定会很有趣吧”,那就使用Arduino来尝试实现它吧!