5: 2010-01-13 (水) 17:08:44 sho ソース 6: 2010-01-20 (水) 19:28:29 sho ソース
Line 2: Line 2:
#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/mod​ules/knowledge/?AX-S1%E3%82%B3%E3%83%B3%​E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%8​3%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(); +
-は、パソコンから入力があったらブートローダへ入るという意味です。+
-更にwhileループの{}内の最後に+最初からif(fd_rx_buff()) fd_SoftReset();と書けば良いのではと思うかもしれませんが、長いので、短くて覚えやすいKEY_QUITにしました。勿論そのまま if(fd_rx_buff()) fd_SoftReset(); と書いても構いません。 
 + 
 +更にwhile文の{}内の最後に
 KEY_QUIT;  KEY_QUIT;
と入力して下さい。 と入力して下さい。
-これでwhileでループしている間にSIMPLE TERM上でキーボードの適当なキーを入力すると、ブートローダモードに入ってプログラムが書き込めるようになります。~+whileで繰り返し処理をしている間にSIMPLE TERM上でキーボードからどのキーでも良いので入力すると、ブートローダモードに入ってプログラムが書き込めるようになります。~
これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~ これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~
Line 33: Line 32:
#ref(Warning_k4.png,100%) #ref(Warning_k4.png,100%)
[[Chapter2.3のFREEDOMライブラリ初期化>FDIII-HC Starter Kit Guide 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 Guide]]へ戻る [[FDIII-HC Starter Kit Guide]]へ戻る


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom