#include <Servo.h>
Servo turn;
const int step1 = 6;
const int dir1 =7;
const int step2 = 8;
const int dir2 =9;
int numberOfLoops = 3;//кількість повторень
int loopCounter = 0;
void setup() {
turn.attach(5);
turn.write(0);
delay(1000);
pinMode(step1, OUTPUT);
pinMode(dir1, OUTPUT);
pinMode(step2, OUTPUT);
pinMode(dir2, OUTPUT);
}
void loop() {
if (loopCounter < numberOfLoops) {
// відмотати 10 мм
digitalWrite(dir1, HIGH);
for (int i=0; i<100; i++){
digitalWrite(step1, HIGH);
delayMicroseconds(1000);
digitalWrite(step1, LOW);
delayMicroseconds(1000);
}
//повернути серво на зачищення
turn.write(180);
delay(500);
//зачищення
digitalWrite(dir2, HIGH);
for (int j=0; j<50; j++){
digitalWrite(step2, HIGH);
delayMicroseconds(1000);
digitalWrite(step2, LOW);
delayMicroseconds(1000);}
digitalWrite(dir2, LOW);
for (int j=0; j<50; j++){
digitalWrite(step2, HIGH);
delayMicroseconds(1000);
digitalWrite(step2, LOW);
delayMicroseconds(1000);
}
//повернути серво на відріз
turn.write(0);
delay(1000);
//відмотати 600 мм
digitalWrite(dir1, HIGH);
for (int i=0; i<600; i++){
digitalWrite(step1, HIGH);
delayMicroseconds(1000);
digitalWrite(step1, LOW);
delayMicroseconds(1000);
}
//відрізати
digitalWrite(dir2, HIGH);
for (int j=0; j<50; j++){
digitalWrite(step2, HIGH);
delayMicroseconds(1000);
digitalWrite(step2, LOW);
delayMicroseconds(1000);
}
digitalWrite(dir2, LOW);
for (int j=0; j<50; j++){
digitalWrite(step2, HIGH);
delayMicroseconds(1000);
digitalWrite(step2, LOW);
delayMicroseconds(1000);
}
loopCounter++;
}
else{
return;
}
}