スイッチ押す度に振動の早さ変化

サンプルコード

#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);

  // スイッチが押されたら、motorの状態切替
  if(val == HIGH){
    if(motor == LOW){
      motor = HIGH;
    }else{
      motor = LOW;
    }
  }

  //毎回のloopで実行される、motorの状態によって速度変化
  if(motor == LOW){
    stepper.runByAngular(20);
    stepper.busydelay(10);
    stepper.runByAngular(-20);
    stepper.busydelay(10);
  }else{
    stepper.runByAngular(4);
    stepper.busydelay(0);
    stepper.runByAngular(-4);
    stepper.busydelay(0);
  }  
}

results matching ""

    No results matching ""