3: 2009-11-19 (木) 19:38:05 sho[6] [7] | 現: 2011-02-02 (水) 19:29:57 eid7gud[8] [9] | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TITLE:FDIII-HC Starter Kit Guide Chapter2.5 | ||
+ | *まとめ [#d91355d1] | ||
+ | FREEDOMライブラリを読み込むために最初に必ず | ||
+ | #include <fd.h> | ||
+ | を書きます。 | ||
+ | |||
+ | 実際の処理はmain関数の{}の中に書きます。 | ||
+ | |||
+ | main関数内で必ず最初に | ||
+ | fd_Init (0, BT_CONSOLE, 0, 7.4); | ||
+ | で初期化します。下の[[補足>#vb6f386d]]も確認しましょう。 | ||
+ | |||
+ | ここまではどのプログラムでも殆んど同じですので、新しいプログラムを作るときにはコピー&ペーストします。 | ||
+ | |||
+ | Dynamixelから1バイトのデータを取り出すには | ||
+ | fd_DXReadByteData (ID, アドレス, &変数名); | ||
+ | を使います。値を入れる変数名の前に&を付けるのを忘れないよう注意しましょう。変数名の前に&を付けると変数のアドレスを表します。 | ||
+ | |||
+ | Dynamixelに1バイトのデータを書き込むには | ||
+ | fd_DXWriteByteData (ID, アドレス, 書き込む値); | ||
+ | を使います。 | ||
+ | |||
+ | 取り込んだ値を表示したりするにはfd_printfを使います。 | ||
+ | |||
*課題 [#zaff6826] | *課題 [#zaff6826] | ||
#ref(Warning_k1.png,100%) | #ref(Warning_k1.png,100%) | ||
Chapter2.3, 2.4を参考に「''音センサに反応があったらブザーを鳴らす''」という方法でプログラムを書いてみましょう。~ | Chapter2.3, 2.4を参考に「''音センサに反応があったらブザーを鳴らす''」という方法でプログラムを書いてみましょう。~ | ||
- | またChapter2.1で自分で考えた方法でもチャレンジしてみましょう。 | + | また、Chapter2.1で紹介した本キットの機能を使って、自分で考えた装置の制作にもチャレンジしてみましょう。 |
ヒント~ | ヒント~ | ||
-音量センサの値はAX-S1のアドレス35 | -音量センサの値はAX-S1のアドレス35 | ||
- | -音量値は128を中心に音がすると音量に応じて上下に揺れる | + | -音量センサの値は128を中心に音がすると音量に応じて上下に揺れる(詳細は[[AX-S1コントロールテーブルのSound Data>http://www.besttechnology.co.jp/modules/knowledge/?AX-S1%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB#a9725398]]を参照して下さい) |
#ref(Warning_k2.png,100%) | #ref(Warning_k2.png,100%) | ||
*補足 [#a602c075] | *補足 [#a602c075] | ||
- | **ソフトリセット [#e7171726] | + | **ソフトウェアリセット [#e7171726] |
- | プログラムを書き込むには一度ブートローダモードに入らなければなりません。ブートローダモードに入る方法として、これまでプッシュボタンを押しながらUSBケーブルを接続するという方法をとっていましたが、毎回USBケーブルを抜き差しするのは面倒です。~ | + | プログラムを書き込むには一度ブートローダのコマンドモードに入らなければなりません。ブートローダのコマンドモードに入る方法として、これまでプッシュボタンを押しながらUSBケーブルを接続するという方法をとっていましたが、毎回USBケーブルを抜き差しするのは面倒です。~ |
- | そこでUSBケーブルを抜き差ししないでブートローダモードに入る方法を紹介します。~ | + | そこでUSBケーブルを抜き差ししないでブートローダのコマンドモードに入る方法を紹介します。~ |
#ref(Warning_k3.png,100%) | #ref(Warning_k3.png,100%) | ||
#include <fd.h>の後に | #include <fd.h>の後に | ||
#define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} | ||
と入力して下さい。~ | と入力して下さい。~ | ||
- | KEY_QUIT と書いたら if(fd_rx_buff()) fd_SoftReset(); と書いたことと同じ意味ですと宣言しています。 | + | KEY_QUIT と書くことで if(fd_rx_buff()) fd_SoftReset(); と書いたことと同じ意味ですと宣言しています。 if(fd_rx_buff()) fd_SoftReset(); は、パソコンから入力があったらブートローダのコマンドモードへ入るという意味です。 |
- | なら最初からif(fd_rx_buff()) fd_SoftReset();と書けば良いじゃないかと思うかもしれませんが、長いので、短くて覚えやすいKEY_QUITにしました。勿論そのまま書いても構いません。 | + | |
- | if(fd_rx_buff()) fd_SoftReset(); | + | 最初からif(fd_rx_buff()) fd_SoftReset();と書けば良いのではと思うかもしれませんが、長いので、短くて覚えやすいKEY_QUITにしました。勿論そのまま if(fd_rx_buff()) fd_SoftReset(); と書いても構いません。 |
- | は、パソコンから入力があったらブートローダへ入るという意味です。 | + | |
- | 更にwhileループの{}内の最後に | + | 更にwhile文の{}内の最後に |
KEY_QUIT; | KEY_QUIT; | ||
と入力して下さい。 | と入力して下さい。 | ||
- | これでwhileでループしている間にSIMPLE TERM上でキーボードの適当なキーを入力すると、ブートローダモードに入ってプログラムが書き込めるようになります。~ | + | whileで繰り返し処理をしている間にSIMPLE TERM上でキーボードからどのキーでも良いので入力すると、ブートローダのコマンドモードに入ってプログラムが書き込めるようになります。~ |
これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~ | これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~ | ||
Line 32: | Line 55: | ||
**FDIII-HCのブザーを鳴らす [#vb6f386d] | **FDIII-HCのブザーを鳴らす [#vb6f386d] | ||
#ref(Warning_k4.png,100%) | #ref(Warning_k4.png,100%) | ||
- | [[Chapter2.3のFREEDOMライブラリ初期化>FDIII-HC Starter Kit Guid Chapter2.3#b75be71e]]で少し説明しましたが、fd_Init関数の第3引数はFDIII-HCのブザーの設定です。~ | + | [[Chapter2.3のFREEDOMライブラリ初期化>FDIII-HC Starter Kit Guide Chapter2.3#b75be71e]]で少し説明しましたが、fd_Init関数の第3引数はFDIII-HCのブザーの設定です。~ |
- | FDIIIのブザーは供給電圧が下がったり、Dynamixelエラーが発生したときに鳴る重要なブザーです。ちょっと長くなりますが、今後fd_Init関数で初期化する際は、以下のように書いて下さい。 | + | FDIIIのブザーは供給電圧が下がったり、Dynamixelエラーが発生したときに鳴る重要なブザーです。今後fd_Init関数で初期化する際は、少し長いですが以下のように書いて下さい。 |
fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); | ||
※改行はしないで一行で書きます。~ | ※改行はしないで一行で書きます。~ | ||
- | [[FDIII-HC Starter Kit Guid]]へ戻る | + | [[FDIII-HC Starter Kit Guide]]へ戻る |
(This host) = http://www.besttechnology.co.jp