Raspberry Pi和Arduino有什么区别?

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

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

Arduino

让我们从Arduino开始。Arduino由意大利Ivrea的Massimo Banzi等人开发。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板。

覆盆子π

树莓派是由英国剑桥大学的埃本·厄普顿(Eben Upton)开发的,目的是教授和提高发展中国家学生的编程技能。Arduino是一个基于微控制器的开发板,而Raspberry Pi是一个基于微处理器(通常是ARM Cortex a系列)的板,作为一个计算机。

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

1 .树莓派

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

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

关于树莓派的另一个重要的事情是,因为它是基于Linux的计算机,你可以使用多种编程语言开发软件,如C, c++, Python, Java, HTML等。

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

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

树莓派的硬件设计文件和固件都不是开源的。

树莓派和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 Shields,它插入到Arduino Pin头,你可以添加一个专用的功能或功能,如电机驱动器,以太网连接,SD卡读卡器,Wi-Fi,触摸屏,摄像头等。虽然树莓派是一个独立的板,你可以添加外部硬件,如触摸屏,GPS, RGB面板等。树莓派硬件附加在顶部或HAT扩展板的灵感来自Arduino Shields,使用它可以为树莓派添加额外的功能。它们连接到GPIO管脚。
  • 树莓派和Arduino对电源的要求完全不同。尽管它们都是USB供电(树莓派使用micro-USB或USB Type C, Arduino使用USB Type B),但树莓派需要的电流比Arduino更多。因此,树莓派需要一个电源适配器,但你可以通过电脑的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
树莓派是一种单板计算机或SBC Arduino是一个基于单片机的开发板
它基于ARM Cortex A系列微处理器Broadcom SoC 它是基于Atmel微控制器。Arduino UNO采用ATmega328P单片机
需要一个基于Debian的Linux发行版树莓派操作系统来启动树莓派 因为它是一个微控制器,所以不需要操作系统
由于其强大的处理器和基于Linux的操作系统,树莓派SBC可以同时执行多个任务 Arduino通常用于运行单个任务(或非常小的no。(指简单的任务)反复地,反复地
所有必要的组件,如处理器,RAM,存储,连接器,GPIO引脚等,都位于树莓Pi板本身 Arduino板上的微控制器(类似于ATmega328P)包含处理器、RAM、ROM。板上包含支持硬件(电源和数据)和GPIO管脚
原始树莓派SBC的成本是35美元。随后,所有新版本树莓派的基础版本售价仅为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是没有问题的。但为了安全起见,要仔细检查每个模块和连接
树莓派必须使用USB电源适配器供电,因为它需要5V 2A或5V 3A电源 Arduino可以从电脑的USB端口供电(确保USB端口的电流不超过限制)
你可以使用Wi-Fi或以太网轻松连接互联网 对于Arduino,你需要额外的模块或屏蔽来连接互联网
树莓派自带蓝牙和Wi-Fi硬件 Arduino没有无线连接(至少在船上)

树莓派和Arduino之间如何选择?

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

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

8反应

  1. 树莓派-有多种型号,价格在5美元到35美元之间。
    所以树莓派是比较便宜的稍微贵一点,有很多类似的
    甚至更快的替代品。也可以用电池来驱动小型的微型电脑。

  2. 假设一个项目可以同时使用树莓派和Arduino,这是否安全?我的项目理念将包括一个基本单位,是倾听外部单位(几个)通过无线网络进行通信不断从权力,一旦基本单位听到的一个或多个外部单位的范围基本单位然后将机械传动电机做点什么。

    对我来说,这似乎是基础单元的树莓派,连接着Arduino来运行电机,而所有的外部单元都只是Arduino。

    这是正确的评估吗?

    谢谢,

    道格

  3. 对于教学目的,特别是较老的年级,如初中或早期高中,是他们的区别特征,而不是这里提到的Rasp。vs Arduino吗?你是否注意到老师出于某种原因而偏爱学生?哪个项目更适合这个年龄段的人?如果我给每个学生的预算设定一个上限(比如50美元到65美元),这是否会改变这些问题的答案,或者基于这个上限提出一个偏好?

留下一个回复

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