Untitled
Guest 1,193 20th Feb, 2023
#include <AccelStepper.h>
// 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");
}
To share this paste please copy this url and send to your friends
RAW Paste Data