Kleines Fahrzeug mit 2 Schrittmotoren steuern

Hier der neueste Stand:

//Robo 2 Motoren , getestet:ok 24.2.24
// Robo fährt im Quadrat 0,5mx0,5m endlos

#include <MobaTools.h>
const int i=0;
const int FULLROT1 = 2048;
const int FULLROT2 = 2048;

MoToStepper Step1(FULLROT1); // Motor 1
MoToStepper Step2(FULLROT2); // Motor 2

const byte stPn1[] = { 4, 5, 6, 7 }; // Pins für Motor 1
const byte stPn2[] = { 8, 9, 10, 11 }; // Pins für Motor 2

void setup() {
  Step1.attach(stPn1[0], stPn1[1], stPn1[2], stPn1[3]); // Motor 1 an digitalen Ausgängen anschließen
  Step2.attach(stPn2[0], stPn2[1], stPn2[2], stPn2[3]); // Motor 2 an digitalen Ausgängen anschließen

  Step1.setSpeed(300); // Geschwindigkeit von Motor 1 = 30 U/Min
  Step1.setZero(); // Referenzpunkt für Motor 1 setzen

  Step2.setSpeed(300); // Geschwindigkeit von Motor 2 = 30 U/Min
  Step2.setZero();//Referenzpunkt Motor2
  

}
  

void loop() {
  
  // Motor 1 und 2 bewegt sich vorwärts 
  Step1.doSteps(14500);//ca. 0,5m
  Step2.doSteps(-14500);
  
  while (Step1.moving()); // Warten, bis Motor 1 die Bewegung abgeschlossen hat
  Step1.doSteps(2200); // Motor 1 Kurve links empirisch ermittelt
  Step2.doSteps(2200);// Motor 2 läuft gegenläufig dadurch kurzer Kurvenradius

  while (Step1.moving()); //warten bis 1 die Bewegung abgeschlossen hat
  Step1.stop();//Motor1 anhalten
     
  while (Step2.moving()); // Warten, bis Motor 2 die Bewegung abgeschlossen hat
  Step2.stop(); // Motor 2 anhalten


 }