Мне не удается заставить шаговый двигатель вращаться против часовой стрелки с помощью кода, написанного для Arduino Uno. Это простая установка, в которой используется кнопка для перемещения шагового двигателя, когда вы удерживаете кнопку. Первоначально код был написан для перемещения шагового двигателя по часовой стрелке, и я изменил myStepMotor.step на -1 вместо 1. Насколько я понимаю, это должно заставить шаговый двигатель двигаться в другом направлении. С положительным или отрицательным числом он все равно вращается по часовой стрелке.
#include <Stepper.h>
const int myStepsPerRev = 64;
char k_ccw;
int myStepsTook = 0;
// aloocate a stepeper motor object for pins 8 through 11:
Stepper myStepMotor (myStepsPerRev, 8, 9, 10, 11);
void setup() {
pinMode(3, INPUT);
myStepMotor.setSpeed(60); // set the motor speed for 60rpm
myStepsTook = 0; // initialize steps taken to zero
Serial.begin(9600); // initialize the serial port
}
void loop() {
k_ccw = digitalRead(3);
if (k_ccw == LOW) {
delay(125);
myStepsTook++;
Serial.print("Steps Taken: ");
Serial.println(myStepsTook);
myStepMotor.step(-1);
}
}