ArduinoとRaspberry Pi どちらを選ぶ?
はじめに
現在あなたが購入することができる手軽なコンピューターはたくさんあります。
その中で一番有名なのは
- Arduino
- Raspberry Pi
でしょう。
これらは表面上では同じように見えるでしょう。
ではこれら代表的なボードの選び方について紹介していきたいと思います。
Arduino
一区切りにArduinoといっても様々な種類があります。
今回の紹介では代表としてArduino Unoを紹介します。
Arduino Uno はATmega328 を搭載しています。
ATmega328には次のような機能があります。
- RAM:2kbyte
- Flash:32Kbyte
- タイマー
- シリアル通信
- i2c
- spi
また ATmega328 の周囲には、電源レギュレータや、USBシリアル変換、IOポートなどがあります。
これらは ATmega328を利用する上で必要な部品でとてもシンプルな設計です。
Arduinoのソフトウェアはとても単純です。
プログラムされたただ一つのコードが実行されます。
プログラム言語で書かれたコードは機械語にコンパイルされます。
機械語にされたプログラムが Arduinoで動作します。
Arduinoには、インタプリタ、オペレーションシステム、ファームウエアがありません。
Raspberry Pi
Raspberry Pi はシングルボードコンピューター(SBC)と呼ばれるものです。
一見すると Raspberry PiはArduinoのように見えます。
しかし実際にはそうではありません。
Raspberrypiはあなた持っているようなコンピューターとArduinoより多くの共通点があります。
Raspberrypi ではハードウエアを制御するコードを書く代わりに、オペレーション内で動作するプログラムを書きます。
pi@raspberrypi:~$ vim hello.py
pi@raspberrypi:~$ cat hello.py
print("hello")
pi@raspberrypi:~$ python3 hello.py
hello
pi@raspberrypi:~$ uname
Linux
そしてそのオペレーションシステムは大抵はLinuxです。
Arduinoはマイクロコントローラ、
Raspberry Pi はマイクロプロセッサです。
これらの違いは何でしょうか。
どちらもCPUがあり、タイマー、メモリ、I/Oがあります。
マイクロプロセッサはそれ単体で周辺機器を制御することができる強いI/Oを持つ傾向があり、
マイクロプロセッサでは周辺機器を制御するために、トランジスタで増幅しなければいけない弱いI/Oを持つ傾向があります。
またマイクロプロセッサの方が計算能力が高い傾向にあります。
ではお互いの仕様を見てみましょう。
Arduino | Raspberry Pi3 | |
プロセッサ | ATmega328 | BCM2837 |
周波数 | 16MHz | 1200MHz |
レジスタサイズ | 8bit | 64bit |
RAM | 2k | 1024MB |
GPIO | 20 | 40 |
I/Oピン最大電流 | 40mA | 15mA? |
消費電力 | 約100mW | 約5000mW |
オペレーションシステム | なし | linux ・その他 |
これを見ると、明らかに Raspberry Piのほうが優れていると言えます。
しかし、実際に選択する上で考えるべき点は、仕様だけではありません。
ArduinoとRaspberry Pi どちらを選ぶ?
ではどちらを選べばよいのか?これに答えるのは簡単ではありません。
しかし、私のやりたいことのためにどちらを選べばよいか
と考えると簡単になるでしょう。
LCD、モーター、センサーといったものを主に利用するのであれば、Arduinoが適しているでしょう。
カメラの画像や動画、数学、ディスプレイ制御はRaspberry Piが適しているでしょう。
どちらのボードも完璧ではありません。また、すべての用途で適切であるわけでもありません。
あなたが物理的な制御を目的としているなら、 Arduino
沢山のデータを処理するのであれば Raspberry Piが適していると言えます。
参考動画
ディスカッション
コメント一覧
まだ、コメントがありません