7: 2011-07-12 (火) 13:18:25 yoshida |
8: 2011-07-12 (火) 18:41:39 yoshida |
| **手を少しづつ閉じる [#mdb3661c] | | **手を少しづつ閉じる [#mdb3661c] |
| 負荷の値によりゴールポジションの値を少しづつ増やしながら、AX-12+に逐次書き込むことで、手を少しづつ閉じる動作を実現します。 | | 負荷の値によりゴールポジションの値を少しづつ増やしながら、AX-12+に逐次書き込むことで、手を少しづつ閉じる動作を実現します。 |
| + | #html{{ |
| + | <pre class="brush:c"> |
| + | #include <fd.h> |
| + | void main (void) { |
| + | int16_t LoadData; |
| + | uint16_t GoalPosition = 300; |
| | | |
- | #ref(gcc_edit_3.png, 100%) | + | 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, 512); |
| + | |
| + | while (!fd_rx_buff () && !fd_GetPB ()) { |
| + | fd_DXGetLoad (1, &LoadData); |
| + | fd_printf ("%5d\r", LoadData); |
| + | fd_DXSetPosition (1, ++GoalPosition); |
| + | fd_Wait (10); |
| + | } |
| + | } |
| + | </pre> |
| + | }} |
| 先ずゴールポジションを保存する変数を宣言します。 | | 先ずゴールポジションを保存する変数を宣言します。 |
| uint16_t GoalPositon = 300は、変数宣言時に予め300という値を入れておくという意味です。~ | | uint16_t GoalPositon = 300は、変数宣言時に予め300という値を入れておくという意味です。~ |
| | | |
| 処理の流れに合わせて、プログラムを修正します。 | | 処理の流れに合わせて、プログラムを修正します。 |
- | | |
- | #ref(gcc_edit_4.png,100%) | |
- | | |
- | **動作確認 [#x3a5a029] | |
| #html{{ | | #html{{ |
| <pre class="brush: c"> | | <pre class="brush: c"> |
| DX_ChangeBaudrate (1000000); | | DX_ChangeBaudrate (1000000); |
| | | |
- | fd_DXSetTorqueLimit (16, 154); | + | fd_DXSetTorqueLimit (1, 154); |
- | fd_DXSetPosition (16, 512); | + | fd_DXSetPosition (1, 512); |
| | | |
| while (!fd_rx_buff () && !fd_GetPB ()) { | | while (!fd_rx_buff () && !fd_GetPB ()) { |
- | fd_DXGetLoad (16, &LoadData); | + | fd_DXGetLoad (1, &LoadData); |
| fd_printf ("%5d\r", LoadData); | | fd_printf ("%5d\r", LoadData); |
| if (LoadData < -100 && LoadData < 0) { | | if (LoadData < -100 && LoadData < 0) { |
- | GoalPosition++; | + | fd_DXSetPosition (1, ++GoalPosition); |
- | fd_DXSetPosition (16, GoalPosition); | + | |
| } | | } |
| fd_Wait (10); | | fd_Wait (10); |
| }} | | }} |
| | | |
| + | **動作確認 [#x3a5a029] |
| プログラムが完成しました。プログラムを書き込んで動かしてみましょう。 | | プログラムが完成しました。プログラムを書き込んで動かしてみましょう。 |
| | | |