Projeto Mecatrônico
/
ProjetoMecatronico
testando
Diff: main_PM.cpp
- Revision:
- 94:0b6ac1cdab84
- Parent:
- 93:6c26c27bdd95
- Child:
- 95:a34942c4eeaf
- Child:
- 96:1d22b8d61e30
--- a/main_PM.cpp Tue Jun 09 14:55:32 2020 +0000 +++ b/main_PM.cpp Tue Jun 09 23:23:27 2020 +0000 @@ -7,7 +7,7 @@ #include <string> #define PI 3.14159265 -//local para a declaracao de varioveis +//local para a declaracao de variaveis float t_motor = 0.002; //delay entre o acionamento de uma bobina do motor e a outra float t_teclado = 0.15; //delay entre a leitura de um botão do teclado, necessário para que um click nao gere mais de uma saída int hor[] = {12,6,3,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido horário enviando a sequência de 0's e 1's às bobinas @@ -163,6 +163,11 @@ } } wait(2); + tecla = pega_tecla(); + if(tecla!='k'){ + printf("entrou no if"); + cond = 0; + } telas2(); if(argumento == 3){ if(valort21!=0){ @@ -300,15 +305,14 @@ //Loop principal while(1) { - printf("\n%s",est_ihm); + printf("\n ihm: %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 //Teste para analisar se os valores estão corretos através do monitor serial - printf("\n%s",status_tela); + printf("\n tela: %s",status_tela); printf("\n%c",tecla); - //O zeramento só é feito se confirmado apertando a tecla 'A' if(tecla == 'A' && status_tela == "zeramento"){ zeramento(); @@ -328,8 +332,7 @@ 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); - } + 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; @@ -489,17 +492,17 @@ status_tela="salvo_conf_vol_pega";} else if(tecla =='4' && status_tela =="salvo_confirmacao"){ funcao_salvo_agree_solta_vol(); //volumes configurados por cada pipeta. (programa.vol_solta_pipeta) - lcd.locate(1,0);lcd.printf("%4.1f",volume_solta_1[programa]); - lcd.locate(8,0);lcd.printf("%4.1f",volume_solta_2[programa]); - lcd.locate(16,0);lcd.printf("%4.1f",volume_solta_3[programa]); + lcd.locate(1,0);lcd.printf("%d",volume_solta_1[programa]); + lcd.locate(8,0);lcd.printf("%d",volume_solta_2[programa]); + lcd.locate(16,0);lcd.printf("%d",volume_solta_3[programa]); - lcd.locate(1,1);lcd.printf("%4.1f",volume_solta_4[programa]); - lcd.locate(8,1);lcd.printf("%4.1f",volume_solta_5[programa]); - lcd.locate(16,1);lcd.printf("%4.1f",volume_solta_6[programa]); + lcd.locate(1,1);lcd.printf("%d",volume_solta_4[programa]); + lcd.locate(8,1);lcd.printf("%d",volume_solta_5[programa]); + lcd.locate(16,1);lcd.printf("%d",volume_solta_6[programa]); - lcd.locate(1,2);lcd.printf("%4.1f",volume_solta_7[programa]); - lcd.locate(8,2);lcd.printf("%4.1f",volume_solta_8[programa]); - lcd.locate(16,2);lcd.printf("%4.1f",volume_solta_9[programa]); + lcd.locate(1,2);lcd.printf("%d",volume_solta_7[programa]); + lcd.locate(8,2);lcd.printf("%d",volume_solta_8[programa]); + lcd.locate(16,2);lcd.printf("%d",volume_solta_9[programa]); status_tela="salvo_conf_vol_solta";} else if(tecla =='B' && status_tela =="salvo_confirmacao"){ funcao_salvo1(); @@ -641,40 +644,44 @@ funcao_salvo_vol_solta_modifica(); wait(5); funcao_salvo_agree_solta_vol(); - lcd.locate(1,0);lcd.printf("%d",volume_solta_1[programa]); - lcd.locate(8,0);lcd.printf("%d",volume_solta_2[programa]); - lcd.locate(16,0);lcd.printf("%d",volume_solta_3[programa]); + lcd.locate(2,0);lcd.printf("%d",volume_solta_1[programa]); + lcd.locate(9,0);lcd.printf("%d",volume_solta_2[programa]); + lcd.locate(17,0);lcd.printf("%d",volume_solta_3[programa]); - lcd.locate(1,1);lcd.printf("%d",volume_solta_4[programa]); - lcd.locate(8,1);lcd.printf("%d",volume_solta_5[programa]); - lcd.locate(16,1);lcd.printf("%d",volume_solta_6[programa]); + lcd.locate(2,1);lcd.printf("%d",volume_solta_4[programa]); + lcd.locate(9,1);lcd.printf("%d",volume_solta_5[programa]); + lcd.locate(17,1);lcd.printf("%d",volume_solta_6[programa]); - lcd.locate(1,2);lcd.printf("%d",volume_solta_7[programa]); - lcd.locate(8,2);lcd.printf("%d",volume_solta_8[programa]); - lcd.locate(16,2);lcd.printf("%d",volume_solta_9[programa]); + lcd.locate(2,2);lcd.printf("%d",volume_solta_7[programa]); + lcd.locate(9,2);lcd.printf("%d",volume_solta_8[programa]); + lcd.locate(17,2);lcd.printf("%d",volume_solta_9[programa]); bool cleber = 1; while(cleber){ tecla = pega_tecla(); + wait(t_teclado); if(tecla != 'A'){ if(tecla == '1' && status_tela=="salvo_conf_vol_solta"){ printf("entrou if 1 salvo_conf"); volume = 0; continuar = 1; - lcd.locate(3,0); - lcd.printf("\r"); - lcd.locate(3,0); + lcd.locate(2,0); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - if(volume<100) + if(volume*10 < 100) { volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro lcd.printf("%c", tecla); } + else{ + volume = 0; + lcd.locate(2,0);} } else if(tecla == 'A'){ + tecla = 'k'; + continuar = 0; volume_solta_1[programa]=volume; } } @@ -683,16 +690,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(8,0); + lcd.locate(9,0); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(9,0);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_2[programa]=volume; } } @@ -701,16 +714,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(13,0); + lcd.locate(17,0); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(17,0);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_3[programa]=volume; } } @@ -719,16 +738,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(3,1); + lcd.locate(2,1); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(2,1);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_4[programa]=volume; } } @@ -737,16 +762,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(8,1); + lcd.locate(9,1); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(9,1);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_5[programa]=volume; } } @@ -755,15 +786,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(13,1); + lcd.locate(17,1); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla);} + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(17,1);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_6[programa]=volume; } } @@ -772,16 +810,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(3,2); + lcd.locate(2,2); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(2,2);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_7[programa]=volume; } } @@ -790,16 +834,22 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(8,2); + lcd.locate(9,2); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(9,2);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_8[programa]=volume; } } @@ -808,22 +858,35 @@ volume = 0; continuar = 1; multiplicador = 10; - lcd.locate(13,2); + lcd.locate(17,2); while(continuar){ // Pega o valor imputado pelo usuário printf("\n%c",pega_tecla()); tecla = pega_tecla(); wait(t_teclado); if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){ - volume = multiplicador*volume + ((int)tecla-48); - lcd.printf("%c", tecla); - } + if(volume*10 < 100){ + volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro + lcd.printf("%c", tecla); + } + else{ + volume = 0; + lcd.locate(17,2);} + } else if(tecla == 'A'){ + continuar = 0; volume_solta_9[programa]=volume; } } } + else if(tecla == 'B' && status_tela == "salvo_conf_vol_solta"){ + status_tela = "salvo_confirmacao"; + continuar = 1; + 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); + cleber = 0;} }//fim do if (tecla !=A) - else if(tecla == 'A'){cleber = 0;} + else if(tecla == 'A'){ + printf("\nfalou clebao"); + cleber = 0;} }//fim do while(cleber) confirmacao_vol_solta[programa]=1;}//fim do else if(tecla =='B' && status_tela =="salvo_conf_vol_solta") tecla = pega_tecla(); @@ -919,6 +982,7 @@ //Ações para a tela forma (para definir o formato do recipiente de pega) if(tecla == '1' && status_tela == "forma"){ + wait(0.5); funcao_pega_forma_quad(); tipo_pega[programa] =1; tecla = pega_tecla(); @@ -1323,7 +1387,7 @@ 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"){ - printf("Entrou em execução"); + printf("Entrou em execucao"); int cont_pipeta = 0; float altura;