|
有两款设备统治着爱好者电子产品的世界:Arduino和树莓派(Raspberry Pi)。在世界各地的工作室都可以看到两者的身影。对于不熟悉的人来说,它们可能看起来非常类似:它们都是带有电阻、电容的电路板,ICU焊接在顶部,接口从侧面引出。
然而,如果我们仔细看一看的话,Arduino和树莓派在架构和设计目的上各有不同。我们编写了本篇文章以阐明这些差异,并帮助您决定哪个才适合您的想法。
什么是树莓派? 第一代的Raspberry Pi于2012年上市,起初它的设计目的是作为一款教育工具,可以帮助教孩子们学习编写代码。从那以后,它在课堂之外获得了快速发展;世界各地的业余爱好者们将RPi纳入各种各样的项目中。
最新版本的Raspberry Pi 3(B +型号)配备了1.4Ghz四核处理器和双频无线局域网,可连接显示器或电视机的HDMI输出,以及各种USB输入,可以接入鼠标、键盘和手机充电器等。
什么是Arduino? Arduino在2008年首次发布,并作为Atmel微控制器的开源原型板销售。正如我们将发现的,微控制器与Raspberry Pi的微处理器完全不同。
Arduinos可以很容易地连接到面包板,并增加了称为Shields的专用扩展板。由于Arduino硬件是开源的,因此有许多变种可供选择。最流行的UNO Rev 3是基于Atmel的ATmega328。包括连接到MCU所需的一切,以及LED、电压调节器和复位按钮等附加组件。
看一下每个设备的重要规格是我们的第一个线索,他们彼此非常不同。我们已经使用了每个产品线最新的版本,但其他人可能已经很容易地说明了这一点:
| Arduino UNO Rev3 | Raspberry Pi Model 3 B + | 时钟 | 16MHz | 1.4GHz | 内存 | 32kb | 1 GB | GPIO引脚 | 14 | 40 | 工作电压 | 5V | 5V |
首先我们很容易注意到,Raspberry Pi的Broadcom BCM2837的主频为1.4Ghz,而Arduino的Atmel微控制器的主频为16Mhz。通过简单的算术就可以明白,一个比另一个快大约一百倍。
你会发现在其他领域有类似的差异。 Raspberry Pi拥有1 GB的RAM,而Arduino仅提供几千字节的内存。 Arduino有一个USB端口,而Raspberry Pi有几个,还有HDMI,一个RJ45连接器和内置的无线连接。
那么为什么你可能会想,在Raspberry Pi在如此多的关键领域中表现出色的时候,Arduino是否还会非常流行?为了找到答案,我们需要探索微处理器和微控制器之间的差异。
那么微控制器和微处理器有什么区别? 正如我们已经提到的,在每个Arduino的中心是一个称为微控制器的黑色IC单元。无论是旧的28引脚DIP(双列直插式)封装还是更现代化的SMD(表面贴装器件),这个小芯片都包含了实际计算内容所需的一切:有一个微处理器、一个定时器、一些存储器、以及MCU与外界通信的I / O端口。这个组件实际上才是做Arduino的工作;该板的其余部分和Arduino软件可以帮助您与其进行交互。
Raspberry Pi的工作方式非常不同,并且与台式PC有很多共同之处。其核心是一个Broadcom CPU,它连接到RAM、外部存储器和电路板上其他地方的端口。它运行的操作系统可处理计算机的基本功能,运行程序、控制HDMI、USB和RJ45端口,并呈现图形界面以向用户显示。
这种架构使Raspberry Pi能够完成Arduino及其微控制器无法做到的事情。但是对于某些应用程序来说,这种完整的计算机将是麻烦且不必要的。考虑电脑键盘中的电路。它可以监视一组活动的开关,并将击键事件报告给您的计算机。你会在家中找到许多设备,这些设备包含微型微控制器单元,这些单元免除了资源匮乏的功能,如操作系统或图形用户界面(甚至是引导加载程序),能够便宜而高效地完成工作。
操作系统 通常情况下,Raspberry Pi运行称为Raspbian的Linux专用版本。它针对Pi进行了优化,旨在充分利用电路板的架构,从而提供最可能的用户体验。据说,没有什么能够阻止创意Pi用户将完全不同的操作系统安装到他们的设备上。有几十种可供选择,包括Ubuntu、OSMC和RetroPie;因此,每个Raspberry Pi都不是成为游戏机或媒体中心的全新发布版本。
尽管大约2KB的Arduino闪存存储器专门用于一种称为引导加载程序的特殊固件,但缺乏完整的操作系统,因此不能像Raspberry Pi那样运行程序。相反,它会启动并执行您使用Arduino IDE提供的指令,这些指令可以在基于Windows,Mac或Linux的机器(包括Raspberry Pi)上运行。
因此,您将在单独的机器上进行实际的编程。这给我们带来了另一个重要考虑:成本!
成本 在成本方面,这两款产品具有可比性,最新的RPI价格为35美元,Arduino UNO的价格相对较低,为20美元。然而,每个设备的家族都相对宽泛;最小的树莓派Raspberry Pi Zero仅售5美元。
特别是在Arduino的情况下,投资可能不会止步于此。您的野心可能需要购买一个或两个可堆叠屏蔽板,或一组电阻,传感器,跳线和IC单元。更重要的是,只要你完成了一个项目并开始理解在你面前展现的可能性,你可能会订购越来越多的组件,以及用于存储它们的小抽屉。除此之外,还有能够托管Arduino IDE的设备的成本。
相比之下,Raspberry Pi的软件驱动方法只需要一些额外的组件:您需要一个显示器,一个鼠标和一个键盘,以及将所有东西都连接在一起所需的电缆。
编写第一个程序 在开始使用Raspberry Pi之前,您需要先安装并配置操作系统。幸运的是,有一个方便的zip文件使得这个过程非常简单:它被称为NOOBS。
要开始使用Arduino,您需要将IDE安装在计算机或平板电脑上,通过USB连接到Arduino开发板。这样,您就可以创建您的第一个项目,该项目可以是制作LED闪烁。你会将LED的管脚插入接口,并编译一个程序,使其开启和关闭。为防止LED烧坏,可以连接一个小电阻和一块面包板。
作为想要成为程序员的教育工具,你会期望Raspberry Pi支持一系列的编程语言。事实如此。
对于初次编码人员来说,明显的选择是Python(从中绘制Raspberry Pi中的'Pi')。它的高级和直观性,甚至可以让初学者轻松学习。此外,它是一种“解释性”语言,它在运行时被翻译(相对于必须事先写入机器码的“编译”语言)。
Raspbian预装了一个名为IDLE 3的Python IDE,它足够强大,可以创建复杂的程序。然而,它并不是唯一的游戏:很年轻的程序员可能想要开始使用Scratch(大写字母S),而更有经验的程序员最终可以跨越C、C ++或Java。
由于Arduino缺乏解释器,所以它的代码必须在它运行之前编写,编译并上传到Atmel芯片上。当您对代码感到满意时,请按上传。在编译代码和附加的库文件并将结果发送给Arduino之前,IDE将运行错误检查。在进入编译器的过程中,您的代码将被处理以将其转换为C ++程序,然后是机器可读指令。
像Python这样的解释性质使得调试不那么痛苦。无论何时出现错误,您都可以实时看到它们。虽然Arduino IDE确实配备了串行监视器等帮助识别错误的工具,但它仍然具有带来很大可能的挫折感。在一个复杂的Arduino项目中,您可能会花几个小时寻找缺失的分号!
|