タイマーを用いて一定期間ごとにJoyStickの状態を見るようにします。
タブをデザインに変えて、ツールボックスからTimerを選び、デザインウィンドウに落とします。timer1が下にできるので、それをダブルクリックすると以下のようなイベントに対応する空のメソッドができます。
private void timer1_Tick(object sender, EventArgs e)
{
}
これに必要なコードを書き入れると以下のようになります。
private void timer1_Tick(object sender, EventArgs e)
{
JoystickState state = joyStick.update();
//Capture Buttons.
byte[] buttons = state.GetButtons();
for (int i = 0; i < buttons.Length; i++)
{
if (buttons[i] != 0)
{
if (i == 3) {
for (int j = 0; j < 9; j++)
{
position[j] = 1;
servo(j, position[j] % 220);
}
}
else servo(i, position[i] % 220);
position[i] += 10;
}
}
}
ボタンが押されたらばそのボタンに対応するサーボモーターが10ステップずつ移動するようになっています。また、3番のボタンを押すとゼロの位置に戻ります。(3番のモーターは10ステップ毎に動かせないということです)