#include <EncButton.h>
// Button b(3);
const int rightButtonPinX = 11;
const int leftButtonPinX = 12;
const int dirPinX = 10;
const int stepPinX = 9;
const int ponPinX = A0;
int ponValueX1 = 0;
int ponValueX2 = 0;
Button leftButtonX(leftButtonPinX);
Button rightButtonX(rightButtonPinX);
void setup() {
Serial.begin(9600);
pinMode(ponPinX, A0);
pinMode(dirPinX, OUTPUT);
pinMode(stepPinX, OUTPUT);
}
void loop() {
ponValueX1 = map(analogRead(ponPinX), 0, 1023, 100, 1000); //считывание инпутов
leftButtonX.tick();
rightButtonX.tick();
if (leftButtonX.press()) {
digitalWrite(dirPinX, HIGH);
tone(stepPinX, ponValueX1);
}
if (leftButtonX.release()) noTone(stepPinX);
if (leftButtonX.holding()) { // при удерживании кнопки
ponValueX2 = map(analogRead(ponPinX), 0, 1023, 100, 1000); // чекается крутят ли потенциометр
if (ponValueX1 != ponValueX2) tone(stepPinX, ponValueX2); // и если да то скорость меняется
}
}