Projeto Mecatrônico
/
ProjetoMecatronico
testando
Diff: main_PM.cpp
- Revision:
- 90:388071e54291
- Parent:
- 89:bc51c6bbe2a6
- Child:
- 91:ce9b14cd2137
--- a/main_PM.cpp Mon Jun 08 17:55:53 2020 +0000 +++ b/main_PM.cpp Mon Jun 08 18:56:49 2020 +0000 @@ -22,7 +22,7 @@ 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 float altura_solta = 50; - +string est_ihm = "novo"; //pinos usados pelos botoes de fim de curso InterruptIn fdc_x(PC_10); InterruptIn fdc_y(PC_11); @@ -300,6 +300,7 @@ //Loop principal while(1) { + printf("\n%s",est_ihm); rele2 = 1; tecla = pega_tecla();//Variável que guarda o valor da tecla apertada, é chamada diversas vezes ao longo do código //para atualizar o valor mais rapidamente e sempre que necessário @@ -324,10 +325,12 @@ //Ações para a tela inicial if(tecla == '1' && status_tela == "inicio"){ + est_ihm = "pega"; continuar = 1; //Condição de funcionamento do loop abaixo status_tela = "novo"; troca_tela(continuar, funcao_pega1, funcao_pega2, medida_lado_pega[programa], volume_pega[programa], pos_y_pega[programa],0,3); } + else if(tecla == '2' && status_tela == "inicio"){ //Ações para a tela inicial quando o usuário seleciona programas salvos continuar = 1; while(continuar){ @@ -347,8 +350,9 @@ continuar = 0; } } - status_tela = "salvo";} - + status_tela = "salvo"; + est_ihm = "salvo";} + if(est_ihm == "salvo"){ //Ações para a tela de salvamento //A variável programa remete a que programa salvo o usuário deseja acessar tecla = pega_tecla(); @@ -802,11 +806,14 @@ troca_tela(continuar, funcao_salvo_agree1, funcao_salvo_agree2, confirmacao_pos_pega[programa], confirmacao_pos_solta[programa],confirmacao_vol_pega[programa],confirmacao_vol_solta[programa],4);} tecla = pega_tecla(); - + if(confirmacao_vol_solta[programa]==1 && confirmacao_vol_pega[programa]==1 && confirmacao_pos_pega[programa]==1 && confirmacao_pos_solta[programa]==1){ funcao_acomp(); - status_tela="acompanhamento"; - } + status_tela="acompanhamento"; + est_ihm = "exec";} + } //fim if(est_ihm) + + if(est_ihm == "pega"){ //Ações para a tela novo if(tecla =='1' && status_tela =="novo"){ funcao_pega_forma(); @@ -1037,9 +1044,12 @@ if(pos_x_pega[programa]!=0 && pos_y_pega[programa]!=0 && medida_lado_pega[programa]!=0 && volume_pega[programa] !=0 && tipo_pega[programa]!=0 && status_tela == "novo"){ status_tela="solta"; + est_ihm = "solta"; continuar = 1; troca_tela(continuar, funcao_solta1, funcao_solta2, dimensao_solta[programa],volume_solta_9[programa], pos_y_solta[programa],0,3);} - + }//fim if(est_ihm == "pega") + + if(est_ihm == "solta"){ //Ações para a tela "solta", para definir informações sobre os solta's if(tecla == '1' && status_tela == "solta"){ funcao_solta_dimensao(); @@ -1107,6 +1117,7 @@ lcd.cls(); lcd.printf("X: %4.1f", coord_x);} if(tecla=='A'){ + pos_x_solta[programa] = coord_x; continuar = 0; printf("Posicao de x salva!"); printf("Posicao X: %4.1f", coord_x); @@ -1147,8 +1158,23 @@ } if(tecla=='A' && status_tela=="solta_pos_x"){ funcao_solta_pos_y(); - pos_x_solta[programa] = 10; status_tela="solta_pos_y"; + continuar = 1; + wait(1); + while(continuar){ + tecla = pega_tecla(); + if(y_menos == 0){mov_y_menos(); + lcd.cls(); + lcd.printf("Y: %4.1f", coord_y);} + else if(y_mais == 0){mov_y_mais(); + lcd.cls(); + lcd.printf("Y: %4.1f", coord_y);} + if(tecla=='A'){ + pos_y_solta[programa] = coord_y; + printf("Posicao de y salva!"); + printf("Posicao Y: %4.1f", coord_y); + continuar = 0;} + } } else if(tecla=='B' && status_tela=="solta_pos_x"){ status_tela="solta"; @@ -1234,13 +1260,12 @@ //Ações para a tela acompanhamento (execução do programa) //MAtriz 3x3 (6x6cm) int nome; - pos_y_solta[programa] = 2; if(pos_x_solta[programa]!=0 && pos_y_solta[programa]!=0 && volume_solta_9[programa]!=0 && dimensao_solta[programa]!=0 && status_tela == "solta"){ printf("rotina exec"); funcao_nome_prog(); + wait(1); status_tela="nome_programa";} - if(tecla=='B' && status_tela=="nome_programa"){ - pos_y_solta[programa] = 10; + if(tecla=='B' && status_tela=="nome_programa"){ status_tela="solta"; continuar = 1; troca_tela(continuar, funcao_solta1, funcao_solta2, dimensao_solta[programa],volume_solta_9[programa], pos_y_solta[programa],0,3); @@ -1263,6 +1288,7 @@ printf("nome inserido"); printf("nome: %d", nome); funcao_acomp(); + est_ihm = "exec"; status_tela="acompanhamento"; continuar = 0; nome_programa[programa]=nome; @@ -1272,20 +1298,25 @@ confirmacao_pos_solta[programa]=0; } }} - if(confirmacao_pos_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && confirmacao_vol_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && status_tela == "acompanhamento"){ + }//fim if(est_ihm == "solta") + + if(est_ihm == "exec"){ + if(confirmacao_pos_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && confirmacao_vol_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && status_tela == "acompanhamento"){ int cont_pipeta = 0; - float altura; + float altura; - float pos1[2] = {pos_x_solta[programa], pos_y_solta[programa]} ; - float pos2[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]} ; - float pos3[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]} ; - float pos4[2] = {pos_x_solta[programa], pos_y_solta[programa]+2} ; - float pos5[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+2} ; - float pos6[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+2} ; - float pos7[2] = {pos_x_solta[programa], pos_y_solta[programa]+4} ; - float pos8[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+4} ; - float pos9[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+4}; - + float pos1[2] = {pos_x_solta[programa], pos_y_solta[programa]} ; + float pos2[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]} ; + float pos3[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]} ; + float pos4[2] = {pos_x_solta[programa], pos_y_solta[programa]+2} ; + float pos5[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+2} ; + float pos6[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+2} ; + float pos7[2] = {pos_x_solta[programa], pos_y_solta[programa]+4} ; + float pos8[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+4} ; + float pos9[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+4}; + + + //Calcular a altura do pega com base no tipo do pega for(int i; i<volume_solta_1[programa];i++){ altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta); @@ -1461,5 +1492,6 @@ }} }//fim do else if do meio do codigo + }//fim do if(est_ihm == "exec") }//fim do while(1) //fim do int main \ No newline at end of file