// Определяет номера контактов
const int stepPin = 3;
const int dirPin = 4;
int customDelay,customDelayMapped; // Определяет переменные
void setup() {
// Устанавливает два контакта в качестве выходов
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
digitalWrite(dirPin,HIGH); //Позволяет двигателю двигаться в определенном направлении
}
void loop() {
customDelayMapped = speedUp(); // Получает пользовательские значения задержки из пользовательской функции ускорения
// Производит импульсы с пользовательской задержкой, в зависимости от потенциометра, от которого зависит скорость вращения двигателя
digitalWrite(stepPin, HIGH);
delayMicroseconds(customDelayMapped);
digitalWrite(stepPin, LOW);
delayMicroseconds(customDelayMapped);
}
// Функция считывания показаний потенциометра
int speedUp() {
int customDelay = analogRead(A0); // Считывает показания потенциометра
int newCustom = map(customDelay, 0, 1023, 300,4000); // Преобразует считываемые потенциометром значения от 0 до 1023 в требуемые значения задержки (от 300 до 4000).
return newCustom;
}