
codigo fonte
Diff: main.cpp
- 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