树莓派与 Arduino:选择哪一个?
是否还在为选择树莓派还是 Arduino 而感到困惑?想了解它们各自的应用场景吗?
树莓派和 Arduino 都是科技领域的创新者,但了解它们之间的差异至关重要,这样才能知道在何时以及如何使用它们。
在本文中,我们将深入探讨树莓派和 Arduino 的定义,并根据不同的应用场景讨论它们的使用差异。
让我们开始吧!
关于树莓派,你应该知道的一切
树莓派是一款由 树莓派基金会(英国一家非营利组织)开发的,价格亲民且尺寸如信用卡般的计算机。
其初衷是为大众提供计算机教育,特别是那些无力购买完整计算机的人。
它几乎可以完成普通计算机的全部工作,例如浏览网页、播放 4K 视频、处理电子表格、玩游戏等等。
此外,树莓派还帮助各个年龄段的人学习诸如 Scratch 和 Python 等编程语言。
现在我们已经了解了树莓派是什么,接下来让我们深入探讨它的技术细节。
树莓派于 2012 年首次推出。自那时起,它经历了多次迭代。初代树莓派配备了单核 700MHz CPU 和仅 256MB 的 RAM。
而最新的 Raspberry Pi 4 Model B,配备了主频超过 1.5GHz 的四核 CPU 和 4GB 的 RAM。
树莓派的价格一直保持在 80 美元以下(通常在 35 美元左右)。
实际上,Pi Zero 的售价仅为 5 美元——正如我们所说,它小巧、实惠且高效。
更重要的是,树莓派已被广泛应用于各行各业,从音乐到气象站等领域。
树莓派的应用场景
#1. 调频广播电台
您有想与团体或社区分享的信息吗?树莓派可以帮助您在 FM 收音机上广播您的信息。
请注意:在没有许可证的情况下,通过 FM 收音机广播信息是非法的。幸运的是,树莓派的广播范围有限,所以您应该可以避免惹上麻烦。
您只需要一个便携式电源解决方案和一些焊接技巧。
然后,您可以将音频(您想播放的内容)预加载到 microSD 卡中,一切就绪!
#2. DIY 复古游戏机
树莓派的另一个流行用途是作为复古游戏机。它结构紧凑且功能强大,可以多种方式用于游戏。
第一种方法是安装独立的模拟器,加载 ROM 并开始游戏。
第二种方法是通过专为树莓派开发的复古游戏平台来玩游戏,例如 RetroPie、RecalBox 和 PiPlay。
您甚至可以模拟许多流行的平台,例如 MS-DOS PC 游戏和 Commodore 64。此外,树莓派还可以帮助您重温许多流行的 16 位游戏机。
#3. 网络服务器
树莓派的另一个绝佳用途是作为网络服务器。也就是说,这些服务器功能强大,足以托管一个网站。例如,托管您的个人博客。
要开始使用,您需要安装 Apache 软件或完整的 LAMP 堆栈,其中包含 PHP 和 MySQL 以及 Apache。
完成设置后,您可以将 HTML 文件上传到目录 (www),然后您的服务器即可上线。
请注意:要使您的网站正常运行,您需要从互联网服务提供商处获得静态 IP 地址。
现在让我们来看看 Arduino 是什么以及它与树莓派有何不同。
关于 Arduino,你需要知道的一切
Arduino 是一个开源平台,配有易于使用的硬件(通常称为微控制器)和 Arduino 软件或 IDE(集成开发环境)。
Arduino 集成开发软件由 Ivrea Interaction Design Institute 开发。它与树莓派有着相似的目标——教育没有技术和编程背景的学生。
Arduino 板可以读取输入,例如传感器上的 LED 灯、按钮上的手指,并将它们转化为输出,例如激活电机或打开 LED 灯。
Arduino 一直是许多简单和复杂的科学项目背后的驱动力。由于其用户友好的体验,它易于新手上手,同时对于高级用户来说也足够灵活。
您可以通过在 Arduino 集成开发环境 (IDE) 中输入一系列指令,或者使用简化的 C++ 编写程序来告诉 Arduino 该做什么。
请注意:IDE 是您在将程序代码上传到开发板之前输入程序代码的地方。
Arduino 的应用场景
#1. 乐器
合成器、鼓和特雷门琴等多种乐器都是使用 Arduino 创建的。
要开始使用,您需要一个 Flit 板和一个 Arduino UNO。
Flit 板是一块 PCB,可以从表面上方 15 厘米处检测到您的手势。这允许您在空中挥动双手,您的手势将自动转换为音乐。
这绝对是一个很酷的 Arduino 项目!
#2. 指纹门锁
是否厌倦了钥匙丢失,又因指纹锁价格高昂而不愿安装?
太棒了!如果我们告诉您,您可以以最低 70 美元的价格安装一个带有 Arduino 的指纹锁,您会感觉如何?
要开始该项目,除了 Arduino UNO 开发板,您还需要:
- 指纹传感器
- 红外反射传感器
- 伺服电机
- LCD RGB 背光
- 电源模块
它是如何工作的?
首先,将您的指纹注册到系统中。完成后,将您的手指放在指纹传感器上。
如果您的手指被识别,伺服电机将转动锁并自动为您开门。
一旦门再次关闭,红外反射传感器会检测到运动并锁定门。听起来很酷,对吧?
#3. 机器人汽车
不仅仅是任何机器人汽车,而是一款可以避开障碍物的机器人汽车!
这种智能设备可以自动感应前方的障碍物并相应地改变方向。这可能是任何移动机器人的主要要求。
商业和军事组织都在使用这项技术来执行危险的无人工作。
你需要什么?
您只需要一辆玩具车、一个超声波传感器(足以感应障碍物)、一个 9V/12V 1A 电池和一些单股线。
互联网上有许多视频可以指导您使用这些组件构建由 Arduino 驱动的机器人汽车。
使用树莓派而非 Arduino 的优势
- 广泛的外围设备支持:它带有 26 个 GPIO 引脚,允许您一次连接多个显示器、模块和传感器
- 支持多种语言:它支持所有类型的编程语言,例如 C、C++、Java、Python、Ruby 等
- 经济实惠且功能强大:树莓派的性价比无与伦比;它配备了 1.6 GHz 处理器,这在其他任何单板计算机中都很难找到
- 袖珍桌面:通过将您的树莓派配置为显示屏,轻松将其转换为袖珍 Linux 发行版;然后,您可以将其用于编码、照片编辑、浏览和其他计算任务
使用 Arduino 而非树莓派的优势
- 经济实惠的跨平台微控制器:Arduino 板是市场上最实惠的微控制器,能够在 Windows、Mac 和 Linux 操作系统上运行
- 易于使用:基于 Processing 编程环境,对于初学者和高级用户都非常灵活
- 开源软件:它作为开源工具发布,可以通过 C++ 库随时扩展
- 可扩展硬件:基于知识共享许可,允许电路设计人员构建他们自己的模块版本
树莓派 vs Arduino:何时使用哪个?
当您想要创建创新的家庭应用和机器人时,您可能会想知道:何时使用树莓派,何时使用 Arduino?
首先,让我们了解一下树莓派和 Arduino 之间的根本区别。
树莓派板包含一个微处理器。它的 CPU 基于 ARM 架构,可以运行完整的操作系统(如 Raspbian、Ubuntu)。
本质上,您可以像使用计算机一样使用树莓派(但性能会受到一定限制)。
而 Arduino 板则包含一个微控制器。根据 Arduino 的型号,您可能拥有不同的微控制器。
核心区别在于微控制器与微处理器不同。您无法在 Arduino 微控制器上安装操作系统。您只是在运行一个循环程序。仅此而已!
何时使用树莓派
有些项目只能用树莓派才能完成。
#1. 当您需要复杂的应用程序时
在微处理器(树莓派)和微控制器(Arduino)上编程之间存在巨大差异。
Arduino 因其重复性框架而受欢迎。它仅限于具有一个控制循环的单个线程。
显然,单个线程不足以创建运动感应算法、袖珍桌面,甚至是来自摄像头的流媒体图像。
Arduino 专为低级控制而设计,足以直接与硬件对话。
如果您想创建更复杂的东西,您需要一个强大的微处理器,例如树莓派。
#2. 当您想使用多个 Cpp 进行编程时
Arduino 语言是 C/Cpp 的一个子集,不允许您在编码时使用 C++ 的所有功能,例如 C++14 或 C++17。
但是,您可以将 Cpp 的所有功能与树莓派一起使用。
std 库、异常、“new”和“delete”关键字——只要您能想到,就可以使用。
此外,您将能够自己编译您的 Cpp 文件,而无需任何外部专业知识。
#3. 真正的多线程
如果您正在创建需要多线程的应用程序,那么树莓派是您的首选!
但是,使用 Arduino,您可以调整程序以实现接近多线程的功能。但这并非完美!
这就是为什么要实现“真正的”多线程,您需要使用树莓派,并使用您想要的编程语言创建任意数量的线程。
何时使用 Arduino
由于 Arduino 开发板使用微控制器,因此不能用作操作系统。但是,有些事情只能通过 Arduino 开发板来完成。
#1. 实时处理
使用 Arduino 更容易实现实时约束。原因是树莓派拥有更强大的 CPU、多核和更多 RAM,适用于更大、更复杂的程序。
具体来说,当您使用树莓派开发板时,您对资源的控制较少,因为操作系统会为您管理资源。
而且,如果您同时运行多个程序,那么通过树莓派实现实时处理的可能性就会降低。
但是,在某些情况下,您可以使用树莓派来实现实时约束,例如 RT-Preempt 补丁。但这肯定更复杂,而且并不理想。
另一方面,Arduino 的 CPU 资源要低得多,RAM 最少仅有几 KB。
您可能会认为处理能力较低的设备比树莓派更好。但事实并非如此。
Arduino 运行在强大的编程语言 (C/C++) 上。由于只有一个程序在单个线程中循环运行,因此估计完成任务所需的时间变得更加容易。
#2. 当进行简单的项目时
到目前为止,您可能已经了解了两件事:
- 树莓派适用于复杂项目
- Arduino 最适合涉及重复指令的简单程序
因此,如果您的应用程序只是关于从传感器(温度、红外线、指纹)读取输入、实时处理它们并生成基本输出,那么 Arduino 可以轻松胜任。
此外,与树莓派不同,Arduino 具有预先集成的硬件功能,并且所需的开发时间相对较少。
#3. 当您需要强大的硬件引脚时
尽管两个开发板具有相似的硬件功能,但一些主要差异使得 Arduino 在某些情况下优于树莓派,如下所述。
- 模数转换器 (ADC):Arduino UNO 的 ADC 允许您读取 0 到 5V 之间的值,从而更容易从传感器读取百分比值
- 集成 PWM:一些 Arduino 引脚允许您创建和使用 PWM 在设备上发送模拟信号,并完全控制它
现在,您已经了解了哪个开发板最适合什么。接下来,让我们找出一些可以购买树莓派和 Arduino 的市场。
从哪里购买树莓派?
要购买树莓派,您可以前往这些值得信赖的平台。
#1. 亚马逊
亚马逊是一家大型互联网企业,几乎可以销售您想要的一切。我们这里说的一切,当然也包括树莓派开发板。
在亚马逊上,您可以购买到 2019 年推出的最新版本树莓派,即 Raspberry Pi 4 Model B。
亚马逊上有很多优秀的评级和评论。此外,您还可以实时比较不同供应商的产品价格,从而获得最优惠的价格。
#2. 奥多
奥多 提供软件、开发支持和制造服务的独特组合,使客户能够将创新想法转化为商业现实。
它为其 Raspberry Pi 4 Model B 提供了一个 8 件式入门套件。
您不仅可以获得功能强大的 Raspberry 套件,还可以免费访问其在线设置指南和一系列很酷的项目。
从哪里购买 Arduino?
#1. Arduino.cc
Arduino.cc 是您购买所有 Arduino 产品和配件的一站式商店。它提供了各种 Arduino 产品,其中最受欢迎的是 Arduino 认证套件。
该套件附带 Arduino 入门套件和在线认证考试。
认证考试通常基于通过 Arduino 入门套件执行的实际任务。对于那些希望从基础知识学习 Arduino 的新手来说,这是一个绝佳的选择。
考试有英语、西班牙语、德语、意大利语和中文版本。
#2. 亚马逊
同样,亚马逊 也是购买 Arduino 开发板及其配件的理想市场。
从购买单个 Arduino UNO 开发板到完整的 Arduino 套件,您都可以在这里获得。
其中,Arduino Uno REV 3 是亚马逊最畅销的 Arduino 系列。这是一款独立的 Arduino 开发板,具有令人印象深刻的客户评价和评论。
哪个更好:树莓派还是 Arduino?
从上面的讨论中可以看出,树莓派和 Arduino 都各有优缺点。
在两者之间进行选择在很大程度上取决于您要处理的应用程序类型。
Arduino 适用于执行涉及单线程输入和基本输出的重复性任务,例如开门、开/关灯、通过传感器读取温度等。
另一方面,树莓派则推荐用于需要多个程序和不同输出的复杂应用程序,例如,驾驶机器人、创建袖珍电脑、建立网站、在互联网上发布内容等。