#include // ustawienia silnika #define STEPS_PER_REV 400 #define DIR_PIN 2 #define STEP_PIN 3 // deklaracja obiektu silnika AccelStepper stepper(AccelStepper::DRIVER, STEP_PIN, DIR_PIN); // deklaracja zmiennej licznikowej kroków long stepCount = 0; void setup() { // ustawienie prędkości silnika stepper.setMaxSpeed(1000); // ustawienie kierunku obrotów silnika stepper.setDirection(1); // inicjalizacja połączenia z monitorem szeregowym Serial.begin(9600); } void loop() { // wykonanie jednego kroku silnika stepper.runSpeed(); // inkrementacja zmiennej licznikowej kroków stepCount++; // odczytanie pozycji silnika (liczba kroków) long currentPosition = stepCount; // obliczenie pozycji silnika w stopniach float stepAngle = 360.0 / STEPS_PER_REV; float currentPositionDegrees = currentPosition * stepAngle; // wyświetlenie pozycji silnika w stopniach w monitorze szeregowym Serial.print("Pozycja silnika: "); Serial.print(currentPositionDegrees); Serial.println(" stopni"); }