TITLE:警報装置のまとめ *まとめ [#zda9518e] FREEDOMライブラリを読み込むために最初に必ず #include <fd.h> を書きます。 実際の処理はmain関数の{}の中に書きます。 main関数内でFREEDOMライブラリを使用する前に必ず -fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP); -fd_SetUVThreshold (7.4); -DX_ChangeBaudrate (1000000); で初期化します。 初期化についてはどのプログラムでも殆んど同じですので、新しいプログラムを作るときには必ず記述して下さい。 Dynamixelから1バイトのデータを取り出すには DX_ReadByteData (ID, アドレス, &変数名, タイムアウト時間, NULL); を使います。値を入れる変数名の前に&を付けるのを忘れないよう注意しましょう。変数名の前に&を付けると変数のアドレスを表します。~ 今回はエラーコードを使用しない為、NULLを指定していますが、エラーコードを使用する際はTDXAlarm型の変数のアドレスを指定します。 Dynamixelに1バイトのデータを書き込むには DX_WriteByteData (ID, アドレス, 書き込む値, タイムアウト時間, NULL); を使います。 取り込んだ値を表示したりするにはfd_printfを使います。 *課題 [#r9763b8b] #ref(Warning_k1.png,100%) Chapter2.3, 2.4を参考に「''音センサに反応があったらブザーを鳴らす''」という方法でプログラムを書いてみましょう。~ また、Chapter2.1で紹介した本キットの機能を使って、自分で考えた装置の制作にもチャレンジしてみましょう。 ヒント~ -音量センサの値はAX-S1のアドレス35 -音量センサの値は128を中心に音がすると音量に応じて上下に揺れる(詳細は[[AX-S1コントロールテーブルのSound Data>AXS1CNTLTBL#a9725398]]を参照して下さい) #ref(Warning_k2.png,100%) *補足 [#g9696541] **プログラムの終了 [#h32fa325] プログラムを書き込むには一度ブートローダのコマンドモードに入らなければなりません。ブートローダのコマンドモードに入る方法として、これまでプッシュボタンを押しながらUSBケーブルを接続するという方法をとっていましたが、毎回USBケーブルを抜き差しするのは面倒です。~ そこでUSBケーブルを抜き差ししないでブートローダのコマンドモードに入る方法を紹介します。~ ブートローダのコマンドモードに入るのは簡単で、プログラムを終了するだけです。~ #ref(gcc_edit_3.png,100%) [[while>FDIIICHAPTER1.4#o8733fa9]]文は()内の条件が成り立っている間は処理を繰り返しますので、while (true) で無限に処理を繰り返していましたが、プログラムを終了するため、条件を設定します。~ [[fd_rx_buff ()>FDIIILIB#c1552bcf]]はキーボードからの入力の有無を確認し、[[fd_GetPB ()>FDIIILIB#pfa91195]]はプッシュボタンの押下を検知します。~ それぞれの関数の前に[[!>FDIIICHAPTER1.4#seea64bd]](エクスクラメーションマーク)を付けていますので、これで戻値を反転しています。つまりwhileの条件はキーボードからの入力がなければ、プッシュボタンが押されていなければ、となります。~ [[&&>FDIIICHAPTER1.4#seea64bd]]で連結されていますので、whileの条件はキーボードからの入力がなく、かつプッシュボタンも押されていない、となります。~ これはSIMPLE TERM上でキーボードからどのキーでも良いので入力するか、プッシュボタンを押すとプログラムが終了するということです。~ プログラムが終了すれば、ブートローダのコマンドモードに入り、新たなプログラムの書込みが可能となります。~ これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~ 書き込んで試してみて下さい。 [[FDIII-HC Starter Kit Guide>LEARNINGGUIDE]]へ戻る。
(This host) = http://www.besttechnology.co.jp