*

C言語でEV3開発(14)-opOUTPUT_TIME_SPEEDコマンド

公開日: : マインドストーム/EV3, 開発

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

(1). opOUTPUT_TIME_SPEEDコマンド
今回紹介するコマンドです。
コマンドのフォーマットは、以下の通りです。

バイトインデックス内容
1コマンドコードopOUTPUT_TIME_SPEED(0xAF)
2チャンネル
3スピード-100~100(%)
4Time1(スピードに達するまでに回転する時間)0~4294967295(ミリ秒)
5Time2(スピードで動作する時間)0~4294967295(ミリ秒)
6Time3(スピードが0になるまでに要する時間)0~4294967295(ミリ秒)
7ブレーキ0 = ブレーキをかけない
1 = ブレーキをかける

このコマンドですが、前回紹介したコマンド同様、コマンドフォーマットは「opOUTPUT_TIME_POWER」コマンドに似ていることがわかります。
もちろん、コマンドに対する動作も同様です。
Time1~Time3に設定した「時間」ごとに、対応する動作をモーターにさせます。
すなわち、Time1で指定した時間をかけて、モーターの出力をSpeedで指定した値に遷移させます。
Time2で指定した時間の間、Speedで指定した出力でモーターを動作させます。
最後に、Time3で指定した時間をかけて、モーターの出力を0に戻していきます。

(2). サンプルコード
というわけで、お馴染みopOUTPUT_TIME_SPEEDコマンドを使用してモーターを動かすサンプルプログラムを表示します。

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

見てわかるように、モーターは最初ゆっくり動き始め、その後だんだんゆっくりになり、最終的に停止します。
コードにあわせて説明すると、モーターが動作し始めてからの最初の3秒(3000ミリ秒)間をかけて、モーターの出力を100%にします。
次の3秒(3000ミリ秒)間は、モーターを出力100%で動かします。
最後の3秒(3000ミリ秒)間で、モーターの出力を0%に遷移させています。

(4). コマンドの注意点
このコマンドを使用する際には、opOUTPUT_STEP_POWERのときと同様の注意点があります。
すなわち、回転方向はSpeedの値で決定し、この値に負数を指定した場合には、モーターは逆方向に回転します。
たとえば、「-100」を指定した場合には、「出力100%、回転方向は逆」として認識されてしまいます。

また、Speedに0を設定した場合です。
これは、理想的にはモーターが動作しないことです。
しかし、実際に動かしてみると、モーターは動作してしまいます。
原因は、不明です。

次に、TimeNに設定する値です。
Time1ですが、これは「0」に設定できます。
「0」を設定した場合、コマンド実行直後にSpeedに指定した出力で、モーターを回転します。
なお、Time2、およびTime3ですが、この値には「0」は設定可能です。

また、opOUTPUT_TIME_SPEEDコマンドですが、コマンド実行前にopOUTPUT_STARTコマンドの実行は必要ありません。

以上、今回は、opOUTPUT_TIME_SPEEDコマンドについて書きました。
では。

関連記事

toppers

C言語でEV3開発(28)-EV3の移動距離を計算できるようにしてみた

(テーマ) C言語でEV3開発(28)-EV3の移動距離を計算できるようにしてみた (下書き

記事を読む

no image

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

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

記事を読む

toppers

C言語でEV3開発(19)-コマンド通信処理でEchoBackしてみた

どもです。 前回は、Bluetoothの接続状態の変化に伴う、状態遷移について書きました。 今回

記事を読む

no image

C言語でEV3開発(13)-opOUTPUT_STEP_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである 「opOUTPUT_STEP_S

記事を読む

OpenCvLogo

OpenCvによる画像サイズ変更

どもです。 最近、カメラの動画をOpenCvで加工する、ということに挑戦し始めました。 しか

記事を読む

toppers

C言語でEV3開発(16)-TOPPERS/HRP2 EV3 で Bluetooth割込み

どもです。 今回は、EV3 の環境をTOPPERS/HRP2 EV3RT で作成したアプリをPC上

記事を読む

MindStormControl_SprachScreen

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

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

記事を読む

MindStormControl_SprachScreen

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

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

記事を読む

eclipse-juno-logo

C言語でEV3開発(2)

どもです。 今回のエントリーの内容は、前回に引き続き「EV3の開発環境の構築」の追記です。

記事を読む

toppers

C言語でEV3開発(23)-モーターの性能確認

どもです。 今回は、EV3に付属しているモーター(Lモーター/Mモーター)の性能について調べてみた

記事を読む

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 ↑