停滞気味!?

倒立振子ロボットが上手く立たず。原因はモータ制御であるのだが、細かい制御をArduinoで考えるのが邪魔くさくなって(おい!おい!)放置してたら停滞気味になってきた。

Mooさんの覚え書きには、mbedおよびMDK-ARM(uVision)の情報が充実していて読みすすめているうち、当方もmbedの間髪環境について書きたくなってきた。

趣味ならフリー版で十分

製品版は高価でとても趣味人が扱える製品ではないのですが、フリー版は32K Flashまで対応と制限があるが、コンパイラ・デバッガなど十二分に使える。

516K FlashのLPC1768 mbedではフリー版では手が余るが、32K FlashのLPC1114FN28 mbedならフリー版で十分なのだ。

Mooさんは、製品版のMDK-ARM(uVision)を中心に詳しく書かれているが、当方は開発環境はMDK-ARM(uVision)のフリー版かつLPC1114FN28 mbedについて限定して書いてみる。

現時点のLPC1114FN28 mbedの評価

ターゲットボード

俺様LPC1114FN28 mbedボードを作ったので開発環境が断然よくなった。

俺様LPC1114FN28 mbed Board

俺様LPC1114FN28 mbed Board

ちなみにこれは、スイッチサイエンスで最近発売されたスイッチサイエンスのmbed LPC1114FN28と同等品である。。

スイッチサイエンスのmbed LPC1114FN28

スイッチサイエンスのmbed LPC1114FN28

クラウド開発環境

クラウド環境にて開発出来るのがmbedの特徴である。クラウドに集まるユーザ達によって周辺機器のライブラリィが整備されてて、当方のような趣味の人間でも入手できるセンサ類などのライブラリィは既にクラウド上にあることが多く。クラウド環境に慣れていれば、お手軽に開発できる。

開発言語はC++である。プログラムを囓ったことがある人間なら、一度は手にしたことがある言語だ。
ローカライズされたArduinoのより使いやすいとも言える。

ローカル開発環境

クラウド開発環境が便利ではあるが欠点もある。編集機能が貧弱で使いにくいのだ。しかもデバッグ環境もないというのは、趣味の世界といえども、ちと辛い。この欠点はArduinoでも一緒だ。

Arduinoなら外部エディタを利用するとか逃げ道があるが、mbedにも逃げ道があって、クラウドの開発環境でMDK-ARM(uVision4)などの開発環境をエクスポートする機能があるのだ。

エクスポートされたファイルは修正なしでMDK-ARM(uVision4)で読み込ませて利用できるのだ。さらにArduinoと違いデバッガが使えるので有利である。

クラウド<=>ローカルの開発環境

クラウド開発環境でライブラリイなどを集めソフトの雛形を作って、ローカルにエクスポートして開発し、仕上がったソフトをクラウド上にアップロードして公開するという、開発サイクルを作ることができるのだ。

LPC1114FN28 mbedで何が作れるか…

比較的プログラムサイズが大きくなるSDカードを使ったシステムを例に取ると、LPC1114FN28 mbedでINA226 電流・電圧・電力センサにSDカードのシステムをざっくりと作ってみたところ32K以内に収まった。Arduinoで作っても同じぐらいのサイズに収まると思われ、LPC1114FN28 mbedは8ピットのArduinoと同等の性能ではないだろうか。

8ビットのArduinoで作ってきたものだったら、LPC1114FN28 mbedでも作れるということだ。