Arduinoでステッピングモーターを動かす際のコードです。
コードとモーターの配線は以下のリンクを参考にしました。
https://makers.jpn.org/2018/06/30/post-926/
関数stepGo(回転方向,回転数,回転速度)にそれぞれ引数を入力し動かします。
引数HLは回転方向をbool型で指定して下さい。
引数revは回転数、です。
1.8度のステッピングモーターはrevが200で1回転するので、変数stepRotateを何倍するかで
回転数を指定できるようにしてあります。
const int ENEBLE = 6;
const int STEP = 5;
const int DIR = 4;
int stepRotate = 200; //1回転するステップ数
void setup() {
pinMode(ENEBLE,OUTPUT); // Enable
pinMode(STEP,OUTPUT); // Step
pinMode(DIR,OUTPUT); // Dir
digitalWrite(ENEBLE,LOW); // Set Enable low → Low状態でEnable
}
void loop() {
//stepGo(回転方向,回転数,回転速度);
stepGo(true,stepRotate*5,500);
delay(500);
stepGo(false,stepRotate*5,500);
delay(500);
}
void stepGo(bool HL,int rev,int stepsecond){
digitalWrite(DIR,HL);
for(int i = 0; i < rev; i++)
{
digitalWrite(STEP,HIGH);
delayMicroseconds(stepsecond);
digitalWrite(STEP,LOW);
delayMicroseconds(stepsecond);
}
}