【初心者向け】結局、Arduinoとラズパイって何が違うの？【図解】

お疲れ様です。秋並です。

電子工作をする際に初心者におすすめされるボードとして、ArduinoとRaspberry Piがよく挙げられますが、最初は両者の違いが分からない人も多いのではないでしょうか。

そこで、今回はArduinoとRaspberry Piの違いについて解説していきます。

# ArduinoとRaspberry Piの似ているところ

ArduinoとRaspberry Piは、どちらも電子工作に使われるボードで、pinにセンサーやアクチュエータなどの電子部品を接続することで、様々な制御を行うことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/a0181b20-2914-29c0-db45-000e05152d90.png)

# ArduinoとRaspberry Piの違い

ここからは、ArduinoとRaspberry Piの違いについて解説していきます。

## OSの有無

最初に、**ArduinoはOSが搭載されていない**ため、一般にマイコンボードに分類されます。

一方、**Raspberry PiはOSが搭載されている**ため、小型のコンピュータと見ることができます。

::: note
マイコンの定義は、文脈によって異なりますが、**ここではOSが搭載されていないボードを指す**こととします。

また、マイコン用のOS（RTOS）も存在しますが、今回はLinux等の汎用OSの有無で区別しています。
:::


<br>

Arduinoの他に有名なマイコンボードには、M5Stack、
Raspberry Piの他に有名な小型コンピュータには、Jetson Nanoなどが挙げられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/0e6f39d3-aa5a-3a2d-25a5-e5860804b429.png)


<br>

このように、今回は、「マイコン」と「小型コンピュータ」といった視点で比較するので、以降の比較についても

- 「マイコン」と 「小型コンピュータ」の比較

と置き換えて見てもらってもおおよそ問題ないかと思います。

## できること

Arduinoには、以下のような特徴があります。
- 基本的に**一つのプログラムをループして実行**します
  - 例えば、LEDを点滅させる、温度センサーの値を取得する、モーターを制御する、などが挙げられます（もちろん、これらの処理を組み合わせることも可能なので、実際はもっと複雑な動作も可能です）
- **プログラミング言語はArduino独自の言語（C言語に似た言語）を使用**します
- 基本的には、**電子工作の際に使用されます**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/33c1a200-ef5a-7c71-1d5e-38e71cb934b8.png)

<br>

Raspberry Piには以下のような特徴があります。
- **LinuxベースのOSが動作するため、一般的なコンピュータと同様に扱うことができます**
- C言語、Python、Javaなどの**様々なプログラミング言語を使用した開発が可能**です
- 電子工作以外にも、Webサーバーの構築、データベースの運用、機械学習の実行など、**幅広い用途に使うことができます**
  - （わざわざRaspberry Piではやらないかもしれませんが、普通のパソコンのようにネットサーフィンなども可能です）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/cb038a96-9ec9-772e-496a-013daf50a207.png)

## リアルタイム性

<font color="red">Arduinoでは、基本的に一つのプログラムをループして実行するため、リアルタイム性が求められる制御に向いています</font>。

一方で、<font color="blue">RaspberryPiはOS上で動作させるため、Arduinoと比較するとリアルタイム性には劣ります</font>。

例えば、**ドローンの姿勢制御のようなリアルタイム制御が重要な部分ではArduinoを使用した方がよい**でしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/4d11c5a0-3638-d76a-5266-04af5603824b.png)


## 処理性能

<font color="blue">Arduinoは、シンプルな処理を高速に行うことに特化しているため、高い処理性能を要する制御は向いていない</font>です。

一方で、<font color="red">Raspbbery Piは、汎用的な処理を行うことも想定しているため、高い処理性能を要する制御も可能</font>です。

そのため、**画像処理や機械学習などの高度な処理はRaspberry Piを使用する方がよい**です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/962b5ffa-e33a-e53e-d1b2-5e937943c632.png)


## 消費電力

<font color="red">Arduinoは、消費電力が少ないことが特徴</font>であり、バッテリーでの長時間の駆動に向いています。

一方で、<font color="blue">Raspberry Piは、消費電力が大きい</font>ため、バッテリーでの長時間駆動には向いていません。

例えば、**土壌の状態を計測するといったシンプルなタスクを長時間実施するような場合は、Arduinoの方が向いている**でしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/a7280f9b-7366-7245-31e7-9a9196b7a00e.png)


## 価格
<font color="red">Arduinoは、安価に入手することが可能</font>です。

最もスタンダートなタイプである「Arduino Uno」の最新バージョンである「Arduino Uno R3」は、5000円程度で購入可能です。

https://www.switch-science.com/products/789?srsltid=AfmBOoqxjANFBS5bnLjVVuGofU8urFrAoOxtFunAgrFmtnJ9z3O1LFG9

なお、Arduinoの場合は互換品が多く存在するため1000円程度の更に安価なボードも販売されています。

<br>

一方で、<font color="blue">Raspberry Piは、Arduinoに比べると高価</font>です。

最もスタンダードなタイプである「Raspberry Pi」の最新バージョンである「Raspberry Pi5 4GB」は11000円程度で購入可能です（8GBモデルの場合、14000円程度）

https://raspberry-pi.ksyic.com/main/index/pdp.id/1015,1016,1062,1063,1064,1056,1057,1058/pdp.open/1015/

## 比較のまとめ

上記のArduinoとRaspberry Piの違いを表にまとめると、以下のようになります。

| 項目 | Arduino | Raspberry Pi |
| --- | --- | --- |
| OSの有無 | なし | あり |
| リアルタイム性 | <font color="red">高</font> | <font color="blue">低</font> |
| 処理性能 | <font color="blue">低</font> | <font color="red">高</font> |
| 消費電力 | <font color="red">少</font> | <font color="blue">多</font> |
| 価格 | <font color="red">安</font> | <font color="blue">高</font> |

# ArduinoとRaspberry Piの組み合わせ

ArduinoとRaspberry Piには、それぞれメリット・デメリットがありますが、**それぞれのメリットを組み合わせることで、より高度な制御が可能になります**。

例えば、移動ロボットを作る場合、

- Raspberry Piで画像処理（高い処理性能が必要な制御）
- 画像処理の結果をもとに、Arduinoでモーターを制御（リアルタイム性が必要な制御）

といった使用方法が挙げられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/4b13115c-e162-839f-28b2-31bc7d33dfcc.png)


# どっちを選べばいいのか（結論：Raspberry Pi）

ここまでで、ArduinoとRaspberry Piの違いについて解説してきましたが、**個人的には初心者で費用に余裕のある方は、Raspberry Piをおすすめします**。

**Raspberry Piは**汎用的なOSであるLinuxが動作するため、**幅広い用途に使用できます**。

個人的には、初心者の方には色々な選択肢があった方がよいかなと思うので、Raspberry Piをおすすめします。
(Raspberry Piは電子工作「も」できると言った方が分かりやすいかも知れません)。

::: note
もちろん、あまりできることが多すぎると逆に戸惑うという人もいると思うので、その場合は電子工作に特化したArduinoの方がいいという考え方もあると思います。
:::

<br>

一方で、**Arduinoはリアルタイム性が高く、消費電力が少ない**といった独自のメリットもあるので、Raspberry Piを使ってみて、興味が出てきたらArduinoも使ってみるというのもありだと思います
（本格的に電子工作をするなら、Arduinoのようなマイコンボードは必ず通ることになると思うので）。

# さいごに

ArduinoとRaspberry Piの違いについて解説してきました。

今回の比較内容をもとに、自分に合ったボードを選んで、電子工作を楽しんでみてください！