ページへ戻る

− Links

 印刷 

FDIII-HC Starter Kit Guide​/Chapter4.3 のバックアップソース(No.3) :: Besttechnology

knowledge:FDIII-HC Starter Kit Guide/Chapter4.3 のバックアップソース(No.3)

« Prev[4]  Next »[5]
*プログラミング [#c7bb54c8]
#ref(SoundMeter_1.png)
「AX-S1で最大音量を測定し、それに対応した角度へAX-12+のホーンを動かす」というプログラムを作成します。

**処理の流れを図にする。 [#fac5abab]
先ず処理の流れを図にします。
#ref(flow.png)
AX-S1の最大音量を取得し、それに対応した角度へAX-12+のホーンを動かすを繰り返すだけとなります。

**準備 [#m074851f]
GCC Developer Liteを起動して、Chapter3で作成したプログラムを開いて下さい。

メニューの「ファイル」→「開く」→ ファイル(AutomaticBar.c)を選択し、「開く」をクリックします。
----
ファイルを別の名前で保存します。

メニューの「ファイル」→「名前を付けて保存」→ファイル名に「SoundMeter.c」と入力して「保存」します。

**バーの開閉から音量最大値の取得へ変更 [#tfcaa108]
バーの開閉部分を削除し、正面赤外線センサの値の取得を音量最大値の取得へ変更します。
#ref(gcc_edit_1.png,100%)
DX_ReadByteDataの第2引数を27から36へ変更します。
[[AX-S1コントロールテーブル>FDIIICHAPTER1.1#ye0e23e2]]にある通り、音量最大保持値はアドレス36です。
音量最大保持値はアドレス35の音量測定値の最大値を保持し続けます。

**アクチュエータのホーンを動かす [#r33f5d9f]
#ref(gcc_edit_2.png)
アクチュエータのホーンの角度をメーターに見立て、音量最大保持値に対応した角度にホーンを動かします。

アクチュエータのホーンを動かすには、fd_DXSetPosition関数を使います。詳しくは[[Chapter3.3のブザーを鳴らすからバーを開けるに変更>FDIIICHAPTER3.3#o54aa8b3]]を参照して下さい。

音量最大保持値に対応した角度にアクチュエータのホーンを動かしますので、ゴールポジション=音量最大保持値です。~
音量最大保持値は
 fd_DXReadByteData (100, 36, &ReadData);
で変数ReadDataに代入されます。従ってゴールポジションにはReadDataと書きます。

ReadDataの前に&は付けません。変数の前に&を付けるとその変数のアドレスになります。
ゴールポジションに書き込むのは、ReadDataのアドレスではなく、ReadDataに入っている値です。

« Prev[4]  Next »[5]