電動モーターカープロジェクトに関連する、.NET Gadgeteerに関するポストです。

電動モーターカーというぐらいなので、.NET Gadgeteerでモーターを駆動します。ペリフェラルボードは、”Motor Driver L298 Module”を使います。

http://www.ghielectronics.com/catalog/product/315

このボードは、モーターを二つ駆動が可能です。電動モーターカーは、左右独立にタイヤを回して、直進、左前方向進、右前方向進、後退、右後方後退、左後方後退をするので、目的にぴったりです。
緑色のコネクタが3つついていて、2つは各モーターのリード線をつなぎ、残るコネクタにモーターに電力を供給する、例えば電池ボックスからのリード線をつなぎます。(写真を後で加える予定)

後は、Visual Studioで.NET Gadgeteer用プロジェクトを作成し、Program.gadgeteerの画面で、ツールボックスからL298 Moduleをドラッグ&ドロップして、”Connect all modules"しちゃいます。

 

これで、このボードは、FEZ Spiderの11番コネクタにつなげばよいことがわかるので、実際につなぎます。

これで、実世界での準備はOK。(※写真ではまだ、モータに電力を供給するリード線をつないでいません。実際に動かすには、この配線が必要)

Visual Studio上では、L298用のコードが生成されていて、このボードにアクセスする為のメンバー変数が motorControllerL298という名前で用意されているので、このメンバー変数のプロパティへの値代入やメソッドコールを行います。

実はまだいろいろと検証中(時間が無くてなかなか進まないのですがw)なので、細かな制御方法はまたの機会に譲りますが、基本的には、

    motorControllerL298.MoveMotr(MotoroContorollerL298.Motor.Motor1, motorSpeed);

というように、MoveMotor()メソッドをコールすれば、モーターが実際に動きます。第一引数は、ボードに用意されている2つのモーターのどちらに対する指示かを示すものです。Motor1、Motor2という列挙子が用意されているので、それを使います。二番目の引数は、int型の変数でモータの回転数を指定します。モータはギヤボックスを介してタイヤを回すようになっているので、最終的にどんな値にすればよいかは、実際に動かしてみて調整が必要です。(これも後程)

モーターが動かせるということは、自動モーターカーだけでなく、ロボットや、OA機器、FA機器などモーターを動かすもので使えるということですね。また、このボードはプログラマブルにモーターだけでなく、リレーやソレノイドなども、40V、2Aまでなら動かせるので、いろいろな場面で使えますな。皆さんもいろいろと活用を考えてみてください。IT系というと、大体はディスプレイ(仮想空間だね)で表示したり、せいぜいがおと出したりぐらいだったので、モーターとか動かせると世界が広がるのではないですか?

それに、.NET GadgeteerはWi-Fiでネットにもつなげられるので、Windows PCやWindows Azure、Windows Phone 7などとの連携も簡単です。

…ちょっと今時間が無いので今日はこれまで。後のポストをお楽しみに。