2つのスイッチでコントロール
右のスイッチを押すと時計回りに45°
左のスイッチを押すと反時計回りに45°
回転します
サンプルコード
#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 RIGHT_SW 4
#define LEFT_SW 3
L6470SPIStepper stepper(PIN_SPI_MOSI, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_SS, PIN_BUSY);
int val_r = 0;
int val_l = 0;
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(LEFT_SW, INPUT);
pinMode(RIGHT_SW, INPUT);
}
void loop(){
val_r = digitalRead(RIGHT_SW);
val_l = digitalRead(LEFT_SW);
if(val_r == HIGH){
stepper.runByAngular(45);
stepper.busydelay(500);
}else if(val_l == HIGH){
stepper.runByAngular(-45);
stepper.busydelay(500);
}
}