|
一覧
検索
最新
ページへ戻る
履歴
FDIII-HC Starter Kit Guide Chapter3.3
のバックアップソース(No.3)
knowledge
:
FDIII-HC Starter Kit Guide Chapter3.3
のバックアップソース(No.3)
差分
を表示
現在との差分
を表示
FDIII-HC Starter Kit Guide Chapter3.3
へ行く。
« Prev
Next »
現在編集中です。 #ref(AutomaticDoor_13.png,100%) 「AX-S1の距離センサに人が反応したら、AX-12+でバーを開く」というプログラムを作成します~ Chapter2で「AX-S1の距離センサに泥棒が反応したら、AX-S1のブザーを鳴らして脅かす」というプログラムを作りました。これとの違いはAX-S1のブザーを鳴らすか、AX-12+を動かすかの違いだけです。 **処理の流れを図にする [#t29737cd] 処理の流れを図にしましょう。 #ref(AutomaticDoor_14.png,100%) Chapter2との違いはブザーを鳴らす代わりに、センサ値が閾値以上ならバーを開け、閾値以下ならバーを閉じるという所です。人が来てバーが開いたと思ったら直ぐ閉じてしまうと困るのでその後に少し待機があります。 **準備 [#o28e1018] GCC Developer Liteを起動して、Chapter2で作成した警報器のプログラムを開いて下さい。~ メニューの「ファイル」 -> 「開く」 -> ファイル(AlarmUnit.c)選択しを「開く」~ #include <fd.h> #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} void main (void) { uint8_t ReadData; fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); while (1) { fd_DXReadByteData (100, 27, &ReadData); fd_printf ("%3d\r", ReadData); if (ReadData > 100) { fd_DXWriteByteData (100, 40, 10); fd_DXWriteByteData (100, 41, 10); } KEY_QUIT; } } プログラムは上記のようになっているでしょうか。~ Chapter2.5の補足で追加した箇所があります。 #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} と KEY_QUIT; については[[Chapter2.5のソフトウェアリセット>FDIII-HC Starter Kit Guid Chapter2.5#e7171726]]をご覧下さい。 fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); については[[Chapter2.5のFDIII-HCのブザーを鳴らす>FDIII-HC Starter Kit Guid Chapter2.5#vb6f386d]]をご覧下さい。 ---- ファイルを別の名前で保存しましょう。 メニューの「ファイル」 -> 「名前を付けて保存」 -> ファイル名に「AutomaticDoor.c」と入力して適当なフォルダの中へ「保存」 **ブザーを鳴らす部分を削除 [#ma9b92ad] fd_DXWriteByteData (100, 40, 10); fd_DXWriteByteData (100, 41, 10); はブザーを鳴らす部分です。今回は必要ありませんので削除します。 #ref(AutomaticDoor_15.png,100%) **バーを開ける [#icc81839] #ref(AutomaticDoor_16.png,100%) センサ値と閾値を比較するif分の { の中に fd_DXWriteWordData (1, 30, 300); と入力して下さい。 これはAX-12+に2バイトのデータを書き込むための関数です。 #ref(AutomaticDoor_17.png,100%) fd_DXWriteWordDataは関数名です。 ''第1引数''はDynamixelのIDです。AX-12+のIDは1です。 ''第2引数''はAX-12+のコントロールテーブルのアドレスです。[[AX-12+コントロールテーブル>FDIII-HC Starter Kit Guid Chapter1.1#xa86a787]]を見て下さい。AX-12+のホーンの位置の指令は、アドレス30と31のゴールポジションにデータを書くことで行います。~ ゴールポジションが2バイトのデータで表されているので、fd_DXWriteByteData関数(1バイドのデータを書き込む)ではなく、fd_DXWriteWordData関数を使います。 ''第3引数''はゴールポジションの値です。 #ref(AutomaticDoor_18.png,100%) AX-12+のホーンは図のように0°から300°まで回転します。ゴールポジションの値は0°なら0、中心の150°なら512、300°なら1023になります。~ #ref(AutomaticDoor_19.png,100%) バーが開いている状態は大凡0°と150°の真ん中として、ゴールポジションの値を300にしました。もし、AX-12+を反対に付けた場合は700位にしましょう。
« Prev
Next »
FDIII-HC Starter Kit Guide Chapter3.3 のバックアップ一覧
FDIII-HC Starter Kit Guide Chapter3.3 のバックアップソース(No. All)
1: 2009-12-16 (水) 19:49:28
eid7gud
2: 2009-12-16 (水) 19:59:45
eid7gud
3: 2009-12-17 (木) 19:40:53
eid7gud
4: 2009-12-18 (金) 19:55:24
eid7gud
5: 2009-12-21 (月) 19:58:41
eid7gud
6: 2009-12-25 (金) 18:56:56
eid7gud
7: 2010-01-13 (水) 17:09:51
eid7gud
8: 2010-01-18 (月) 13:55:46
eid7gud
9: 2010-01-19 (火) 15:23:16
eid7gud
10: 2010-01-19 (火) 15:52:14
eid7gud
現: 2010-01-20 (水) 21:33:04
takaboo
Copyright© 1989,2024 BestTechnology Co.,Ltd.
メニュー
トップ
ニュース
お知らせ
新商品情報
更新情報
マニュアル類
技術情報
チュートリアル
FAQ
お問合せ
技術的なお問合せ
その他お問合せ
お見積り
ブログ
会社案内
ショッピング
ご利用案内
検索
カテゴリ 一覧
ロボットキット
Dynamixelシリーズ
マイコンボード
相撲ロボット
センサ
通信機器
お客様ページ