02.23 樹莓派 VS Arduino,哪個才是你的菜

說到樹莓派,很多人喜歡把它和 Arduino 對比:前者性能高但軟件結構複雜,後者性能有限但容易上手。

當要開始一個個人項目的時候,到底哪種微型計算機才合適?本文將解答這個問題。

區別

樹莓派和 Arduino 看起來很相似,都是帶控制功能的小型電路板,但它們完全是屬於兩種不同的設備。

樹莓派是基於微處理器的硬件平臺,核心是 Broadcom ARM 架構 CPU,可以完整運行 Ubuntu、Windows 10 IoT Core 等操作系統,甚至板載了 USB、以太網和 HDMI 等輸入輸出設備接口,能外接鍵盤顯示器等。

Arduino 則是基於微控制器的硬件平臺,核心是工業控制領域常見的 ATmega 系列芯片,只能執行提前燒錄進芯片的程序。比如常用的 Arduino UNO 採用的是 ATmega328,只有8位數據寬度,16MHz 晶振時鐘。

我們拿 2019 年最新發布的樹莓派 4B 和 Arduino 裡最流行的 UNO 做一個對比:

關鍵參數樹莓派 4BArduino UNOCPU/MCUBroadcom BCM2711,64-bit,4核心,ARM Cortex-A72 架構ATmega328,8-bit時鐘頻率1.5GHz16MHzRAM1、2、4 GB LPDDR4-3200 RAM2KB SRAMROM取決於外置 Micro SD 卡容量32KB FLASH可編程 IO17 個14 個外設PWM、4xURAT、4xSPI、4xIICPWM、模擬輸入網絡通信以太網、藍牙、Wi-Fi-功耗3~6.25W0.25W

可以明顯看出,樹莓派不僅性能要高出幾個量級,而且能運行操作系統,不僅可以操作可編程 io,還可以完成圖形圖像處理、網絡通信等任務。

但正是因為樹莓派搭載了操作系統,所以它的軟件複雜度要高得多。比如最簡單的點亮一盞 LED 燈,在樹莓派上你需要安裝操作系統,安裝 GPIO 程序庫,編寫代碼,配置開機自動執行等。Arduino 上則極其簡單,用官方提供的 IDE 工具編寫 C 代碼,通過 USB 燒錄進芯片,開機即可運行。

總的來說,樹莓派是全功能的卡片電腦,而 Arduino 是剪裁用於特定用途的微控器。對於一些簡單的場景,這兩款硬件都可以勝任,但還是有一些區別:如果有網絡通信、圖形圖像、大計算量的需求,就只能選用樹莓派;如果需要精細控制 GPIO,比如模擬 spi 協議和傳感器通信等,則選用 Arduino 會更簡單。

當然,掌握了一定的編程能力之後,完全可以聯用這兩種硬件,樹莓派做上位機負責管理系統,Arduino 做下位機負責控制其他硬件,實現優勢互補。

ARDUINO UNO REV3The latest update to Raspbian樹莓派 4B 詳細資料Arduino各開發板的比較