Raspberry Pi和Arduino有什么区别?

树莓派和Arduino是两种非常受欢迎的电路板DIY的建设者,爱好者,甚至专业人士。树莓派和Arduino是完全不同的电路板。Arduino的目标是快速编程和电路原型,而树莓派是计算机编程的学习工具(但你可以发现树莓派也是几个DIY项目)。每一块板都有自己的优点和缺点。

让我们仔细看看这两个板,了解Raspberry和Arduino之间的区别,并以表格的形式对Raspberry Pi和Arduino进行比较。如果您想在两者之间做出选择,那么这取决于您的项目的需求,但我们希望本文将有助于理解这两个板之间的差异,并帮助您为您的下一个项目选择正确的板。

Arduino

让我们从Arduino开始。Arduino由Massimo Banzi等人在意大利Ivrea开发。Arduino是一个简单的电子原型工具,具有开源硬件和软件。Arduino本质上是一个微控制器开发板,使用它,您可以闪烁LED、接受按钮输入、读取传感器数据、控制电机和许多其他与“微控制器”相关的任务。

Arduino-UNO-Board

最受欢迎的Arduino板是Arduino UNO,它是基于Atmel(现在的Microchip)的ATmega328P微控制器。在Arduino的软件方面,所有的Arduino板都可以使用专门的软件Arduino IDE用C和c++编程语言进行编程。Arduino IDE由Arduino板上编辑源代码、编译和编程微控制器的所有工具链组成。

如果你以前有过像8051这样的微控制器, Atmel或PIC微控制器,那么您可能会理解使用这些微控制器开发应用程序的漫长过程。如果你不熟悉,那么让我们简单地看看这个过程。

首先,您必须在专用IDE(如Keil、Atmel Studio或PIC的MPLAB IDE)中编写应用程序软件(主要源代码)。然后,您必须编译代码并以.hex文件的形式生成二进制文件。现在使用一种叫做"编程器"的特殊硬件,你必须使用编程器软件将hex文件上传到目标微控制器上。

Arduino通过即插即用式快速编程简化了这个过程。使用一个单一的软件(Arduino IDE),可以编写代码,编译并上传到单片机。上传程序也不需要单独的硬件。只需通过USB端口将Arduino板插入计算机,点击上传按钮,就可以完成Arduino板上的微控制器的任务了。

Arduino的另一个重要特点是它是开源的。这意味着软件和库的设计文件和源代码是免费提供的。您可以使用硬件设计文件作为参考,从本质上制作自己的Arduino板。

覆盆子π

Raspberry Pi是由Eben Upton在英国剑桥大学开发的,目的是教学和提高发展中国家学生的编程技能。Arduino是基于微控制器的开发板,Raspberry Pi是基于微处理器(通常是ARM Cortex a系列)的板,用作计算机。

您可以连接多个外围设备,如显示器(通过HDMI或AV端口)、鼠标和键盘(通过USB)、连接互联网(通过以太网或Wi-Fi)、添加摄像头(通过专用摄像头接口),就像我们对台式机所做的那样。

1覆盆子皮3

由于整个计算机(处理器、RAM、存储、图形、连接器等)都位于一个印刷电路板上,树莓派(和其他类似的电路板)被称为单板计算机或SBC。

树莓派本质上是一台完整的电脑,它可以运行一个操作系统。树莓派基金会是一个负责设计和开发树莓派SBC的组织,它还提供了一个基于Debian的Linux发行版,称为树莓派操作系统(以前称为树莓操作系统)。

Raspberry Pi的另一个重要的方面是,它是一个基于Linux的计算机,你可以使用C、C++、Python、java、HTML等多种编程语言开发软件。

尽管最初的目的是在学校推广编程(如Python和Scratch编程语言),最初的Raspberry Pi SBC在DIY建设者、业余爱好者和发烧友中非常受欢迎,他们开发了一些应用程序,如机器人、气象站、基于摄像头的安全系统等。

由于它的成功和受欢迎程度,树莓派基金会不断更新和发布新版本的树莓派,最新的是树莓派4模型B。

Raspberry Pi的硬件设计文件和固件不是开源的。

树莓派和Arduino的区别

Arduino和Raspberry Pi都是很好的教学工具,适合学生、初学者和爱好者。让我们看看树莓派和Arduino之间的一些区别。

  • 它们之间的主要区别是:Arduino是微控制器板,而Raspberry Pi是基于微处理器的迷你电脑(SBC)。
  • Arduino板上的微控制器包括CPU、RAM和ROM。Arduino板上的所有附加硬件都是用于供电、编程和IO连接。树莓派SBC具有计算机的所有功能,具有处理器、内存、存储、图形驱动、板上连接器。
  • 树莓派需要一个操作系统来运行。Arduino不需要任何操作系统。您所需要的只是编译后的源代码的二进制文件。
  • “树莓派”自带一个功能齐全的操作系统,称为“树莓派操作系统”(Raspberry Pi OS,以前称为“Raspbian OS”)。尽管Pi可以使用不同的操作系统,但Linux是树莓Pi基金会的首选。如果你愿意,你可以安装Android。Arduino没有任何操作系统。你只需要一个固件来指示微控制器做什么任务。
  • Arduino的时钟速度是16mhz, Raspberry Pi的时钟速度是1.2 GHz左右。
  • Raspberry Pi适用于使用Python开发软件应用程序,而Arduino适用于连接传感器和控制led和电机。
  • 这并不意味着我们不能将传感器和led连接到树莓派上。为了鼓励通过控制硬件来学习编程,树莓派由一个40针的GPIO组成,通过它你可以连接不同的电子元件像led,按钮,传感器,马达等。在Arduino上,GPIO被称为数字IO(用于数字输入和输出)和模拟IN(用于模拟输入)。
  • 使用Arduino盾牌,插入到Arduino引脚头,您可以添加专用功能或功能,如电机驱动器,以太网连接,SD卡读卡器,Wi-Fi,触摸屏,摄像头等。虽然树莓派是一个独立的板,你可以添加外部硬件,如触摸屏,GPS, RGB面板等。树莓派硬件附加在顶部或HAT扩展板的灵感来自Arduino Shields,使用它可以为树莓派添加额外的功能。它们连接到GPIO管脚。
  • Raspberry Pi和Arduino的电源要求完全不同。尽管它们都由USB供电(微型USB或USB类型C用于Raspberry Pi,USB类型B用于Arduino),但Raspberry Pi需要比Arduino更多的电流。所以,你需要一个用于Raspberry Pi的电源适配器,但是你可以从计算机的USB端口为Arduino供电。
  • 如果树莓派电源中断,可能会导致硬件、软件或应用程序损坏。对于Arduino,如果断电了,它会重新启动。因此,在切断电源之前,树莓派必须正确关闭。
  • Arduino使用Arduino IDE来开发代码。而Raspberry Pi可以使用Python IDLE、Eclipse IDE或Linux支持的任何其他IDE。您还可以使用终端本身与任何文本编辑器(如Vim)进行编程。
  • 使用Arduino的开源硬件和软件文件,你基本上可以创建自己的Arduino板。这对于树莓派来说是不可能的,因为它不是开源的。
  • 原始Arduino UNO的成本是23美元,但有几个Arduino的克隆版本,低于4美元。至于树莓派,最初的树莓派SBC大约是35美元,但最新的树莓派4模型B有不同的价格点(35美元,55美元或75美元),取决于内存配置。

树莓派与Arduino的比较

现在让我们以表格的形式来比较Raspberry Pi和Arduino。

覆盆子π
Arduino
Raspberry Pi是单板计算机或SBC Arduino是一个基于单片机的开发板
它基于Broadcom SoC,一种ARM Cortex A系列微处理器 它是基于Atmel微控制器。Arduino UNO采用ATmega328P单片机
需要一个基于Debian的Linux发行版树莓派操作系统来启动树莓派 因为它是一个微控制器,所以不需要操作系统
Raspberry Pi SBC凭借其强大的处理器和基于Linux的操作系统,可以同时执行多个任务 Arduino通常用于反复运行单个任务(或非常少量的简单任务)
所有必要的组件,如处理器、RAM、存储器、连接器、GPIO引脚等,都位于Raspberry Pi板上 Arduino板上的微控制器(类似于ATmega328P)包含处理器、RAM、ROM。板上包含支持硬件(电源和数据)和GPIO管脚
原始覆盆子皮SBC的成本为35美元。随后,所有较新Raspberry Pi版本的基本变型售价仅为35美元 原始Arduino UNO的成本是23美元
树莓派的硬件和固件都是闭源的,也就是说,它不能用于一般使用 Arduino从一开始就是作为开源硬件和软件开发的。您可以轻松获得Arduino硬件和软件的完整信息
树莓派SBC有几个GPIO引脚(著名的40引脚树莓派GPIO),使用它可以连接不同的传感器,IO设备等。 GPIO是任何单片机的重要外设,Arduino UNO也不例外。在Arduino的术语中,这些引脚被称为数字IO(连接led和按钮)和模拟In(连接模拟设备)
使用40引脚GPIO引脚,您可以添加额外的特性/功能到树莓派与HAT(硬件附加在顶部)扩展板 在Arduino中添加额外功能和功能的类似方法是使用Arduino Shields(也通过IO引脚连接)
因为树莓派本质上是一台电脑,所以你必须在使用后或关机前正确关机 由于Arduino是一个微控制器板,您可以随意插拔电源
在树莓派中开发应用程序的主要编程语言是Python、Scratch、Ruby、C、c++ Arduino可以使用C或c++编程语言进行编程
Raspberry Pi的GPIO逻辑电平为3.3V。因此,在将硬件连接到GPIO引脚时要小心 Arduino的逻辑电平是5V。由于大部分的传感器和模块都是为Arduino设计的,所以连接到Arduino是没有问题的。但为了安全起见,要仔细检查每个模块和连接
Raspberry Pi必须使用USB电源适配器供电,因为它需要5V 2A或5V 3A电源 Arduino可以从电脑的USB端口供电(确保USB端口的电流不超过限制)
您可以使用Wi-Fi或以太网轻松连接到internet 对于Arduino,你需要额外的模块或屏蔽来连接互联网
树莓派自带蓝牙和Wi-Fi硬件 Arduino没有无线连接(至少在船上)

如何在覆盆子皮和Arduino之间做出选择?

所以,要在两者之间做出选择,首先你应该知道你想在项目中做什么。

  • 通过以上讨论,我们可以了解到Arduino适用于重复性任务,如打开车库门、打开和关闭车灯、读取温度传感器、根据用户需要控制电机等。
  • 而Pi在执行多项任务、驾驶复杂的机器人、播放视频、连接互联网、接口摄像头等方面都很出色。
  • 例如,如果您想开发一个应用程序,希望从DHT11传感器监控湿度和温度,并在LCD上显示结果,那么可以使用Arduino实现这一点。
  • 但是,如果你想通过DHT11传感器监测湿度和温度,发送电子邮件,查看/比较读数和在线天气报告,并在LCD上显示结果,那么树莓派是正确的选择。
  • 简单来说,Arduino用于初学者项目和快速电子产品原型制作,而Raspberry Pi用于一些复杂项目,Pi可以轻松处理。

8反应

  1. Raspberry Pi–有多种型号,价格在5美元至35美元之间。
    所以树莓派是比较便宜的稍微贵一点,有很多类似的
    甚至更快的替代方案。并且可以在小型计算机上使用电池。

  2. 假设一个项目可以同时使用覆盆子Pi和Arduino,安全吗?我的项目构想包括一个基本单元,该单元在通电后持续监听通过Wifi进行通信的外部单元(多个),然后,一旦基本单元听到一个或多个外部单元进入范围,该基本单元将机械驱动一台电机来做些事情。

    在我看来,这似乎是一个树莓Pi的基本单位与Arduino连接到它运行电机,而所有的外部单位将只是Arduino的。

    这是正确的评估吗?

    谢谢,

    道格

  3. 出于教学目的,特别是像中学或高中早期这样的较老年级,它们的区别特征可能与此处所述特征不同。vs Arduino?你有没有注意到老师们出于某种原因的偏爱?一个或另一个可能的项目是否更多地参与这个年龄组?如果我给每个学生的预算设置上限(比如说50到65美元),这会改变这些问题的答案吗,或者建议根据这一上限设置偏好?

留下一个回复

您的电子邮件地址将不会被公布。已标记必填字段*