*

C言語でEV3開発(11)-opOUTPUT_STEP_POWERコマンド

公開日: : 最終更新日:2015/04/30 マインドストーム/EV3, 開発

どもです。
今回のエントリーでは、再びモーターを動かすためのコマンドについて書きます。
コマンドは、「opOUTPUT_STEP_POWER」です。

(1). opOUTPUT_STEP_POWERコマンド
今回紹介するコマンドです。
コマンドのフォーマットは、以下の通りです。
今回紹介するコマンドは、これまで紹介してきたコマンドに対して、少し引数の数が多いです。
というのは、コマンド名が表す通り、「段階」ごとにモーターを動かすコマンドです。

バイトインデックス内容
1コマンドコードopOUTPUT_STEP_POWER(0xAC)
2チャンネル
3パワー(Power)-100~100(%)
4Step1(Powerに達するまでの回転角度)0~4294967295(°)
5Step2(Powerで回転させる角度)0~4294967295(°)
6Step3(Powerが0になるまでに回転させる角度)0~4294967295(°)
7ブレーキ0 = ブレーキをかけない
1 = ブレーキをかける

上記の表に示したとおり、Step1~Step3に設定したそれぞれの「角度」だけモーターが回転します。
すなわち、コマンドの動作が完了した際には、Step1~Step3に設定した値の分だけモーターが回転しています。
なお、単位は「°」になります。
「rad(ラジアン)」ではないので、注意が必要です。

(2). サンプルコード
というわけで、opOUTPUT_STEP_POWERコマンドを使用してモーターを動かします。
サンプルプログラムは、以下の通りです。

(3). 動画
というわけで、実際に動かしてみた場合の動画です。

見てわかるように、モーターは最初ゆっくり動き始め、その後だんだんゆっくりになり、最終的に停止します。

(4). コマンドの注意点
このコマンドを使用する際には、注意点があります。
まず、回転方向の制御です。
これは、Powerで決定します。
回転する角度に負の値を設定した場合、その値はCPU上で正の値と判定されます。
たとえば、「-100」を指定した場合には、「100」として認識されてしまいます。

また、Powerに0を設定した場合です。
これは、理想的にはモーターが動作しないことです。
しかし、実際に動かしてみると、モーターは動作してしまいます。
原因は、不明です。(たぶん、ドライバ周りが問題なんでしょう…)

次に、StepNに設定する値です。
ます、Step1には、必ず値を設定しなければなりません。
Step1に値を設定しなかった場合、モーターはきちんと動作しないようです。(というか、しませんでした。)
Step2、およびStep3ですが、Step1が設定してあれば、特に設定する必要はないようです。(実際に、値を設定しなくても、モーターは動作しました。)

以上、今回は、opOUTPUT_STEP_POWERコマンドについて書きました。
次回も、引き続きモーターを動作させるためのコマンドを紹介していきます。
では。

…今回の動画は、さすがに短すぎる…。シュール!?

関連記事

Splash

EV3開発サポートツール(3)-Ev3Controller

どもです。 今回は、以前ちらりと紹介した、Ev3のモーターの出力を調整するアプリケーションについて

記事を読む

no image

C言語でEV3開発(10)-opOUTPUT_CLEAR_COUNTコマンド

どもです。 前回のエントリーのラストで、「モーターを動かすコマンド」と書きましたが、今回紹介するコ

記事を読む

no image

C言語でEV3開発(21)-モーター出力の制御

どもです。 前回は、超音波センサから前方障害物との距離を取得し、それを元に安全状態を判断する、とい

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(1)-C#のユーザーコントロール開発

どもです。 突然ですが、今回はC#に関するエントリになります。 具体的には、C#/WPFで、独自

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

OpenCvLogo

RaspberryPiで物体検出(1)-白線検出への挑戦(1):輪郭検出による白線検出

どもです。 今回は、OpenCvを用いて道路の白線検出について、です。 1.今回の環境 O

記事を読む

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

toppers

C言語でEV3開発(26)-EV3で機械学習(1)-QLearningをC#に委譲してみた

どもです。 前回の投稿では、Q-LearningをEV3本体に実装してみたら、メモリが足りなくて動

記事を読む

eclipse_4.3_kepler

elicpse/CDTでのgdbでのソースを追従したデバッグができない問題

どもです。 今回のエントリーは、Eclipse上でgdbを利用したデバッグ中に発生する問題について

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(2)-C#のユーザーコントロール開発(2つ目)

どもです。 前回に引き続き、今回もC#/WPFでの独自UI(ユーザーコントロール)の作成についての

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

raspberry-pi
RaspberryPiで物体検出(2)-白線検出への挑戦(2):輪郭検出による白線検出(実機編)

どもです。 今回は、前回に引き続きOpenCvを用いて道路の白線検出

OpenCvLogo
RaspberryPiで物体検出(1)-白線検出への挑戦(1):輪郭検出による白線検出

どもです。 今回は、OpenCvを用いて道路の白線検出について、です

OpenCvLogo
OpenCvによる画像サイズ変更

どもです。 最近、カメラの動画をOpenCvで加工する、というこ

eclipse_oxygen
苦肉の策でLinux/EclipseでRaspberryPiのクロス環境を構築してみた

どもです。 前回のエントリでは、仮想環境(VirtaulBox)を用

eclipse_oxygen
Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryP

→もっと見る

PAGE TOP ↑