樹莓派Pico VS Arduino 該選哪個?
2021-01-29 13:25:58 EETOPArduino和Raspberry Pi Pico都非常適合物理計算項目,這些項目可以說是可靠的信號燈控制、電機和傳感器等,,這些都不需要運行一個完整的操作系統。甚至可以將其中一種與常規的RaspberryPi結合使用,并且將一種用于更高級別的任務(如AI),另一種用于與電子組件接口。
第一個Arduino板于2005年推出,從那以后,已經售出了數百萬個,并且建立了龐大的生態系統。RaspberryPi Pico最近才發布,但我們已經看到了對其的大量支持應用。那么哪個更好,在下一個項目中應該使用哪個呢?為了幫助您做出決定,我們將根據功能、價值、功耗等對這兩個平臺進行比較。
Raspberry Pi Pico為Raspberry Pi生態系統引入了一種新的外形設計,即40針 "DIP "式PCB。所有的40個引腳都被分解成標準的焊盤,并且在周邊,有一些可以用來將Pico焊接到載板上的焊盤,類似于表面貼裝電子器件。
DIP封裝并不是什么新鮮事物,Micro等Arduino板已經使用了多年。可以將DIP封裝焊接到載板,放置在面包板上或堆疊在兼容附件的頂部。與需要較大布局的RaspberryPi和Arduino Uno樣式布局相比,它是一種更方便的封裝,因為后者偏重于較大的布局。RaspberryPi Pico采用DIP布局,為我們提供了一個易于使用的外形尺寸,易于嵌入項目中。
Raspberry Pi Pico GPIO提供大量的數字IO,三個模擬輸入以及多個I2C、SPI和UART連接。但是Pico還提供了一系列可編程IO(PIO)引腳,可以將其配置為模擬其他接口/協議,例如WS2812“ NeoPixels”,它們還可以用于將復雜任務卸載到后臺進程。所有這些都是通過4美元的板子實現的,這意味著RaspberryPi Pico是低成本的GPIO引腳“瑞士軍刀”。
優勝者:RaspberryPi Pico
但后來的板子現在都采用Arm CPU。例如Arduino的Portenta H7就采用了雙核Arm Cortex M7+M4 CPU。雖然ATMega328永遠無法與Arm處理器競爭,但對于項目來說,它是一款可靠的芯片,這已經被無數的Arduino項目所證明。
Arm芯片在微控制器中越來越常見,Adafruit、Seeed和SparkFun都開發了采用Arm芯片的電路板。微控制器不一定需要多核和快速的速度,因為它們通常用于一個過程的單一部分。
Raspberry Pi Pico中使用的RP2040比一般的微控制器要高一個層次。首先,RP2040采用了雙核Arm Cortex M0+,運行速度高達133 MHz,比UNO的16 MHz 328P快很多。RP2040的SRAM為264KB,同樣比Uno的2KB多得多。Uno只有32KB的閃存,再次低于Pico上的2MB。
但Pico與Arduino的旗艦板Portenta H7相比如何呢?Portenta H7采用了雙核Arm Cortex M7+M4,最高運行頻率可達480 MHz,并有高達2MB的閃存和1MB的RAM。Portenta H7還配備了WiFi、藍牙、攝像頭接口和GPU。Portenta H7在各方面都比Raspberry Pi Pico強的多。不過看一下價格,Portenta H7的零售價為89.9歐元,約合109美元, 109美元可以買27Raspberry Pi Pico。
優勝者:RaspberryPi Pico
Arduino IDE是Arduino項目的首選編輯器,但也有其他的選擇,如PlatformIO和Arduino Create,Arduino的云IDE。但Arduino IDE仍然是很多人使用的,看到"Arduino "就會想到它。
Arduino IDE經過多年的改進,現在我們看到了內置的功能,比如多板管理,以及搜索和安裝附加組件和配件的包庫的方法。ArduinoCreate是Arduino IDE的云版本。它是為物聯網項目設計的,但它仍然可以用來修整最基本的Arduino代碼。PlatformIO有三個版本,一個命令行工具,一個專用的IDE,或者它可以與你現有的IDE集成,例如微軟的VisualStudio Code。
正如我們在Raspberry Pi Pico評測中提到的,新平臺有兩種官方支持的語言,C和MicroPython。目前Raspberry Pi Pico上的C/C++是留給高級用戶的工作流程。事實上,RaspberryPi官方建議新用戶使用MicroPython與Pico搭配使用。
如果你想在你的Raspberry Pi Pico上編寫C代碼,那么你有兩個主要選擇。在編輯器(Vi /Vim.nano等)中編寫代碼,然后使用終端工具構建代碼,或者設置微軟的VisualStudio Code,并使用一些擴展來創建一個工作流程,以構建和閃存代碼到Pico。這兩種方法都是可行的,但它們并不是最用戶友好的。然而,通過對Arduino IDE的更新,將很快可以支持RP2040。
如果Python是你的首選語言,那么你很幸運,因為RaspberryPi Pico支持MicroPython,這是Python 3的一個微控制器版本。在啟動時,MicroPython可以通過兩種方式編寫,直接寫入PythonShell,也就是所謂的REPL(讀取、評估、打印、循環),或者我們可以使用一個IDE,比如Thonny,它從3.3.0版本開始就已經內置了支持。通過MicroPython是阻力最小的途徑:我們可以從神奇的Thorny編輯器中快速編寫和部署我們的代碼,而且我們使用的是一種非常流行的標準語言,并在各種平臺上使用。
優勝者:RaspberryPi Pico
Raspberry Pi Pico與以前的Raspberry Pi不同,不需要操作系統。
無論我們選擇哪種語言,我們都需要使用該語言的映像文件下載到Pico。然后,這使我們能夠直接將代碼編寫并保存到板上。映像文件的選擇格式為UF2,這是Microsoft的USB閃存格式,因其CircuitPython系列板而受到Adafruit的擁護。我們只需在插入Micro USB電纜時按下BOOTSEL按鈕,將UF2文件拖放到RPI-R2驅動器上,然后在幾秒鐘內就可以開始編寫代碼。這種易用性在MicroPython工作流程中顯而易見。在Pico上保存MicroPython UF2文件后,我們可以簡單地使用Thonny連接并開始編寫代碼。
C/C++的工作流程比較高級一些,也是會讓那些新手望而卻步的,因為它需要大量的 "hoopjumping "來創建最終產品。在終端上,我們需要在文本編輯器中編寫項目代碼,然后在下載額外的應用程序和依賴關系后,我們可以將項目 "構建 "成一個UF2文件,然后手動復制到Pico上。
ArduinoIDE的工作流程受到了多年改進和反饋的影響,整個過程都發生在應用程序中,用戶的交互非常有限,更高級的用戶可以改變項目中使用的電路板、端口和庫,這些功能在最近的Arduino IDE版本中得到了很大的改進。
Arduino IDE還有其他的選擇,包括ArduinoCreate,這是一個云版本的IDE,它是免費的,可以供有限的使用,但如果要更全面的應用,需要注冊一個付費版本。Arduino CreateIoT Cloud是基于Arduino生態系統創建應用的一種手段,它運作得非常好,但是您將需要花費一些時間來學習該過程。
Pico和Arduino板在物理上的使用方便程度如何?第一個大區別是RaspberryPi Pico未被焊接。這不是什么大問題,因為只要有烙鐵,就可以輕松焊接自己的引腳。通常,Arduino板是預焊接的,基于DIP的板除外,例如Arduino Nano Every和Nano 33 IoT。
優勝者:RaspberryPi Pico
RaspberryPi Pico是嵌入式項目的高效開發板。與典型的RaspberryPi相比,Pico消耗的電流要少得多,因為它是一種微控制器,沒有計算機帶來的開銷。
我們使用5V電源以全亮度為運行12個Neopixel LED的Raspberry Pi Pico供電。我們記錄的140mA電流消耗為0.7W!但與運行相同測試的Arduino Uno相比,,Arduino Uno消耗的功率更少。由于Arduino Uno處理器速度相對慢很多,因此這是可以預期的。如果我們要用另一塊板(例如Portenta H7)重復測試,則功耗會更高,因為Portenta上使用的Arm CPU甚至比RP2040還強大。