codigo fonte

Dependencies:   mbed TextLCD

Revision:
1:7ed1c2479638
Parent:
0:99c31d1bf4d3
Child:
2:706603d65abc
--- a/main.cpp	Fri Jun 04 18:40:23 2021 +0000
+++ b/main.cpp	Fri Jun 04 18:49:53 2021 +0000
@@ -41,10 +41,10 @@
 int total_pega = 6; // quantidade de mL na posição de pega disponível
 int quant_desejada = 3; // quantidade de mL na posição de solta 1
 //int npos_solta = [1,2,3,4];
-//int pos_solta_total = 4;
-//float posZ_atual = 100;
-//float posX_atual = 10;
-//float posY_atual = 20;
+int pos_solta_total = 4;
+float posZ_atual = 100;
+float posX_atual = 10;
+float posY_atual = 20;
 float posX0_desejada = 0;
 float posY0_desejada = 5;
 float posZ0_desejada = 10;
@@ -52,6 +52,14 @@
 float posY_desejada = 20;
 float posZ_desejada = 90;
 
+float deslocamento_X = 0; //Define o deslocamento linear total
+float deslocamento_Y = 0; //Define o deslocamento linear total
+float deslocamento_Z = 0; //Define o deslocamento linear total
+
+float deslocamento_max_X = 0; //Define o deslocamento linear total
+float deslocamento_max_Y = 0; //Define o deslocamento linear total
+float deslocamento_max_Z = 0; //Define o deslocamento linear total
+
 float velocidade = 0.003; //Armazena a velocidade dos motores
 
 int atual_pega = total_pega; // "total_pega" é a quantidade inserida pelo usuário na posição de pega
@@ -75,14 +83,6 @@
 float passo_motor = 5.625/32; //Declara o passo angular do motor
 float tempo = 1.5; // Define o tempo que a pipeta fica acionada
 
-float deslocamento_X = 0; //Define o deslocamento linear total
-float deslocamento_Y = 0; //Define o deslocamento linear total
-float deslocamento_Z = 0; //Define o deslocamento linear total
-
-float deslocamento_max_X = 0; //Define o deslocamento linear total
-float deslocamento_max_Y = 0; //Define o deslocamento linear total
-float deslocamento_max_Z = 0; //Define o deslocamento linear total
-
 int pulsos_Z = 0; //Contagem dos pulsos para o motor_Z
 int pulsos_X = 0; //Contagem dos pulsos para o motor_X
 int pulsos_Y = 0; //Contagem dos pulsos para o motor_Y
@@ -527,7 +527,7 @@
     //Ele ta pulando o while do Z e X e indo direto pro Z -- ele não tá nem entrando nesse while
     sinal = 0; // saída nível lógico "baixo"
     
-    posZ_atual = deslocamento_Z // posZ_atual = a posição de deslocamento neste momento
+    posZ_atual = deslocamento_Z; // posZ_atual = a posição de deslocamento neste momento
     if(posZ_atual > posZ_origem) {
         while (deslocamento_Z > posZ_origem) {
             //While para verificar que o motor funcione até a a posição desejada ser alcançada
@@ -536,7 +536,7 @@
                 pulsos_Z -= 1;
                 wait(velocidade);
                 rotina_deslocamento_eixo();
-                pc.printf("Pos atualZ AH: %d\r\n", deslocamento_Z);
+                pc.printf("Pos atualZ AH: %f\r\n", deslocamento_Z);
             }
         }
     }
@@ -550,10 +550,10 @@
 //                wait(velocidade);
 //                rotina_deslocamento_eixo();
 //                pc.printf("Pos atualZ H: %d\r\n", deslocamento_Z);
-            }
+//            }
         }
     }
-    posX_atual = deslocamento_X
+    posX_atual = deslocamento_X;
     if(posX_atual < posX0_desejada) {
         while (deslocamento_X > posX0_desejada) {
             //While para verificar que o motor funcione até a a posição desejada ser alcançada
@@ -577,7 +577,7 @@
             }
         }
     }
-    posY_atual = deslocamento_Y
+    posY_atual = deslocamento_Y;
     if(posY_atual < posY0_desejada) {
         while (posY_atual > posY0_desejada) {
             for(i = 3; i > -1; i--) {
@@ -600,7 +600,7 @@
         }
     }
 
-    posZ_atual = deslocamento_Z
+    posZ_atual = deslocamento_Z;
     if(posZ_atual < posZ0_desejada) {
         while (deslocamento_Z > posZ0_desejada) {
             //While para verificar que o motor funcione até a a posição desejada ser alcançada