Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Stepper.h>
- // Å tevilo korakov za 360 stopinjski obrat
- #define KOB 200
- //priklop motorja 1
- #define MX1 32
- #define MX2 33
- #define MX3 34
- #define MX4 35
- //priklop motorja 2
- #define MY1 40
- #define MY2 41
- #define MY3 42
- #define MY4 43
- //priklop motorja 3
- #define MZ1 36
- #define MZ2 37
- #define MZ3 38
- #define MZ4 39
- Stepper motorX(KOB, MX1, MX2, MX3, MX4);
- Stepper motorY(KOB, MY1, MY2, MY3, MY4);
- Stepper motorZ(KOB, MZ1, MZ2, MZ3, MZ4);
- //trenutna pozicija po korakih
- int kX = 0;
- int kY = 0;
- int kZ = 0;
- String koX;
- String koY;
- String koZ;
- void setup() {
- Serial.begin(9600);
- //dolocanje hitrosti motorjev
- motorX.setSpeed(30);
- motorY.setSpeed(30);
- motorZ.setSpeed(30);
- }
- void loop() {
- if (Serial.available())
- {
- String data = Serial.readStringUntil(';');
- //X,koraki;
- //Y,koraki;
- //Z,koraki;
- //REF;
- String cmd = "";
- String koraki = "";
- int c = true;
- for (int i = 0; i < 16; i++)
- {
- if (data[i] == ';') return;
- if (c)
- {
- if (data[i] != ',') cmd += data[i];
- else c = false;
- }
- else if (data[i] != ',') koraki += data[i];
- }
- if (cmd == "X")
- {
- motorX.step(koraki.toInt());
- kX += koraki.toInt();
- Serial.println("Ukaz: "+cmd+" Koraki: "+koraki);
- printData();
- }
- else if (cmd == "Y")
- {
- motorY.step(koraki.toInt());
- kY += koraki.toInt();
- Serial.println("Ukaz: "+cmd+" Koraki: "+koraki);
- printData();
- }
- else if (cmd == "Z")
- {
- motorZ.step(koraki.toInt());
- kZ += koraki.toInt();
- Serial.println("Ukaz: "+cmd+" Koraki: "+koraki);
- printData();
- }
- else if (cmd == "REF")
- {
- motorX.step(-kX);
- motorZ.step(-kZ);
- motorY.step(-kY);
- kX = 0;
- kY = 0;
- kZ = 0;
- printData();
- }
- }
- }
- void printData()
- {
- koX = kX;
- koY = kY;
- koZ = kZ;
- Serial.println("X: "+koX+ " Y: "+koY+" Z: "+koZ);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement