#include <AccelStepper.h>
#include <Button.h>
Button button1(2);
Button button2(3); // Druhé pripojené tlačidlo
const int stepPin = 9;
const int dirPin = 8;
boolean aktivovaneTlacidlo = false;
boolean zmenaSmeru = false; // Premenná na uchovanie stavu zmeny smeru
AccelStepper stepper(1, stepPin, dirPin);
void setup() {
stepper.setMaxSpeed(1000);
stepper.setAcceleration(500);
Serial.begin(9600);
}
void loop() {
stepper.move(200 * 360);
if (button1.pressed()) {
aktivovaneTlacidlo = !aktivovaneTlacidlo;
}
// Kontrola, či bolo stlačené druhé tlačidlo pre zmenu smeru
if (button2.pressed()) {
zmenaSmeru = true;
}
if (zmenaSmeru) {
// Ak bola detekovaná zmena smeru, zmeníme smer motora
stepper.setSpeed(-stepper.speed()); // Invertujeme smer rýchlosti motora
zmenaSmeru = false; // Nastavíme späť na false, aby sme to neustále nedetekovali
}
if (aktivovaneTlacidlo == true) {
stepper.runSpeed(); // Použijeme runSpeed() namiesto run(), aby sme mohli meniť smer bez zastavenia motora
} else {
stepper.stop();
}
delay(200);
Serial.print("AktivovaneTlacidlo ");
Serial.println(aktivovaneTlacidlo);
}