Projeto Mecatrônico
/
ProjetoMecatronico
testando
Diff: main_PM.cpp
- Revision:
- 61:be02d7d4e208
- Parent:
- 60:e2c632e8dee1
- Child:
- 63:32ba7c4becfc
--- a/main_PM.cpp Mon Jun 01 17:14:49 2020 +0000 +++ b/main_PM.cpp Mon Jun 01 18:29:19 2020 +0000 @@ -20,7 +20,6 @@ int est_y = 0; //variável que indicará o estado do eixo y, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso int est_z = 0; //variável que indicará o estado do eixo z, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso - //pinos usados pelos botoes de fim de curso DigitalIn fdc_x(PC_10); DigitalIn fdc_y(PC_11); @@ -142,9 +141,12 @@ int main() { interrupcao.fall(&emergencia); int volume; + int volume_solta; + int diametro_solta; + int diametro; int comprimento_quad; bool continuar; - int multiplicador; + int multiplicador = 10; TextLCD lcd(D4, D5, D6, D7, D8, D9); lcd.printf("Bem-vindo ao Pipemax"); lcd.locate(0,1); @@ -175,10 +177,10 @@ if (y_mais == 0 && est_y == 1){for(int i = 0; i < 4; i++){eixoy = parado[i];wait(t_motor);coord_y += 0;lcd.cls();lcd.printf("Limite de y atingido");}} if (z_mais == 0 && est_z == 1){for(int i = 0; i < 4; i++){eixoz = parado[i];wait(t_motor);coord_z += 0;lcd.cls();lcd.printf("Limite de z atingido");}} - while(x_menos == 0){mov_x_menos(); - lcd.cls(); lcd.printf("X: %4.1f", coord_x); - lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y); - lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);} +// while(x_menos == 0){mov_x_menos(); +// lcd.cls(); lcd.printf("X: %4.1f", coord_x); +// lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y); +// lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);} while(y_menos == 0){mov_y_menos(); lcd.cls(); lcd.printf("X: %4.1f", coord_x); @@ -190,10 +192,10 @@ lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y); lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);} - while(x_mais == 0){mov_x_mais(); - lcd.cls(); lcd.printf("X: %4.1f", coord_x); - lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y); - lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);} +// while(x_mais == 0){mov_x_mais(); +// lcd.cls(); lcd.printf("X: %4.1f", coord_x); +// lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y); +// lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);} while(y_mais == 0){mov_y_mais(); lcd.cls(); lcd.printf("X: %4.1f", coord_x); @@ -362,25 +364,25 @@ while(continuar){ printf("\n%c",pega_tecla()); tecla = pega_tecla(); + lcd.locate(6,1); wait(1); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - lcd.locate(6,1); - volume = multiplicador*volume + (int)tecla; - printf("\nVolume: %d", volume); + volume = multiplicador*volume + ((int)tecla-48); + lcd.printf("%c", tecla); } else if(tecla == 'A'){ lcd.locate(0,2); - lcd.printf("Volume: %d", volume); + printf("Volume inputado!"); continuar = 0; wait(1); } -//############ Faz sentido apertar B e voltar para essas duas telas, ne?################# else if(tecla=='B'){ funcao_pega1(); wait(1); funcao_pega2(); status_tela = "novo"; - continuar = 0;} + continuar = 0; + } } } else if(tecla == '3' && status_tela == "novo"){ @@ -408,24 +410,22 @@ tipo_pega = 1; tecla = pega_tecla(); wait(1); + status_tela ="forma_quad"; continuar = 1; - multiplicador = 10; comprimento_quad = 0; while(continuar){ printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(1); - status_tela ="forma_quad"; + lcd.locate(0,2); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - lcd.locate(0,2); comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48); - printf("\nComprimento: %d", comprimento_quad); + lcd.printf("%c",tecla); } else if(tecla == 'A'){ - lcd.locate(0,2); - lcd.printf("Comprimento: %d", comprimento_quad); continuar = 0; - wait(1); + printf("Comprimento inputado!"); + printf("\nComprimento: %d", comprimento_quad); } else if(tecla=='B'){ funcao_pega_forma(); @@ -436,7 +436,30 @@ else if(tecla == '2' && status_tela == "forma"){ funcao_pega_forma_red(); tipo_pega = 2; - status_tela = "forma_red";} + tecla = pega_tecla(); + wait(1); + continuar = 1; + diametro = 0; + status_tela = "forma_red"; + while(continuar){ + tecla = pega_tecla(); + wait(1); + lcd.locate(0,2); + if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ + diametro = multiplicador*diametro + ((int)tecla - 48); + lcd.printf("%c",tecla); + } + else if(tecla == 'A'){ + continuar = 0; + printf("Diametro inputado!"); + printf("Diametro: %d", diametro); + } + else if(tecla=='B'){ + funcao_pega_forma(); + status_tela = "forma"; + continuar = 0;} + } + } else if(tecla == 'B' && status_tela == "forma"){ funcao_pega1(); wait(1); @@ -541,16 +564,78 @@ tecla=pega_tecla(); if(tecla == '1' && status_tela == "solta"){ funcao_solta_dimensao(); + continuar = 1; + diametro_solta = 0; status_tela="solta_dimensao"; - } + lcd.locate(0,2); + while(continuar){ + tecla = pega_tecla(); + wait(1); + if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ + diametro_solta = multiplicador*diametro_solta + ((int)tecla - 48); + lcd.printf("%c",tecla); + } + else if(tecla == 'A'){ + printf("Diametro do solta inputado!"); + printf("Diametro do solta: %d", diametro_solta); + continuar = 0; + } + else if(tecla=='B'){ + funcao_pega_forma(); + status_tela = "solta"; + funcao_solta1(); + wait(3); + funcao_solta2(); + continuar = 0;} + } + } + else if(tecla == '2' && status_tela == "solta"){ funcao_solta_vol(); + volume_solta = 0; + continuar = 1; status_tela="solta_vol"; + lcd.locate(0,2); + while(continuar){ + tecla = pega_tecla(); + wait(1); + if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ + volume_solta = multiplicador*volume_solta + ((int)tecla - 48); + lcd.printf("%c",tecla); + } + else if(tecla == 'A'){ + printf("Volume solta inputado!"); + printf("Volume: %d", volume_solta); + continuar = 0; + } + else if(tecla=='B'){ + funcao_pega_forma(); + status_tela = "solta"; + continuar = 0; + funcao_solta1(); + wait(3); + funcao_solta2(); + } + } } else if(tecla == '3' && status_tela == "solta"){ funcao_solta_pos_x(); status_tela="solta_pos_x"; + continuar = 1; + while(continuar){ + while(x_menos == 0){mov_x_menos(); + lcd.cls(); + lcd.printf("X: %4.1f", coord_x);} + while(x_mais == 0){mov_x_mais(); + lcd.cls(); + lcd.printf("X: %4.1f", coord_x);} + if(tecla=='A'){ + continuar = 0; + printf("Posicao de x salva!"); + printf("Posicao X: %4.1f", coord_x); + } } + } else if(tecla == 'B' && status_tela == "solta"){ funcao_pega1(); if(pos_y_pega !=0){