2: 2011-07-05 (火) 12:09:51 yoshida[6] [7] | 3: 2011-07-05 (火) 14:01:53 yoshida[6] [8] | ||
---|---|---|---|
Line 7: | Line 7: | ||
#ref(flow.png) | #ref(flow.png) | ||
AX-S1の最大音量を取得し、それに対応した角度へAX-12+のホーンを動かすを繰り返すだけとなります。 | 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に入っている値です。 |
(This host) = http://www.besttechnology.co.jp