初心者が電子工作をやろうと思ったときに、選択肢に入る代表が「Arduino」と「ラズベリーパイ」だと思います。
よく書籍やネットで「Arduinoを使って電子工作!」とか「ラズベリーパイを使ってIoT」とかいうのを目にすることが多いと思います。
実はAruduinoとラズベリーパイは違うといえばかなり違う別物です。どちらもハードウエアとソフトウエア両面の学習ができる便利なものですが、今回はAruduinoのラズベリーパイは何が違うのか?という点を中心に紹介していきます。
Arduinoはマイコンでラズパイは小型のPC
登場する場面や見た目からして同じような感じですが、結構違うのがAruduinoとラズベリーパイです。
決定的に違う点は「OSが入っていないところ」です。
ラズベリーパイは普段使っているパソコンと同じくOSとして「Linux」が入っている小型のパーソナルコンピューターです。WindowsやMacとは使い勝手は異なりますが、クロームでインターネットを閲覧したり、カメラ画像を取り込んだり、ワープロで文章を作ったり、YouTubeを見たりすることが可能です。
一方でArduinoはOSが入っておらず、普段のようにインターネットを見たり、文章を書いたりすることはできないです。これは決定的な違いではないでしょうか?
Arduinoは一体何者?
Arduinoは入力されたプログラム通りに動作するマイコンボードです。Arduinoはマイコンを気軽に利用するための基盤なのです。
マイコンとは何か?の説明をする前に身近な例を考えてみましょう。
例えば、身の回りの家電を見てくださいスイッチがあって入力によっていろんな動作ができます。電子レンジでいえば、何分温めるとか、オーブンに切り替えるとか、自動温度調整とかです。そうした家電にはwindowsなんて入っていませんが、一つのボタンで様々な動作が行われます。これもマイコンがなすワザなのです。
マイコンはマイクロコントローラやマイクロコンピュータと呼ばれています。厳密な定義などは割愛しますが、このマイコンは「ボタン操作:通電のオンオフ」や「センサー入力」などを受け取って、あらかじめ決められたルール(プログラム)にのっとって動作します。たとえば、ボタン操作で入力ピン1に電流が流れた→出力ピン3のLEDに電流を流す。入力ピン2にアナログ電圧が入力→デジタルに変換→○○以上の場合は出力ピン4に電流を流して液晶画面に数字を出力する。
というように動作します。
マイコンを動かすのに必要な電子回路の構築、マイコンをプログラミングするとか、マイコンを動かすのに必要な配線を気軽にできるようにしてあるのが「Arduino」です。
Arduinoは炊飯器や冷蔵庫、テレビなどに近くて、ラズベリーパイはパソコンに近いです。
Arduinoとラズパイの近いところ
今までの説明ではラズベリーパイは逆にパソコンとは何が違うのか?とかArduinoとラズパイはなぜ同じところに出てくることが多いのか?という疑問が生まれるかもしれません。
ラズベリーパイはパソコンに近いですが、GPIOピンというものがついていて電圧を読み取ったり、電源を供給したり、プログラムに従って電気信号を出力する機能がついています。つまりマイコンのように電子機器を制御できます。実際にラズベリーパイで使えるセンサー類なども販売されています。
ArduinoはラズベリーパイのようにOSを搭載できるほどの高性能ではないですが、電子機器を制御するくらいは十分できます。したがって、Arduinoはよりハードウエアよりで電子工作には向いているといえます。価格も安いです。
Arduinoにあってラズパイにないもの
Arduinoにはアナログ入力がありますが、ラズパイにはデジタル入力しかないのが決定的な違いです。連続したアナログの電圧値をArduinoは読み取ることができますが、ラズパイはできません。そのため、アナログセンサーはラズベリーパイでは扱えません。A/Dコンバーターを使う必要があります。
Arduinoは性能は低く、複雑な処理はできませんが、その分消費電力が低いのが利点です。電子工作、ハードウエアの学習を中心にやりたい場合はArduinoが向いていると思います。回路作成に失敗してArduinoを壊しても安価なので痛手は少ないでしょう。
こめやん
逆にメディアサーバーやウェブサーバを作るとかウェブアプリ、スマホアプリと連携するというような場合はラズベリーパイを使用するほうが良いかもしれません。お互いに良い点があるのでArduinoとラズベリーパイを連携させることも多いです。
まとめ
どっちも安価なのでどちらも購入していろいろ試してみるのも手です。Linuxを動かしたいとか、サーバー、プログラミングなどを中心に学習したい場合はラズベリーパイが向いていると思います。逆に電子工作を中心に学習したい場合はArduinoのほうが簡単だと思います。プログラミング初心者でもテンプレに従えば簡単に動かせます。
おすすめはArduino→ラズベリーパイですね。電子工作の知識を中心にArduinoでつけて行き、ラズベリーパイに拡張していくのがスムーズかな?と思います。