FEZ Cerbuino の Arduino 互換ピンで入出力

.NET Gadgeteer でもあり Arduino ピン互換でもある FEZ Cerbuino ですが、他のメインボードと比べてさらに情報が少ないです。

「難しいボードではないので情報もいらないだろう」という話もあるかもしれませんが、そもそも Arduino 互換ピンはどうやって指定するんだろう?というあたりからよくわからない。
※やってみるとわかりますが、Cpu.Pin 列挙子を使うと起動時に例外吐きますし orz


ピンの入出力をする手順は以下の通りです。

まずは GHI.OSHW.Hardware の参照設定を追加します。

image

 

これで GHI.OSHW.Hardware.FEZCerbuino.Pin.Digital 列挙子が使えるようになりますから、あとは (Gadgeteer っぽくない) .NET Micro Framework の流儀で OutputPort, InputPort を定義すれば OK。

void ProgramStarted()
{
    var timer = new GT.Timer(100);
    timer.Tick += new GT.Timer.TickEventHandler(timer_Tick);
    timer.Start();
}

OutputPort led = new OutputPort(GHI.OSHW.Hardware.FEZCerbuino.Pin.Digital.D8, false);
InputPort sw = new InputPort(GHI.OSHW.Hardware.FEZCerbuino.Pin.Digital.D0, true, Port.ResistorMode.Disabled);

void timer_Tick(GT.Timer timer)
{
    led.Write(!sw.Read());
}

 

上のコードだと 8番ピンに LED を、0番ピンにスイッチを接続します。念のため、こんな感じで。

WP_000580

FEZ Cerberus の最新ファームに起因する のかどうか不明ですが、12番ピン、13番ピンは正しく動作しないようです。

どうしても Arduino 互換のモジュールと Gadgeteer のモジュールとを共存させたいとか、このボードしか手元にないとか以外では、素直に Spider / Hydra なり Cerberus なりを使うほうがいいと思うので、深追いはしませんが、一応 Tips として紹介しました。


技術ひろば.net の12月の勉強会は 12月1日(土) の開催、今回は .NET Micro Framework 縛りの会 です。

参加申し込みは こちらのページ からお願いします。

MS 太田さんの .NET Gadgeteer セッションがメインですが、瀬尾も .NET Micro Framework の基本を紹介します。基本として LED チカチカをやろうと思っていますが、Cerbuino ではなく Netduino を使う予定。それから、.NET Gadgeteer だとどんな風に開発しやすくなるのかを紹介します。

組み込み未経験でも大丈夫な内容です。お申し込みをお待ちしています。

広告
カテゴリー: .NET Micro Framework タグ: , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中