#include <AccelStepper.h>
const int dirPin = 2;
const int stepPin = 4;
#define BUTTON_PIN 14
#define es 26
#define motorInterfaceType 1
AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(es, INPUT_PULLUP);
pinMode(33, INPUT_PULLUP);
pinMode(27, OUTPUT);
pinMode(25, OUTPUT);
myStepper.setMaxSpeed(1500);
myStepper.setAcceleration(500);
myStepper.setSpeed(1000);
myStepper.moveTo(15000);
digitalWrite(25, LOW);
}
//int lastState = HIGH;
int lastState2 = HIGH;
int lastState3 = HIGH;
void loop() {
int value = digitalRead((es));
int value2 = digitalRead((14));
int value3 = digitalRead((33));
int mov = 0;
//if (lastState != value) {
//lastState = value;
if (value == 0) {
// Serial.println(" released");
if (lastState2 != value2) {
myStepper.moveTo(15000);
while(myStepper.distanceToGo()!=0){
myStepper.run();
}
lastState2 = value2;
digitalWrite(27, LOW);
digitalWrite(25, HIGH);
}
if (lastState3 != value3) {
myStepper.moveTo(0);
while(myStepper.distanceToGo()!=0){
myStepper.run();
}
lastState3 = value3;
digitalWrite(25, LOW);
digitalWrite(27, HIGH);
}
}
if (value == 1) {
digitalWrite(27, LOW);
digitalWrite(25, LOW);
}
}
// delay(10); // this speeds up the simulation
/*
// Подключаем библиотеку AccelStepper
#include <AccelStepper.h>
// Устанавливаем выводы
const int dirPin = 2;
const int stepPin = 3;
int i = 0;
// Определение тип интерфейса двигателя
#define motorInterfaceType 1
// Создаем экземпляр
AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
// Устанавливаем максимальную скорость, коэффициент ускорения,
// начальную скорость и целевую позицию
myStepper.setMaxSpeed(1500);
myStepper.setAcceleration(500);
myStepper.setSpeed(1000);
myStepper.moveTo(15000);
}
void loop() {
// Изменение направления вращения, когда двигатель достигнет заданного положения
if (myStepper.distanceToGo() == 0)
{
myStepper.moveTo(-myStepper.currentPosition());
}
// Передвинуть на 1 шаг
myStepper.run();
}
/*
void setup() {
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
int lastState = HIGH;
void loop() {
int value = digitalRead((BUTTON_PIN));
if (lastState != value) {
lastState = value;
if (value == HIGH) {
Serial.println(" released");
}
if (value == LOW) {
Serial.println(" pressed");
}
}
}*/