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
}