树莓派PicoVSArduino该选哪个

来源:EETOP编译整理自tomshardware

最近,树莓派基金会发布了RaspberryPiPico。在树莓派Pico发布之前,RaspberryPi和Arduino生态系统之间存在明显的区别。树莓派是支持Linux的完整计算机,而Arduino是一次仅运行一个程序的微控制器。随着本身就是微控制器的RaspberryPiPico和新型RPSoC的到来,两者的区别变得模糊了。树莓派基金会现在开始制造自己的自主处理器RP,并且使包括Arduino在内的合作伙伴能够在其板上使用RP。此外树莓派基金会正在开发并带有Wi-Fi和蓝牙基于RP的电路板。

Arduino和RaspberryPiPico都非常适合物理计算项目,这些项目可以说是可靠的信号灯控制、电机和传感器等,,这些都不需要运行一个完整的操作系统。甚至可以将其中一种与常规的RaspberryPi结合使用,并且将一种用于更高级别的任务(如AI),另一种用于与电子组件接口。

第一个Arduino板于年推出,从那以后,已经售出了数百万个,并且建立了庞大的生态系统。RaspberryPiPico最近才发布,但我们已经看到了对其的大量支持应用。那么哪个更好,在下一个项目中应该使用哪个呢?为了帮助您做出决定,我们将根据功能、价值、功耗等对这两个平台进行比较。

RaspberryPiPico与Arduino的功能和GPIO

RaspberryPiPico为RaspberryPi生态系统引入了一种新的外形设计,即40针DIP式PCB。所有的40个引脚都被分解成标准的焊盘,并且在周边,有一些可以用来将Pico焊接到载板上的焊盘,类似于表面贴装电子器件。

DIP封装并不是什么新鲜事物,Micro等Arduino板已经使用了多年。可以将DIP封装焊接到载板,放置在面包板上或堆叠在兼容附件的顶部。与需要较大布局的RaspberryPi和ArduinoUno样式布局相比,它是一种更方便的封装,因为后者偏重于较大的布局。RaspberryPiPico采用DIP布局,为我们提供了一个易于使用的外形尺寸,易于嵌入项目中。

RaspberryPiPicoGPIO提供大量的数字IO,三个模拟输入以及多个I2C、SPI和UART连接。但是Pico还提供了一系列可编程IO(PIO)引脚,可以将其配置为模拟其他接口/协议,例如WS“NeoPixels”,它们还可以用于将复杂任务卸载到后台进程。所有这些都是通过4美元的板子实现的,这意味着RaspberryPiPico是低成本的GPIO引脚“瑞士军刀”。

优胜者:RaspberryPiPico

RaspberryPiPico与Arduino的SoC

但后来的板子现在都采用ArmCPU。例如Arduino的PortentaH7就采用了双核ArmCortexM7+M4CPU。虽然ATMega永远无法与Arm处理器竞争,但对于项目来说,它是一款可靠的芯片,这已经被无数的Arduino项目所证明。

Arm芯片在微控制器中越来越常见,Adafruit、Seeed和SparkFun都开发了采用Arm芯片的电路板。微控制器不一定需要多核和快速的速度,因为它们通常用于一个过程的单一部分。

RaspberryPiPico中使用的RP比一般的微控制器要高一个层次。首先,RP采用了双核ArmCortexM0+,运行速度高达MHz,比UNO的16MHzP快很多。RP的SRAM为KB,同样比Uno的2KB多得多。Uno只有32KB的闪存,再次低于Pico上的2MB。

但Pico与Arduino的旗舰板PortentaH7相比如何呢?PortentaH7采用了双核ArmCortexM7+M4,最高运行频率可达MHz,并有高达2MB的闪存和1MB的RAM。PortentaH7还配备了WiFi、蓝牙、摄像头接口和GPU。PortentaH7在各方面都比RaspberryPiPico强的多。不过看一下价格,PortentaH7的零售价为89.9欧元,约合美元,美元可以买27RaspberryPiPico。

优胜者:RaspberryPiPico

RaspberryPiPico与Arduino程序代码编写

ArduinoIDE是Arduino项目的首选编辑器,但也有其他的选择,如PlatformIO和ArduinoCreate,Arduino的云IDE。但ArduinoIDE仍然是很多人使用的,看到Arduino就会想到它。

ArduinoIDE经过多年的改进,现在我们看到了内置的功能,比如多板管理,以及搜索和安装附加组件和配件的包库的方法。ArduinoCreate是ArduinoIDE的云版本。它是为物联网项目设计的,但它仍然可以用来修整最基本的Arduino代码。PlatformIO有三个版本,一个命令行工具,一个专用的IDE,或者它可以与你现有的IDE集成,例如微软的VisualStudioCode。

正如我们在RaspberryPiPico评测中提到的,新平台有两种官方支持的语言,C和MicroPython。目前RaspberryPiPico上的C/C++是留给高级用户的工作流程。事实上,RaspberryPi官方建议新用户使用MicroPython与Pico搭配使用。

如果你想在你的RaspberryPiPico上编写C代码,那么你有两个主要选择。在编辑器(Vi/Vim.nano等)中编写代码,然后使用终端工具构建代码,或者设置微软的VisualStudioCode,并使用一些扩展来创建一个工作流程,以构建和闪存代码到Pico。这两种方法都是可行的,但它们并不是最用户友好的。然而,通过对ArduinoIDE的更新,将很快可以支持RP。

如果Python是你的首选语言,那么你很幸运,因为RaspberryPiPico支持MicroPython,这是Python3的一个微控制器版本。在启动时,MicroPython可以通过两种方式编写,直接写入PythonShell,也就是所谓的REPL(读取、评估、打印、循环),或者我们可以使用一个IDE,比如Thonny,它从3.3.0版本开始就已经内置了支持。通过MicroPython是阻力最小的途径:我们可以从神奇的Thorny编辑器中快速编写和部署我们的代码,而且我们使用的是一种非常流行的标准语言,并在各种平台上使用。

优胜者:RaspberryPiPico

RaspberryPiPico与Arduino的易用性比较

RaspberryPiPico与以前的RaspberryPi不同,不需要操作系统。

无论我们选择哪种语言,我们都需要使用该语言的映像文件下载到Pico。然后,这使我们能够直接将代码编写并保存到板上。映像文件的选择格式为UF2,这是Microsoft的USB闪存格式,因其CircuitPython系列板而受到Adafruit的拥护。我们只需在插入MicroUSB电缆时按下BOOTSEL按钮,将UF2文件拖放到RPI-R2驱动器上,然后在几秒钟内就可以开始编写代码。这种易用性在MicroPython工作流程中显而易见。在Pico上保存MicroPythonUF2文件后,我们可以简单地使用Thonny连接并开始编写代码。

C/C++的工作流程比较高级一些,也是会让那些新手望而却步的,因为它需要大量的hoopjumping来创建最终产品。在终端上,我们需要在文本编辑器中编写项目代码,然后在下载额外的应用程序和依赖关系后,我们可以将项目构建成一个UF2文件,然后手动复制到Pico上。

ArduinoIDE的工作流程受到了多年改进和反馈的影响,整个过程都发生在应用程序中,用户的交互非常有限,更高级的用户可以改变项目中使用的电路板、端口和库,这些功能在最近的ArduinoIDE版本中得到了很大的改进。

ArduinoIDE还有其他的选择,包括ArduinoCreate,这是一个云版本的IDE,它是免费的,可以供有限的使用,但如果要更全面的应用,需要注册一个付费版本。ArduinoCreateIoTCloud是基于Arduino生态系统创建应用的一种手段,它运作得非常好,但是您将需要花费一些时间来学习该过程。

Pico和Arduino板在物理上的使用方便程度如何?第一个大区别是RaspberryPiPico未被焊接。这不是什么大问题,因为只要有烙铁,就可以轻松焊接自己的引脚。通常,Arduino板是预焊接的,基于DIP的板除外,例如ArduinoNanoEvery和Nano33IoT。

优胜者:RaspberryPiPico

RaspberryPiPico与Arduino的功耗比较

RaspberryPiPico是嵌入式项目的高效开发板。与典型的RaspberryPi相比,Pico消耗的电流要少得多,因为它是一种微控制器,没有计算机带来的开销。

我们使用5V电源以全亮度为运行12个NeopixelLED的RaspberryPiPico供电。我们记录的mA电流消耗为0.7W!但与运行相同测试的ArduinoUno相比,,ArduinoUno消耗的功率更少。由于ArduinoUno处理器速度相对慢很多,因此这是可以预期的。如果我们要用另一块板(例如PortentaH7)重复测试,则功耗会更高,因为Portenta上使用的ArmCPU甚至比RP还强大。

优胜者:Arduino




转载请注明:http://www.aierlanlan.com/rzgz/6245.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了