[Arduino] Arduino Nano(互換品)とRsapberry Piの違いと使い方

最後の投稿から時間が空いてはいるけど、なんにもしていなかったわけではないです(ホントです)。

今までラズパイばかりやってきたけど、Rsapberry Piを調べるとマイコン界隈で対極にある「Arduino」の話題も多い。

ラズパイは正規品・代理店のみの販売(転売らしいのはあるが高い)、しかも品薄ということもあり、特にZeroは入手がなかなかめんどくさかったりする。ちなみに2019年の年末から今(2020年1月14日)まで正規代理店のスイッチサイエンスさんやKSYさんにおけるZeroの在庫は0となっている。また、今まではラズパイZeroにセンサーの読み取りをせていたけど、センシングするぐらいならRaspbianのような高機能なOSが必要ないんじゃないかなと思っていた。

それに対してArduinoは互換品も多く(良し悪しは別として)断然安い。このようにPiZeroの代わりとなるのであれば、在庫確保や値段の点で優位なのかなと思う。

ラズパイとArduinoの比較サイトは色々ある。

当然のことだけど、RaspbianというOSを走らせるラズパイは、それなりのストレージとメモリ、CPUパワーが必要なのでArduinoと比べてハイスペックであり、Arduinoの非力が際立っている。

しかし、ArduinoはOSがない分、起動も早いし、動きも軽快。OS上でファイルを実行するわけじゃないからフリーズがほとんどないし、フリーズする原因は、大体にしてプログラムのせいで無限ループしたり、電力不足だったりするので使う側の原因が多い。複雑な処理をしなければ、とても扱いやすいし、信頼性はあると思う。

どちらを使うのかは自由だとおもうけど、マルチタスク・スレッド処理、Webスクレイピングなど割とガチめのネット処理、画像処理、ディープラーニングなどが必要であればラズパイが適しているだろうし、単機能のセンシング及び、センシングしたデータのGET・POST送信、LED(NeoPixelなど)の点灯制御ぐらいがArduinoにはちょうどいいかもしれない。

また、ArduinoにはWifi機能がない。ネットワークに接続したいという場合には、ESP8266というWifiが乗ったマイコンがある(ESP-01など)ので、これを使うことでネットに接続することができる。ラズパイZeroでわざわざセンシングする必要もないだろう。

但し、Arduinoもそうだけど、マイコンにはデータを保存する機能はないのでSDカードアダプタをつないで記録とか、ネットワーク上にphp経由で保存する(Mysqlなど)必要がある。ZeroはSDカードがあるので、その心配はないけど、結局データを活用するとなるとネットワーク上に保存する必要があると思う。

センサーの値を読み取る程度であればArduinoでいいんではないかと思う。それで、最近はArduino仕組みやスケッチ(C++系)の勉強をしていたw。Rasp PiとArduinoは基本的に別物と考えたほうが良いと思う。色々、わかってきたので、今度からはArduino系マイコンも活用していこうと思う。