#include <Stepper.h>
//DC motors
-const int motorspeed = 33; // mm/s
-const int motorrotationspeed = 60; // deg/s
+const int motorspeed = 15; // mm/s
+const int motorrotationspeed = 10; // deg/s
//Stepper motor
-const int steps = 400;
-Stepper stepper = Stepper(steps, stepper1, stepper2, stepper3, stepper4);
+const float stepangle = 0.9;
+const int angularratio = 6;
+Stepper stepper = Stepper(360 / stepangle, stepper1, stepper2, stepper3, stepper4);
void init_motors()
{
pinMode(stepper3, OUTPUT);
pinMode(stepper4, OUTPUT);
stepper.setSpeed(20);
+ stepper.step(1);
}
/*
digitalWrite(motorsenable, LOW);
- stepper.step(-angle * steps / 360);
+ unsigned long steps = angle * angularratio / stepangle;
+ Serial.println(steps);
+ stepper.step(-steps);
}
/*
if (distance > 0)
{
//left motor forward
- digitalWrite(leftmotor1, HIGH);
- digitalWrite(leftmotor2, LOW);
+ digitalWrite(leftmotor1, LOW);
+ digitalWrite(leftmotor2, HIGH);
//right motor forward
- digitalWrite(rightmotor1, HIGH);
- digitalWrite(rightmotor2, LOW);
+ digitalWrite(rightmotor1, LOW);
+ digitalWrite(rightmotor2, HIGH);
}
else
{
//left motor backward
- digitalWrite(leftmotor1, LOW);
- digitalWrite(leftmotor2, HIGH);
+ digitalWrite(leftmotor1, HIGH);
+ digitalWrite(leftmotor2, LOW);
//right motor backward
- digitalWrite(rightmotor1, LOW);
- digitalWrite(rightmotor2, HIGH);
+ digitalWrite(rightmotor1, HIGH);
+ digitalWrite(rightmotor2, LOW);
distance = -distance;
}