押す度に回転、停止を繰り返す

サンプルコード
#include <SPI.h>
#include "L6470SPIStepper.h"
#define PIN_SPI_MOSI 11
#define PIN_SPI_MISO 12
#define PIN_SPI_SCK 13
#define PIN_SPI_SS 10
#define PIN_BUSY 9
#define TACT_SW 4
L6470SPIStepper stepper(PIN_SPI_MOSI, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_SS, PIN_BUSY);
int val = 0;
int motor = LOW;
void setup()
{
Serial.begin(9600);
Serial.setTimeout(5000);
delay(500);
stepper.setup(L6470_MODE_QUICK);
stepper.setPower(0x1F, 0xFF, 0xFF, 0xFF);
stepper.setStepResolution(L6470_RESOLUTION_128_PER_ONE_STEP);
pinMode(TACT_SW, INPUT);
}
void loop(){
val = digitalRead(TACT_SW);
if(val == HIGH){
if(motor == LOW){
motor = HIGH;
stepper.runByAngularVelocity(120);
stepper.busydelay(100);
}else{
motor = LOW;
stepper.runByAngularVelocity(0);
stepper.busydelay(100);
}
}
}