//ボタンを押すごとにs=0~2の状態に遷移

int s = 0;
int i = 0;
void setup() {
  Serial.begin(1200); //
  pinMode(5, OUTPUT);
}

void loop() {

  s = 0;
  for (int i = 0;; i++)

  { //繰り返しの設定
    delay(400); //チャタリング防止
    if (digitalRead(7) == LOW) { //タクトスイッチが押されたことを検知
      s = s + 1; //状態を進める
      if (s > 2) //3水準なので0,1,2の次は0
        s = 0;
      delay(20);

      if (i > 30) //繰り返し動作の状態の確認
        i = 0;
      delay(20);

      while (digitalRead(7) == LOW) {} //タクトスイッチが押されたことを検知
    }
    if (s == 0) {
      //第一の状態
      analogWrite(5, 1);

    }
    if (s == 1) {
      //第二の状態
      analogWrite(5, 50);

    }
    if (s == 2) {
      //第三の状態
      analogWrite(5, 250);

    }
    Serial.print(i);
    Serial.print("s=");
    Serial.println(s);

  } //forのend
}