ArduinoとRaspberryPiは、学生、愛好家、専門家の間で最も人気のあるボードです。経験豊富な専門家は、2つの間の有用性と違いを知っています。しかし、初心者と学生はしばしば彼らの間で混乱します 、プロジェクトに使用するボードや習得しやすいボード、PiよりもArduinoを使用する理由など。そこで、ここでは、ArduinoとRaspberryPiのどちらを選択するかを簡単に決定できるようにするほとんどすべての側面について説明します。
Raspberry Piは、完全に機能するコンピューターであり、システムオンチップ(SoC)デバイスであり、Rasbianという名前の特別に設計されたLinuxオペレーティングシステムで実行されます。 RasbianはRaspberryPiの公式OSであり、Firefox OS、Android、 RISC OS、Ubuntu Mateなどの他のサードパーティOSをPiにインストールできます。また、Windows10バージョンもPiで利用できます。コンピュータのように、メモリ、プロセッサ、USBポート、オーディオ出力、HDMI出力用のグラフィックドライバがあり、Linuxで実行されるため、ほとんどのLinuxソフトウェアアプリケーションをインストールできます。 Raspberry Pi、Raspberry Pi 2、Raspberry Pi Model B +などのいくつかのモデルとリビジョンがあります。
Arduinoはマイクロコントローラーであり、Raspberry Piほど強力ではなく、コンピューターシステムの1つのコンポーネントと見なすことができます。しかし、それはエレクトロニクスプロジェクトにとって素晴らしいハードウェアです。実行するのにOSやソフトウェアアプリケーションは必要ありません。使用するために数行のコードを記述するだけです。Arduino UNO、Arduino PRO、Arduino MEGA、ArduinoDUEなどの多くのArduinoボードがあります。
それらはかなり異なりますが、それらの始まりに関していくつかの類似点があります。RaspberryPiは英国のEbenUptonによって開発され、ArduinoはイタリアのMassimo Banziによって開発されているように、どちらもヨーロッパ諸国で発明されています。発明者は両方とも教師であり、学生のための設計学習ツールとしてこれらのハードウェアプラットフォームを開発しています。Raspberry piは2012年に最初に導入され、Arduinoは2005年に導入されました。
ArduinoとRaspberryPiの違いを理解するために、両方のハードウェアの長所と短所を相互に議論するアプローチを採用しました。したがって、最初に次のことから始めます。
Raspberry Piに対するArduinoの利点:
シンプルさ:
わずか数行のコードで、アナログセンサー、モーター、その他の電子部品をArduinoとインターフェースするのは非常に簡単です。Raspberry piでは、これらのセンサーを読み取るだけで多くのオーバーヘッドが発生しますが、これらのセンサーとコンポーネントをインターフェイスするためのライブラリとソフトウェアをインストールする必要があります。また、Arduinoでのコーディングは簡単ですが、Raspberrypiを使用するためのLinuxとそのコマンドの知識が必要です。
堅牢性:
Raspberry PiはOS上で動作するため、電源をオフにする前に適切にシャットダウンする必要があります。そうしないと、OSとアプリケーションが破損し、Piが損傷する可能性があります。一方Arduinoのちょうどプラグアンドプレイデバイスである損傷の危険なしに、時間の任意の時点でONとOFFを回転させることができます。電源を再開すると、コードの実行を再開できます。
消費電力:
Piは強力なハードウェアであり、継続的な5V電源が必要であり、バッテリーで実行するのは困難ですが、Arduinoは必要な電力が少なく、バッテリーパックを使用して簡単に電力を供給できます。
価格:
明らかに、ArduinoはRaspberry Piよりも安価です。Arduinoの価格はバージョンによって異なりますが約10〜20ドルですが、Raspberryの価格は約35〜40ドルです。
Arduinoに対するRaspberryPiの利点:
Raspberry Piのメリットを読んだ後は、Arduinoが最適だと考えることができますが、どのプラットフォームを使用するかはプロジェクトによって異なります。Raspberry Piのパワーとその使いやすさは、Arduinoよりも優れている点です。以下では、Arduinoに対するいくつかの利点について説明します。
強力さ:
これがRaspberryPiの主な利点です。 Piは、コンピューターのように一度に複数のタスクを実行できます。高度なロボットのような複雑なプロジェクトや、インターネットを介してWebページから物事を制御する必要があるプロジェクトを構築したい場合は、Piが最適です。 Piは、Webサーバー、VPNサーバー、プリントサーバー、データベースサーバーなどに変換できます。Arduinoは、LEDを点滅させるだけの場合に適していますが、Webページで数百のLEDを制御する必要がある場合は、Piが最適です。 。
Raspberry PiはArduinoよりも40倍高速で、PIを使用すると、メールの送信、音楽の再生、ビデオの再生、インターネットの実行などを行うことができます。また、前述したように、メモリ、プロセッサ、USBポート、イーサネットポートなどがあります。ほとんどの機能に外部ハードウェアは必要ありません。SSH経由でアクセスでき、ファイルはFTP経由で簡単に転送できます。
ネットワーキング:
Raspberry Piにはイーサネットポートが組み込まれており、これを介してネットワークに直接接続できます。インターネットでさえ、いくつかのUSBWi-Fiドングルを使用してPiで簡単に実行できます。Arduinoにいる間、ネットワークに接続するのは非常に困難です。Arduinoを使用してネットワークを実行するには、外部ハードウェアを接続し、コードを使用して適切にアドレス指定する必要があります。「シールド」と呼ばれる外部ボードを接続して、ArduinoをPiと同じように機能させ、それらを処理するための適切なコーディングを行う必要があります。
エレクトロニクスに関する深い知識は必要ありません。
Arduinoの場合、間違いなく電子的な背景が必要であり、組み込みプログラミング言語について知る必要があります。しかし、Piから始めるために、コーディング言語に飛び込む必要はなく、電子機器とそのコンポーネントに関する小さな知識で十分です。
これらの利点に加えて、1つの利点はOSを単一のRaspberryPiボードで簡単に切り替えることができることです。PiはSDカードをフラッシュメモリとして使用してOSをインストールするため、メモリカードを交換するだけでオペレーティングシステムを簡単に切り替えることができます。
例:
例を通して、ArduinoまたはPiの必要性を理解することができます。事前に録音されたメッセージで電話に自動的に応答したい場合のように、Arduinoがその方法です。しかし同時に、ロボ発信者やスパム発信者をブロックしたい場合はどうでしょうか。次に、Raspberry Piが登場します。これは、インターネット上のスパム発信者データベースを使用してスパム通話をフィルタリングするか、人間の発信者にキャプチャタイプの検証を行うこともできます。
そのため、Arduinoは、ゲートにいる人がドアを開けるなどの繰り返しの作業に適していますが、Raspberry Piは、許可された人だけがドアを開けるなど、より複雑なことを実行できます。Raspberry Piは、モノのインターネットの世界で大きな可能性を秘めています。モノのインターネットでは、人間の介入なしに、マシンが別のマシンと直接対話して制御します。
結論:
Arduinoは初心者に最適だと言う人もいますが、私はそれに同意しません。初心者はそれらのいずれかから始めることができます。選択はあなたのプロジェクトとあなたの背景に依存します。次のプロジェクトのために、これら2つの中から選択する方法で締めくくります。
次の場合はArduinoを選択する必要があります。
- あなたはエレクトロニクスのバックグラウンドを持っているか、初心者で本当にエレクトロニクスとそのコンポーネントについて学びたいのであれば。
- あなたのプロジェクトは単純で、特にネットワーキングは関係していません。
- あなたのプロジェクトは、盗難警報器や音声制御ライトなどのソフトウェアアプリケーションが関与しない電子プロジェクトのようなものです。
- あなたはソフトウェアやLinuxにあまり興味がないコンピュータオタクではありません。
次の場合は、RaspberryPiを選択する必要があります。
- プロジェクトは複雑で、ネットワーキングが関係しています。
- プロジェクトは、VPNサーバーやWebサーバーなどのソフトウェアアプリケーションのようなものです。
- 電子機器についての十分な知識がありません。
- Linuxとソフトウェアについて十分な知識を持っている。
どちらにも長所と短所がありますが、一緒に使用して最大限に活用することもできます。Piのように、ネットワークを介してデータを収集して決定を下し、モーターを回転させるなどの適切なアクションを実行するようにArduinoに命令できます。