*

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

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

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

なお、今回のエントリーでもUbuntu/Eclipseでのクロス環境を前提として、本文を作成します。

(1). ポートのオープン/クローズ
InteligentBoxのポートのオープンです。
ここで指定するポート名には、”/dev/lms_pwm”を指定します。
実際のコードは、以下。

(2). プログラムのスタート
EV3上でモーターを動作させるためには、プログラム内で以下の「コマンド」を実行する必要があります。
・opPROGRAM_START
・opOUTPUT_START

そして、これらのコマンドを実行するためには、以下のコードを実行します。

opPROGRAM_STARTコマンド

opOUTPUT_STARTコマンド

(3). モーターを動かす
モーターを動かします。
そのためには、以下のコマンドを実行します。
・opOUTPUT_POWER

このコマンドでは、前述の2つのコマンドの様にコマンドコードを実行するだけではありません。
動作させるためは、動作するスピード/パワーを指定する必要があります。
スピード/パワーは、-100~100で指定します。単位は、”%”です。
そして、実際のコードは以下の通りです。

(4). モーターを止める
モーターを止めます。
これには、2通りの方法があります。
1.opOUTPUT_POWERコマンドで、powerに0を指定する。
2.opOUTPUT_STOPコマンドを実行する。

それぞれのコードは、以下の通りです。
1.opOUTPUT_POWERコマンドで、powerに0を指定する場合のコード:

2.opOUTPUT_STOPコマンドを実行する。

もちろんですが、これらの処理ではそれぞれ違いがあります。
opOUTPUT_POWERコマンドを使用した場合には、再度モーターを雨後層とした場合には、再度opOUTPUT_POWERコマンドを実行すればモーターの動作を開始できます。
しかし、opOUTPUT_STOPコマンドを実行した場合には、再度opOUTPUT_STARTコマンドを実行する必要があります。
また、opOUTPUT_STOPコマンドでモーターの動作を止めた場合、opOUTPUT_POWERでパワーを0にせずに再度opOUTPUT_STARTを実行すると、すぐにモーターの動作が開始されます。

このような違いがあるので、モーターを止める手順については注意が必要です。

(5). プログラムのストップ
モーターの動きを停止します。
このためには、以下の順番でコマンドを実行する必要があります。
・opOUTPUT_STOP
・opPROGRAM_STOP

opOUTPUT_STOPについては、既出なので割愛します。

opPROGRAM_STOPは、以下のコードで実行します。

(6). ポートのクローズ
これは、特筆することないです。

以上、モーターを動作させる際の、基本的な手順を示しました。
次回は、モーターを動作させる他のコマンドについてのエントリーを作成します。

関連記事

raspberry-pi

RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリーンを買いました。 今回のエ

記事を読む

think_about_utest

単体テストの効率化を考える(1)-はじめに

どもです。 突然ですが、今回から数回にわたって「単体テストの効率化」についてのエントリになりま

記事を読む

think_about_utest

単体テストの効率化を考える(3)-スタブの引数

どもです。 「単体テストの効率化について考える」の3回目です。 1回目、2回目はコチラ:

記事を読む

raspberry-pi

RaspberryPi起動時にpigpiodがスタートしないようにする

どもです。 これまでpigpioを使用してRaspberryPiからLEDをチカらせる方法など、い

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(6):pigpioを使用したチャタリング対策

どもです。 前回のエントリーで、pigpioを使用したボタンを使用したLEDの点灯/消灯について書

記事を読む

toppers

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

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

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(12)-gpioの状態をGUIに反映する

どもです。 今回は、gpioピンの状態(HIGH/LOW)の変化を画面上に即座に反映する方法につい

記事を読む

no image

自宅で電子工作(1):ブレッドボードでの配線を省略する

どもです。 突然ですが、電子工作を始めてみました。 1.背景 これまで、Raspber

記事を読む

toppers

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

どもです。 今回の内容は、「失敗しました」という内容です。 最近、流行になっている深層学習/

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(11)-SPI通信をしてみた(その3)

どもです。 えー。 「Qtで…」とか書いておきながら、今回もやっぱりQtは出てきません。 そろ

記事を読む

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

c_sharp_eye_catch
セルに「取り消し線」が設定されているかを判定してみた

どもです。 前回、前々回と、エクセルのセル内の文字列から、「取り

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」の削除を簡単にしてみた

どもです。 前回、C#/OpenXmlを用いて、エクセルのセル内

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」を削除してみた

どもです。 今回は、C#/OpenXmlの組み合わせで、エクセル

c_sharp_eye_catch
C#でバッファの内容を表示する処理を実装してみた-
データ型に従って動的に書式を設定する

どもです。 最近、C#でバッファ/配列の値をコンソールに表示した

arduino_relay_switch_003_self_preservation_circuit_eye_catch
Arduinoでリレースイッチ(3)-自己保存回路

どもです。 前回の記事で、リレースイッチ「AE-G5V-DRV」

→もっと見る

PAGE TOP ↑