Мне нравится делать шаговый двигатель в одном направлении, пока датчик не выдаст сигнал HIGH, а затем он должен остановиться.Кнопка остановки электродвигателя Accelstepper и перейдите к следующему положению
Я понял эту часть, но теперь я хочу шаговый продолжить поворот с задержкой на несколько секунд с сигналом датчика еще ВЫСОКОЙ
Может кто-нибудь мне помочь?
#include <AccelStepper.h>
#define HALFSTEP 8
// Motor pin definitions
#define motorPin1 3 // IN1 on the ULN2003 driver 1
#define motorPin2 4 // IN2 on the ULN2003 driver 1
#define motorPin3 5 // IN3 on the ULN2003 driver 1
#define motorPin4 6 // IN4 on the ULN2003 driver 1
// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
void setup() {
Serial.begin(9600);
pinMode(7,INPUT);
stepper1.setMaxSpeed(600);
stepper1.setAcceleration(200);
stepper1.setSpeed(100);
}
void loop(){
if(digitalRead(7) == 1)
{
stepper1.move(640000);
stepper1.run();
}
if(digitalRead(7) == 0)
{
stepper1.setCurrentPosition(0);
stepper1.stop();
//from here it does not work, the stepper is not going to move
delay(2000);
stepper1.move(640000);
stepper1.run();
}
}
1) Это явно не C! Ардуино не C! 2) Это не консалтинговое обслуживание! См. [Ask]. – Olaf
Я не добавлял C. – David
Хм, хорошо, извините, это был чрезмерно восторженный редактор. Но 2) стоит. – Olaf