testando

Dependencies:   mbed TextLCD2

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;