ページへ戻る

− Links

 印刷 

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

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

« Prev[4]  Next »[5]
*動作確認 [#c91a904c]
サンプルプログラムを使って、コンパイルからプログラムの書き込みまでの一連の操作を実際に行ってみましょう。
**スぺーサの取り付け [#qf87c118]
|CENTER:BGCOLOR(red):||c
|  :idea:|FDIII-HCは基板上の電子パーツが剥き出しになっており、動作中に導電性の物が接触すると破損します。必ずスペーサを取り付けてから以後の作業を行って下さい。&br;スペーサを取り付ける際は機器に傷等を付けないように十分に注意して下さい。|
FDIII-HCとスペーサ一式を用意します。ネジは短い方を使用します。
#ref(spacer1.png,100%)
----
図のようにFDIII-HCの角の穴に表からネジ、裏からスペーサを取り付けます。
#ref(spacer2.png,100%)
----
ドライバーでネジを締めます。
#ref(spacer3.png,100%)
----
同様に3箇所スペーサを取り付けます。
#ref(spacer4.png,100%)

**機器の接続 [#xa842a1b]
|CENTER:BGCOLOR(red):||c
|  :idea:|ケーブルの抜き差しを行う際は必ず電源を切った状態で行って下さい。機器が破損する恐れがあります。|
FDIII-HCにAX-12+とAX-S1を接続します。~
AX-12+とAX-S1はDynamixelケーブル(3線)で3本線用のコネクタに接続します。接続する順番や位置は、3本専用のコネクタであればどこでも構いません。
|CENTER:BGCOLOR(red):||c
| |必ずFDIII-HCの3本線用のコネクタに差し込んで下さい。誤って4本線のコネクタに差し込んだ状態で電源を入れると破損します。|
|  :idea:|#ref(connect.png,60%)|
----
電源スイッチがOFF側になっていることを確認します。~
#ref(connect2.png,100%)
----
電源延長ケーブルをFDIII-HCに接続します。
#ref(connect3.png,100%)
----
電源延長ケーブルとACアダプタを接続します。
#ref(connect4.png,100%)
----
ACアダプタをコンセントに接続します。
#ref(connect5.png,100%)
----
手順A FDIII-HCにプログラムを書込んでいない場合は、パソコンとFDIII-HCをUSBケーブルで接続します。~
手順B FDIII-HCに既にプログラムが書き込まれている場合は、USBコネクタ左横にあるプッシュボタン(PB1)を押しながらUSBケーブルを差し込むことで[[ブートローダ>FDIII-HC Starter Kit Guide Chapter1.1#r867583a]]のコマンドモードへ移行します。~

#ref(connect6.png,100%)

このときパソコンからUSBケーブル経由でFDIII-HCへ電源が供給され、“ピッ”と音が鳴り、FDIII-HCのLED1が赤く点灯します。~

初めて接続した場合は、デバイスドライバのインストールが始まります。Windowsセキュリティによるチェックが発生した場合は「このドライバーソフトウェアをインストールします(I)」を選択して下さい。~
#ref(driver_warning.png,100%)
デバイスドライバはGCC Developer Liteをインストールした際にコピーされていますので、自動検索でインストールが行われます。

''デバイスドライバが正しくインストールされない''場合は、[[こちら>http://windows.microsoft.com/ja-JP/windows7/What-to-do-when-a-device-isnt-installed-properly]]を参照して下さい。~
''デバイスドライバが正常に動作していない''場合は[[こちら>http://windows.microsoft.com/ja-JP/windows7/Update-a-driver-for-hardware-that-isnt-working-properly]]を参照して下さい。

**サンプルプログラム[#r86cf508]
FDIII-HCに書き込むサンプルプログラムを示します。~
#html{{
<pre class="brush: c,">
#include &lt;fd.h&gt;
void main (void) {
  uint8_t ir = 0;

  fd_Wait (2000);

  // 初期化
  fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP);
  fd_SetUVThreshold (7.4);
  DX_ChangeBaudrate (1000000);

  // 状態確認
  fd_printf("Present Voltage[x10] = %d\n", fd_GetPresentVoltage ());
  fd_printf("Ping to AX-12        = %s\n", DX_Ping (1, 500, NULL) ? "OK" : "NG");
  fd_printf("Ping to AX-S1        = %s\n", DX_Ping (100, 500, NULL) ? "OK" : "NG");

  // 出力制限(50%)
  fd_DXSetTorqueLimit (1, 511);
  // 無限回転モードOFF
  fd_DXSetEndlessTurn (1, false);

  // コンソールからの入力があるまで繰り返す
  while (!fd_rx_buff()) {
    // AX-S1より赤外線センサ(正面)の反射率計測
    if (DX_ReadByteData (100, 27, &ir, 50, NULL)) {
      fd_printf ("\rAX-S1 Front IR = %3d\33[K", ir);
      if (ir > 100) {
        // Dynamixelのポジション書込み
        fd_DXSetPosition (1, 300);
      } else {
        // Dynamixelのポジション書込み
        fd_DXSetPosition (1, 512);
      }
    } else {
      fd_printf ("\rRead from AX-S1:NG\33[K", ir);
    }
    // 50ミリ秒の待ち
    fd_Wait (50);
  }
  // 位置決め制御停止
  fd_DXEnableControl (1, false);
}
</pre>
}}
サンプルプログラムをダブルクリックして選択状態にし、「Ctrl+C」又は右クリックして「コピー(C)」を選択してコピーします。改行のエスケープシーケンス記号は表示上バックスラッシュ+nとなっていますが、日本語環境へコピーするとバックスラッシュは円記号として表示されます。

----
デスクトップのGCC Developer Liteアイコンをダブルクリックします。
#ref(gcc_open1.png,100%)
GCC Developer Lite上で「Ctrl+V」又は右クリックして「貼り付け(P)」を選択してペーストして下さい。
#ref(gcc_save1.png,100%)
----
メニューより「名前を付けて保存」を選択します。
#ref(gcc_save2.png,100%)
----
ローカルディスクを選択し、「新しいフォルダーの作成」ボタンをクリックします。
#ref(gcc_save3.png,100%)
----
新しいフォルダが作成され、フォルダ名を入力できる状態になりますので「sample」と入力し、Enterキーを押します。
#ref(gcc_save4.png,100%)
----
作成したsampleフォルダをダブルクリックし、sampleフォルダ内に入ります。
ファイル名に「AutomaticDoor.c」を入力し、保存ボタンをクリックします。
#ref(gcc_save5.png,100%)

**コンパイルオプションの設定 [#p4122b59]
メニューの「ツール」→「コンパイルオプション」をクリックします。
#ref(gcc_option1.png,100%)
----
コンパイルオプション画面内、設定リストのリストボックス右端にある下向き矢印のリストボタンをクリックし、リストを表示します。そのリストから「FREEDOM III library for FDIII-HC」を選択します。“OKボタンを押すと、「FREEDOM III library for FDIII-HC」の設定を行います。”というメッセージが表示されるので「OK」をクリックします。
#ref(gcc_option2.png,100%)

1度コンパイルを行うとコンパイルオプションの設定は保存されるため、次回からは再度設定する必要がなくなります。

**ビルドする [#ad84c3d3]
メニューの「コンパイル」→「ビルド」をクリックします。
この時、人が書いたC言語はコンピュータが理解できる機械語に変換されます。
#ref(gcc_compile1.png,100%)
----
コンパイル<成功>のポップアップウィンドウが表示されたら「OK」をクリックします。
#ref(gcc_compile3.png,100%)
----
SIMPLE TERMが起動します。
#ref(sterm1.png,100%)

**SIMPLE TERMの設定 [#a3b0dd1e]
まず[[機器の接続>#xa842a1b]]が完了していることを確認します。
----
メニューの「ファイル」→「プロパティ」をクリックします。
#ref(sterm2.png,100%)
----
プロパティ画面内、Connect toのリストボックス右側にある下向き矢印ボタンをクリックし、リストを表示します。そのリストの中から「AT91 USB to Serial Converter」と書かれているCOMポートを選択します。COMポートには番号が振られていますが、番号は使用環境によって異なります。

#ref(sterm3.png,100%)

もし「AT91 USB to Serial Converter」と書かれているCOMポートが見つからない場合は、[[デバイスドライバのインストール>#da14004d]]を参照して下さい。
----
#ref(sterm4.png,100%)
その他は以下の通り設定して「OK」をクリックします。
 Baudrate:ここではリストからどの数値を選択しても構いません
 Databits:8
 Stopbits:1
 Parity:Non
 Flow Control:Non
 Protocol:Xmodem
----
メニューの「通信」→「ポートオープン」をクリックします。
#ref(sterm5.png,100%)

**プログラムの転送 [#aaed87f4]
< FDIII VerX.X by BestTechnology > (X.Xはブートローダのバージョンにより異なる)と表示されることを確認して下さい。ブートローダのコマンドモードに入ると必ず最初にこのように表示されます。
#ref(sterm6.png,100%)
このメッセージが表示されない場合は、[[こちら>BTE083#vbd825b5]]の詳細な手順を確認してみてください。
----
スクリプト実行ボタン(走る人のマーク)をクリックします。プログラムの転送が始まるので完了まで数秒待ちます。
#ref(sterm7.png,100%)
<SUCCESS>と表示されたら転送完了です。
#ref(sterm8.png,100%)

**プログラムの実行 [#eb97850f]
FDIII-HCの電源をONにします。AX-12+とAX-S1に電源が供給されるとAX-12+のLEDが一瞬点灯し、AX-S1から“ピッ”という起動音がします。
#ref(execute1.png,100%)
----
SIMPLE TERM上でキーボードの「g」を入力します。書き込んだプログラムが実行されると、“ピッピッ”という音が確認できます。
#ref(execute2.png,100%)
----
AX-S1の上方向のセンサに手を近づけるとAX-12+のホーンが回転し、手を放して少し待つと元の位置に回転します。~
SIMPLE TERM上でキーボードの適当なキーを入力するとブートローダのコマンドモードに戻ります。
#ref(execute3.png,100%)

プログラム実行中にブザーが鳴り続ける場合は、エラーが発生していますので以下を確認して下さい。
-AX-12+とAX-S1がFDIII-HCに接続されているか
-FDIII-HCの電源スイッチがONになっているか
-電源アダプタがコンセントに接続されているか

[[次のチャプターへ>FDIIICHAPTER1.4]]~

[[FDIII-HC Starter Kit Guide>LEARNINGGUIDE]]に戻る


« Prev[4]  Next »[5]