6: 2011-07-11 (月) 12:30:43 yoshida | 7: 2011-07-12 (火) 13:18:25 yoshida | ||
---|---|---|---|
Line 27: | Line 27: | ||
AX-S1の操作は不要になりましたので、関連する関数を削除します。 | AX-S1の操作は不要になりましたので、関連する関数を削除します。 | ||
合わせて、不要になる変数も削除します。~ | 合わせて、不要になる変数も削除します。~ | ||
- | #ref(gcc_edit_1.png,100%) | + | #html{{ |
+ | <pre class="brush:c"> | ||
+ | #include <fd.h> | ||
+ | void main (void) { | ||
+ | uint8_t ReadData; | ||
+ | |||
+ | fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP); | ||
+ | fd_SetUVThreshold (7.4); | ||
+ | DX_ChangeBaudrate (1000000); | ||
+ | |||
+ | fd_DXSetTorqueLimit (1, 154); | ||
+ | |||
+ | while (!fd_rx_buff ()) { | ||
+ | DX_ReadByteData (100, 36, &ReadData, 10, NULL); | ||
+ | fd_printf ("%3d\r", ReadData); | ||
+ | fd_DXSetPosition (1, ReadData * 3); | ||
+ | if (fd_GetPB ()) { | ||
+ | DX_WriteByteData (100, 36, 0, 10, NULL); | ||
+ | } | ||
+ | fd_Wait (10); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | }} | ||
+ | #ref(down_arrow.png) | ||
+ | #html{{ | ||
+ | <pre class="brush:c"> | ||
+ | #include <fd.h> | ||
+ | void main (void) { | ||
+ | |||
+ | fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP); | ||
+ | fd_SetUVThreshold (7.4); | ||
+ | DX_ChangeBaudrate (1000000); | ||
+ | |||
+ | fd_DXSetTorqueLimit (1, 154); | ||
+ | fd_DXSetPosition (1, 300); | ||
+ | |||
+ | while (!fd_rx_buff () && !fd_GetPB ()) { | ||
+ | fd_Wait (10); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | }} | ||
AX-12+のホーンを回転させれば手は開きますので、[[fd_DXSetPosition>FDIIILIB#nbe84864]]を使用します。~ | AX-12+のホーンを回転させれば手は開きますので、[[fd_DXSetPosition>FDIIILIB#nbe84864]]を使用します。~ | ||
#ref(AX12Hone.png,100%) | #ref(AX12Hone.png,100%) | ||
Line 39: | Line 81: | ||
**負荷を読み込む [#n3c87f70] | **負荷を読み込む [#n3c87f70] | ||
先ずAX-12+から読み込んだ負荷の値を保存するための変数を宣言します。負荷を取得する関数([[fd_DXGetLoad>FDIIILIB#e1ca8211]])が用意されていますので、引数として必要なint16_t型で宣言しています。 | 先ずAX-12+から読み込んだ負荷の値を保存するための変数を宣言します。負荷を取得する関数([[fd_DXGetLoad>FDIIILIB#e1ca8211]])が用意されていますので、引数として必要なint16_t型で宣言しています。 | ||
+ | #html{{ | ||
+ | <pre class="brush:c"> | ||
+ | #include <fd.h> | ||
+ | void main (void) { | ||
+ | int16_t LoadData; | ||
+ | |||
+ | fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP); | ||
+ | fd_SetUVThreshold (7.4); | ||
+ | DX_ChangeBaudrate (1000000); | ||
- | #ref(gcc_edit_2.png, 100%) | + | fd_DXSetTorqueLimit (1, 154); |
+ | fd_DXSetPosition (1, 512); | ||
- | - fd_DXGetLoad | + | while (!fd_rx_buff () && !fd_GetPB ()) { |
- | アクチュエータの負荷を取得します。~ | + | fd_DXGetLoad (1, &LoadData); |
- | 第1引数 DynamixelのIDを指定します。AX-12+のIDは1です。~ | + | fd_printf ("%5d\r", LoadData); |
- | 第2引数 負荷を保存する変数のアドレスを指定します。 | + | fd_Wait (10); |
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | }} | ||
+ | ***[[fd_DXGetLoad>FDIIILIB#e1ca8211]] [#cebc7456] | ||
+ | アクチュエータの現在の負荷の値を取得します。~ | ||
+ | ''第1引数''は、DynamixelのIDを指定します。AX-12+のIDは1です。~ | ||
+ | ''第2引数''は、負荷の値を保存する変数のアドレスを指定します。 | ||
---- | ---- | ||
変数名のLoadDataは、負荷データという意味です。変数名は何でも構いませんが、後で見直した時に、何のための変数なのかが直ぐ分るような名前にしましょう。 | 変数名のLoadDataは、負荷データという意味です。変数名は何でも構いませんが、後で見直した時に、何のための変数なのかが直ぐ分るような名前にしましょう。 |