2 Motores + Joystick

Dependencies:   X_NUCLEO_IHM01A1 TextLCD

Fork of HelloWorld_IHM01A1_2Motors_mbedOS by ST

Files at this revision

API Documentation at this revision

Comitter:
leogrotti
Date:
Thu May 17 17:22:35 2018 +0000
Parent:
47:b5dc79d3fb35
Child:
49:66637586f163
Child:
50:58a2df31077a
Commit message:
EIXO X E Y INTERPOLADOS

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu May 17 17:18:48 2018 +0000
+++ b/main.cpp	Thu May 17 17:22:35 2018 +0000
@@ -270,22 +270,31 @@
         printf("Y vai andar: %d \r\n", calcdeltaY);
         printf("Z vai andar: %d \r\n", calcdeltaZ);
         
-        if (calcdeltaX > 0) {
+        if (calcdeltaX > 0 and calcdeltaY > 0) {
         motor2->move(StepperMotor::FWD, calcdeltaX);
+        motor1->move(StepperMotor::FWD, calcdeltaY);
         motor2->wait_while_active();
+        motor1->wait_while_active();
         }
-            else {
-            motor2->move(StepperMotor::BWD, -calcdeltaX);
-            motor2->wait_while_active();
-            }
-        if (calcdeltaY > 0) {
-        motor1->move(StepperMotor::FWD, calcdeltaY);
+        if (calcdeltaX > 0 and calcdeltaY < 0) {
+        motor2->move(StepperMotor::FWD, calcdeltaX);
+        motor1->move(StepperMotor::BWD, -calcdeltaY);
+        motor2->wait_while_active();
         motor1->wait_while_active();
         }
-            else {
-            motor1->move(StepperMotor::BWD, -calcdeltaY);
-            motor1->wait_while_active();
-            }
+        if (calcdeltaX < 0 and calcdeltaY > 0) {
+        motor2->move(StepperMotor::BWD, -calcdeltaX);
+        motor1->move(StepperMotor::FWD, calcdeltaY);
+        motor2->wait_while_active();
+        motor1->wait_while_active();
+        }
+        if (calcdeltaX < 0 and calcdeltaY < 0) {
+        motor2->move(StepperMotor::BWD, -calcdeltaX);
+        motor1->move(StepperMotor::BWD, -calcdeltaY);
+        motor2->wait_while_active();
+        motor1->wait_while_active();
+        }
+          
         if (calcdeltaZ > 0) {
         motor3->move(StepperMotor::FWD, calcdeltaZ);
         motor3->wait_while_active();