*

C言語でEV3開発(9)-opOUTPUT_SPEEDコマンド

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

どもです。
今回のエントリーでは、前回に引き続きEV3のモーターを動かしていきます。
ただし、単純にモーターを動かすのではなく、EV3のファームウェアで用意されている「コマンド」を使用して動かしてみます。

(1). コマンドとは?
「とは?」と書いたものの、説明するまでもなく、そのまま「命令」です。
具体的には、前回のエントリで使用した「opPROGRAM_START」や「opOUTPUT_START」が、それにあたります。
EV3でモーターを動かす際には、この「コマンド」を使用します。
これまた前回のエントリーで紹介した「opOUTPUT_POWER」が、具体的な「モーターを動かすためのコマンド」になります。
EV3では、これらのコマンドが様々用意されております。

(2). opOUTPUT_SPEEDコマンド
今回紹介するコマンドです。
前回のエントリーで使用していたコマンドです。
コマンドのフォーマットは、以下の通りです。

バイトインデックス内容
1コマンドコードopOUTPUT_SPEED(0xA5)
2チャンネル-
3スピード-100~100(%)

なので、実際にコマンドデータを実行する場合には、以下のようにデータを設定します。

あとは、これをwrite関数に書き込めばモーターが動作します。
(ただし、あらかじめopPROGRAM_START/opOUTPUT_STARTコマンドを実行しておく必要があります。)
なお、powerにマイナスの値を設定した場合には、回転方向が逆になります。

(3). 動かしてみた
というわけで、opOUTPUT_SPEEDコマンドを使用してモーターを動作させるためのサンプルプログラムを載せます。

上記のコードですが、ほとんどの部分は前回のエントリーから変更はありません。
変更箇所は、コマンドの実行手順です。

L.106~L.107です。
前回は、実行順序は逆でした。つまり、「opOUTPUT_START」→「opOUTPUT_SPEED」の順番で実行していました。
しかし、今回は「opOUTPUT_SPEED」→「opOUTPUT_START」の順番で実行しています。
現在、原因は不明ですが、この順番で実行しないとモーターが動作しません。

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

さて。
今回は、モーターを動かす一番簡単な(と、私が勝手に思っている)コマンドについて紹介しました。
次回は、同じようにモーターを動かすためのコマンドを引き続き紹介していきます。
では。

関連記事

no image

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

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

記事を読む

toppers

C言語でEV3開発(20)-超音波センサと安全状態

どもです。 前回は、BluetoothでPCとEv3を接続してコマンドの送受信について書きました。

記事を読む

no image

C言語でEV3開発(17)-コマンドによるTOPPERS/HRP2 EV3RT アプリケーションの制御(コントロール)

どもです。 今回は、TOPPERS/HRP2 EV3RT で作成したアプリをPC上から操作するため

記事を読む

toppers

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

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

記事を読む

no image

C言語でEV3開発(8)-opOUTPUT_POWERコマンド

どもです。 今回のエントリーでは、EV3でモーターを動かします。 なお、今回のエントリーでも

記事を読む

toppers

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

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

記事を読む

no image

Objective-CからC++コードを呼び出す

どもどもです。 今回は、突然ながらMacに関係する投稿です。 ソフト関係のことを勉強していて

記事を読む

eclipse_4.3_kepler

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

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

記事を読む

toppers

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

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

記事を読む

eclipse-juno-logo

C言語でEV3開発(2)

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

記事を読む

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="">

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

どもです。 前回の投稿では、Q-LearningをEV3本体に実装し

toppers
C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

どもです。 今回の内容は、「失敗しました」という内容です。 最

toppers
C言語でEV3開発(24)-APIの実行時間を測定してみた。

どもです。 今回、以前から気になっていた、開発環境/プラットフォーム

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

どもです。 今回は、EV3に付属しているモーター(Lモーター/Mモー

python
Ev3開発サポートツール(4)-Pythonによるグラフ表示

どもです。 前回のエントリーで、VisualStudioCommun

→もっと見る

PAGE TOP ↑