Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
movimentacao.cpp
- Committer:
- terhorst
- Date:
- 2020-06-22
- Revision:
- 1:2e9e37f35e3f
- Parent:
- 0:92a99259dafa
- Child:
- 2:281470e6654a
File content as of revision 1:2e9e37f35e3f:
# include "mbed.h" int PosicaoRecipiente[3]; PosicaoRecipiente[0] = 40; PosicaoRecipiente[1] = 35; PosicaoRecipiente[2] = 10; void ativa_pipeta() { } void recebe_comandos(){ } void avaliar_distancia(){ //Função para detectar e movimentar a pipeta até o local da pega int x = 0; int y = 0; int z = 0; int x_2 = 0; int y_2 = 0; int z_2 = 0; while (x == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá if (Posicao_inicial[0] < PosicaoFrasco[0]) { Fase_M1_A = 1; wait(tempo); Fase_M1_A = 0; Fase_M1_B = 1; wait(tempo); Fase_M1_B = 0; Fase_M1_C = 1; wait(tempo); Fase_M1_C = 0; Fase_M1_D = 1; wait(tempo); Fase_M1_D = 0; Posicao_inicial[0] = Posicao_inicial[0] + 5; } if (Posicao_inicial[0] > PosicaoFrasco[0]) { Fase_M1_D = 1; wait(tempo); Fase_M1_D = 0; Fase_M1_C = 1; wait(tempo); Fase_M1_C = 0; Fase_M1_B = 1; wait(tempo); Fase_M1_B = 0; Fase_M1_A = 1; wait(tempo); Fase_M1_A = 0; Posicao_inicial[0] = Posicao_inicial[0] - 5; } if (Posicao_inicial[0] == PosicaoFrasco[0]) { x = 1; } } while (y == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá if (Posicao_inicial[1] < PosicaoFrasco[1]) { Fase_M2_A = 1; wait(tempo); Fase_M2_A = 0; Fase_M2_B = 1; wait(tempo); Fase_M2_B = 0; Fase_M2_C = 1; wait(tempo); Fase_M2_C = 0; Fase_M2_D = 1; wait(tempo); Fase_M2_D = 0; Posicao_inicial[1] = Posicao_inicial[1] + 5; } if (Posicao_inicial[1] > PosicaoFrasco[1]) { Fase_M2_D = 1; wait(tempo); Fase_M2_D = 0; Fase_M2_C = 1; wait(tempo); Fase_M2_C = 0; Fase_M2_B = 1; wait(tempo); Fase_M2_B = 0; Fase_M2_A = 1; wait(tempo); Fase_M2_A = 0; Posicao_inicial[1] = Posicao_inicial[1] - 5; } if (Posicao_inicial[1] == PosicaoFrasco[1]) { y = 1; } } while (z == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá if (Posicao_inicial[2] < PosicaoFrasco[2]) { Fase_M3_A = 1; wait(tempo); Fase_M3_A = 0; Fase_M3_B = 1; wait(tempo); Fase_M3_B = 0; Fase_M3_C = 1; wait(tempo); Fase_M3_C = 0; Fase_M3_D = 1; wait(tempo); Fase_M3_D = 0; Posicao_inicial[2] = Posicao_inicial[2] + 5; } if (Posicao_inicial[2] > PosicaoFrasco[2]) { Fase_M3_D = 1; wait(tempo); Fase_M3_D = 0; Fase_M3_C = 1; wait(tempo); Fase_M3_C = 0; Fase_M3_B = 1; wait(tempo); Fase_M3_B = 0; Fase_M3_A = 1; wait(tempo); Fase_M3_A = 0; Posicao_inicial[2] = Posicao_inicial[2] - 5; } if (Posicao_inicial[2] == PosicaoFrasco[2]) { z = 1; } } ativa_pipeta(); while (Posicao_inicial[2] != 0) { //Depois de sugar o líquido a pipeta é levada para cima para evitar possíveis colisões Fase_M3_D = 1; wait(tempo); Fase_M3_D = 0; Fase_M3_C = 1; wait(tempo); Fase_M3_C = 0; Fase_M3_B = 1; wait(tempo); Fase_M3_B = 0; Fase_M3_A = 1; wait(tempo); Fase_M3_A = 0; Posicao_inicial[2] = Posicao_inicial[2] - 5; } while (x_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá if (Posicao_inicial[0] < PosicaoRecipiente[0]) { Fase_M1_A = 1; wait(tempo); Fase_M1_A = 0; Fase_M1_B = 1; wait(tempo); Fase_M1_B = 0; Fase_M1_C = 1; wait(tempo); Fase_M1_C = 0; Fase_M1_D = 1; wait(tempo); Fase_M1_D = 0; Posicao_inicial[0] = Posicao_inicial[0] + 5; } if (Posicao_inicial[0] > PosicaoRecipiente[0]) { Fase_M1_D = 1; wait(tempo); Fase_M1_D = 0; Fase_M1_C = 1; wait(tempo); Fase_M1_C = 0; Fase_M1_B = 1; wait(tempo); Fase_M1_B = 0; Fase_M1_A = 1; wait(tempo); Fase_M1_A = 0; Posicao_inicial[0] = Posicao_inicial[0] - 5; } if (Posicao_inicial[0] == PosicaoRecipiente[0]) { x_2 = 1; } } while (y_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá if (Posicao_inicial[1] < PosicaoRecipiente[1]) { Fase_M2_A = 1; wait(tempo); Fase_M2_A = 0; Fase_M2_B = 1; wait(tempo); Fase_M2_B = 0; Fase_M2_C = 1; wait(tempo); Fase_M2_C = 0; Fase_M2_D = 1; wait(tempo); Fase_M2_D = 0; Posicao_inicial[1] = Posicao_inicial[1] + 5; } if (Posicao_inicial[1] > PosicaoRecipiente[1]) { Fase_M2_D = 1; wait(tempo); Fase_M2_D = 0; Fase_M2_C = 1; wait(tempo); Fase_M2_C = 0; Fase_M2_B = 1; wait(tempo); Fase_M2_B = 0; Fase_M2_A = 1; wait(tempo); Fase_M2_A = 0; Posicao_inicial[1] = Posicao_inicial[1] - 5; } if (Posicao_inicial[1] == PosicaoRecipiente[1]) { y_2 = 1; } } while (z_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá if (Posicao_inicial[2] < PosicaoRecipiente[2]) { Fase_M3_A = 1; wait(tempo); Fase_M3_A = 0; Fase_M3_B = 1; wait(tempo); Fase_M3_B = 0; Fase_M3_C = 1; wait(tempo); Fase_M3_C = 0; Fase_M3_D = 1; wait(tempo); Fase_M3_D = 0; Posicao_inicial[2] = Posicao_inicial[2] + 5; } if (Posicao_inicial[2] > PosicaoRecipiente[2]) { Fase_M3_D = 1; wait(tempo); Fase_M3_D = 0; Fase_M3_C = 1; wait(tempo); Fase_M3_C = 0; Fase_M3_B = 1; wait(tempo); Fase_M3_B = 0; Fase_M3_A = 1; wait(tempo); Fase_M3_A = 0; Posicao_inicial[2] = Posicao_inicial[2] - 5; } if (Posicao_inicial[2] == PosicaoRecipiente[2]) { z_2 = 1; } } } void repetir(){ } int main() { zeramento(); Joystick(); int verdade = 1; while (verdade == 1) { repetir(); } }