6: 2011-07-11 (月) 12:30:43 yoshida |
7: 2011-07-12 (火) 13:18:25 yoshida |
| 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%) |
| **負荷を読み込む [#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は、負荷データという意味です。変数名は何でも構いませんが、後で見直した時に、何のための変数なのかが直ぐ分るような名前にしましょう。 |