说到树莓派,很多人喜欢把它和 Arduino 对比:前者性能高但软件结构复杂,后者性能有限但容易上手。

当要开始一个个人项目的时候,到底哪种微型计算机才合适?本文将解答这个问题。

树莓派 VS Arduino,哪个才是你的菜 - 图1

树莓派 VS Arduino,哪个才是你的菜 - 图2

区别

树莓派和 Arduino 看起来很相似,都是带控制功能的小型电路板,但它们完全是属于两种不同的设备。

树莓派是基于微处理器的硬件平台,核心是 Broadcom ARM 架构 CPU,可以完整运行 Ubuntu、Windows 10 IoT Core 等操作系统,甚至板载了 USB、以太网和 HDMI 等输入输出设备接口,能外接键盘显示器等。

Arduino 则是基于微控制器的硬件平台,核心是工业控制领域常见的 ATmega 系列芯片,只能执行提前烧录进芯片的程序。比如常用的 Arduino UNO 采用的是 ATmega328,只有8位数据宽度,16MHz 晶振时钟。

我们拿 2019 年最新发布的树莓派 4B 和 Arduino 里最流行的 UNO 做一个对比:

关键参数 树莓派 4B Arduino UNO
CPU/MCU Broadcom BCM2711,64-bit,4核心,ARM Cortex-A72 架构 ATmega328,8-bit
时钟频率 1.5GHz 16MHz
RAM 1、2、4 GB LPDDR4-3200 RAM 2KB SRAM
ROM 取决于外置 Micro SD 卡容量 32KB FLASH
可编程 IO 17 个 14 个
外设 PWM、4xURAT、4xSPI、4xIIC PWM、模拟输入
网络通信 以太网、蓝牙、Wi-Fi -
功耗 3~6.25W 0.25W

可以明显看出,树莓派不仅性能要高出几个量级,而且能运行操作系统,不仅可以操作可编程 io,还可以完成图形图像处理、网络通信等任务。

但正是因为树莓派搭载了操作系统,所以它的软件复杂度要高得多。比如最简单的点亮一盏 LED 灯,在树莓派上你需要安装操作系统,安装 GPIO 程序库,编写代码,配置开机自动执行等。Arduino 上则极其简单,用官方提供的 IDE 工具编写 C 代码,通过 USB 烧录进芯片,开机即可运行。

总的来说,树莓派是全功能的卡片电脑,而 Arduino 是剪裁用于特定用途的微控器。对于一些简单的场景,这两款硬件都可以胜任,但还是有一些区别:如果有网络通信、图形图像、大计算量的需求,就只能选用树莓派;如果需要精细控制 GPIO,比如模拟 spi 协议和传感器通信等,则选用 Arduino 会更简单。

当然,掌握了一定的编程能力之后,完全可以联用这两种硬件,树莓派做上位机负责管理系统,Arduino 做下位机负责控制其他硬件,实现优势互补。

参考资料