Arduinoなどはフィジカルコンピューティングと呼ばれている。
いわゆる組み込み(MCUによる制御をする)プログラミングだ。
Arduinoの場合には、基本的に
の二つの関数がある。
void setup()
{
}
void loop()
{}
setupは起動時のみ実行され、loopはエンドレスで実行され続ける。
もちろん自分で関数を書いて、setupやloop、その他割り込みで呼び出すこともできる。
中身はC言語のような言語で記述し、ポインタも使用できる。
特殊な部分は
- デジタル・アナログの入出力関数がある
- ピンによる割り込みを検出して、ある処理を実行させることができる(自分でwatch dog timerを動かしておく必要がない)
といったところだろうか。
これらを利用した便利なライブラリ(デバイスドライバ)もすでに用意されている。
上記のI2Cリーダー・ライターはWireライブラリを使用している。
何かちょっと作ろうと思った時には、敷居が低いプラットフォームだ。
こういったMCUの便利なところは、分岐処理が容易なことだ。
ファイルやwebレスポンスなどの処理は、膨大な分岐処理が発生するので、MCUを使ったほうが実装が容易だ。
Arduinoには、ネットワークシールドやSDカードシールドなどもあるので、いろいろと遊べる。
一方で、こういったMCUは性能が限られているので、高速で論理処理をすることには向いていない。
そういう場合はFPGAを使用した方が有利だ。
最近のFPGAはMCUコアを合成して作りこむことができるので、そういったものであれば両方を同時に実装できる。
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- 購入: 3人 クリック: 3回
- この商品を含むブログを見る