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

サンプルコード

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

results matching ""

    No results matching ""