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.
Revision 94:0b6ac1cdab84, committed 2020-06-09
- Comitter:
- enricoan
- Date:
- Tue Jun 09 23:23:27 2020 +0000
- Parent:
- 93:6c26c27bdd95
- Child:
- 95:a34942c4eeaf
- Child:
- 96:1d22b8d61e30
- Commit message:
- reconfiguracao pinos solta salvos
Changed in this revision
main_PM.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 6c26c27bdd95 -r 0b6ac1cdab84 main_PM.cpp --- 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;