testando

Dependencies:   mbed TextLCD2

Committer:
Hiroball
Date:
Wed Jun 03 12:59:00 2020 +0000
Revision:
70:85daa4aee916
Parent:
69:8c7e1da9d315
Child:
71:c91c96bbed54
Coloquei alguns comentarios, um loop para as telas (para testar);

Who changed what in which revision?

UserRevisionLine numberNew contents of line
enricoan 29:76d952358896 1 //local para inclusao de bibliotecas
enricoan 10:4f49e9859535 2 #include "mbed.h"
enricoan 10:4f49e9859535 3 #include "TextLCD.h"
amandarm 31:acb062a05984 4 #include "funcoes_ihm.h"
amandarm 38:2a0e12322e72 5 #include "classe.h"
enricoan 33:a513498222c7 6 #include <stdio.h>
enricoan 33:a513498222c7 7 #include <string>
amandarm 35:a8256801e9ab 8
enricoan 29:76d952358896 9 //local para a declaracao de varioveis
enricoan 30:179ceb3e5791 10 float t_motor = 0.002; //delay entre o acionamento de uma bobina do motor e a outra
enricoan 30:179ceb3e5791 11 float t_teclado = 0.01; //delay entre a leitura de um botão do teclado, necessário para que um click nao gere mais de uma saída
enricoan 24:38820e43b9fe 12 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
enricoan 24:38820e43b9fe 13 int antihor[] = {3,6,12,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido anti-horário enviando a sequência de 0's e 1's às bobinas
enricoan 24:38820e43b9fe 14 int parado[] = {0,0,0,0}; //valores enviados às bobinas do motor para deixá-lo parado
enricoan 30:179ceb3e5791 15 char tecla; //variável que guarda a tecla apertada no teclado
enricoan 30:179ceb3e5791 16 float coord_x = 0; //variável que guardará a posição linear do eixo x, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto
enricoan 30:179ceb3e5791 17 float coord_y = 0; //variável que guardará a posição linear do eixo y, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto
enricoan 30:179ceb3e5791 18 float coord_z = 0; //variável que guardará a posição linear do eixo z, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto
enricoan 30:179ceb3e5791 19 int est_x = 0; //variável que indicará o estado do eixo x, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso
enricoan 30:179ceb3e5791 20 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
enricoan 30:179ceb3e5791 21 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
enricoan 17:4d0b8ed791e0 22
enricoan 29:76d952358896 23 //pinos usados pelos botoes de fim de curso
enricoan 17:4d0b8ed791e0 24 DigitalIn fdc_x(PC_10);
enricoan 17:4d0b8ed791e0 25 DigitalIn fdc_y(PC_11);
enricoan 17:4d0b8ed791e0 26 DigitalIn fdc_z(PC_12);
enricoan 20:81a44a25b21d 27
enricoan 29:76d952358896 28 //Iterrupcao botao de emergência
enricoan 63:32ba7c4becfc 29 InterruptIn interrupcao(PB_11);
amandarm 25:b0db528c1985 30
enricoan 42:a6fbbe536814 31 //pinos do rele, saida digital para acionar o rele se necessario, dada uma entrada no pino da emergencia
enricoan 30:179ceb3e5791 32 DigitalOut rele1(PC_5);
enricoan 30:179ceb3e5791 33 DigitalOut rele2(PB_9);
amandarm 25:b0db528c1985 34
enricoan 29:76d952358896 35 //botoes para movimentacao eixo a eixo
enricoan 10:4f49e9859535 36 DigitalIn x_mais(PA_0);
enricoan 10:4f49e9859535 37 DigitalIn x_menos(PA_1);
enricoan 10:4f49e9859535 38 DigitalIn y_mais(PC_0);
enricoan 10:4f49e9859535 39 DigitalIn y_menos(PC_1);
enricoan 10:4f49e9859535 40 DigitalIn z_mais(PC_2);
enricoan 10:4f49e9859535 41 DigitalIn z_menos(PC_3);
enricoan 10:4f49e9859535 42
enricoan 10:4f49e9859535 43 //pinos da placa usados na biblioteca do LCD
enricoan 42:a6fbbe536814 44 //TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 10:4f49e9859535 45
enricoan 16:70baa0057a76 46 //pinos do teclado
enricoan 40:39263f4cf8b7 47 DigitalIn b(PC_4);
enricoan 40:39263f4cf8b7 48 DigitalIn a(PB_0);
enricoan 40:39263f4cf8b7 49 DigitalIn t_0(PC_13);
enricoan 40:39263f4cf8b7 50 DigitalIn t_1(PB_7);
enricoan 40:39263f4cf8b7 51 DigitalIn t_2(PD_2);
enricoan 41:9709891f77c5 52 DigitalIn t_3(PA_4);
enricoan 40:39263f4cf8b7 53 DigitalIn t_4(PB_12);
enricoan 40:39263f4cf8b7 54 DigitalIn t_5(PB_15);
enricoan 41:9709891f77c5 55 DigitalIn t_6(PA_7);
enricoan 40:39263f4cf8b7 56 DigitalIn t_7(PB_14);
enricoan 40:39263f4cf8b7 57 DigitalIn t_8(PA_6);
enricoan 40:39263f4cf8b7 58 DigitalIn t_9(PB_13);
enricoan 16:70baa0057a76 59
enricoan 10:4f49e9859535 60 //pinos de saída para os motores
enricoan 10:4f49e9859535 61 //eixo x
Hiroball 11:dc557e461dfd 62 BusOut eixox(PA_15,PA_14,PA_13,PA_12);
enricoan 10:4f49e9859535 63 //eixo y
Hiroball 11:dc557e461dfd 64 BusOut eixoy(PA_11,PA_10,PB_2,PB_1);
enricoan 10:4f49e9859535 65 //eixo z
Hiroball 11:dc557e461dfd 66 BusOut eixoz(PC_9,PC_8,PB_8,PC_6);
enricoan 10:4f49e9859535 67
enricoan 42:a6fbbe536814 68 //funcao para receber inputs do teclado
enricoan 43:cfc3da0299ff 69 char pega_tecla(){
enricoan 43:cfc3da0299ff 70 if (b == 0)return ('A');
enricoan 43:cfc3da0299ff 71 if (a == 0)return('B');
enricoan 43:cfc3da0299ff 72 if (t_0 == 0)return('0');
enricoan 43:cfc3da0299ff 73 if (t_1 == 0)return('1');
enricoan 43:cfc3da0299ff 74 if (t_2 == 0)return('2');
enricoan 43:cfc3da0299ff 75 if (t_3 == 0)return('3');
enricoan 43:cfc3da0299ff 76 if (t_4 == 0)return('4');
enricoan 43:cfc3da0299ff 77 if (t_5 == 0)return('5');
enricoan 43:cfc3da0299ff 78 if (t_6 == 0)return('6');
enricoan 43:cfc3da0299ff 79 if (t_7 == 0)return('7');
enricoan 43:cfc3da0299ff 80 if (t_8 == 0)return('8');
enricoan 54:74a215a1f76b 81 if (t_9 == 0)return('9');
enricoan 54:74a215a1f76b 82 return('k');}
enricoan 42:a6fbbe536814 83
enricoan 32:2a9b30e1e7ab 84 //funcao de movimentacao dos motores
enricoan 63:32ba7c4becfc 85 void mov_x_menos(){for(int i = 0; i < 4; i++){eixox = antihor[i];wait(t_motor);coord_x -= (5.625*5/32)/360;}}
enricoan 32:2a9b30e1e7ab 86 void mov_y_menos(){for(int i = 0; i < 4; i++){eixoy = antihor[i];wait(t_motor);coord_y -= (5.625*5/32)/360;est_y = 0;}}
enricoan 32:2a9b30e1e7ab 87 void mov_z_menos(){for(int i = 0; i < 4; i++){eixoz = antihor[i];wait(t_motor);coord_z -= (5.625*5/32)/360;est_z = 0;}}
enricoan 63:32ba7c4becfc 88 void mov_x_mais() {for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);coord_x += (5.625*5/32)/360;}}
enricoan 32:2a9b30e1e7ab 89 void mov_y_mais() {for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);coord_y += (5.625*5/32)/360;est_y = 0;}}
enricoan 32:2a9b30e1e7ab 90 void mov_z_mais() {for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);coord_z += (5.625*5/32)/360;est_z = 0;}}
enricoan 32:2a9b30e1e7ab 91
enricoan 32:2a9b30e1e7ab 92 //Funcao de interrupcao
enricoan 32:2a9b30e1e7ab 93 void emergencia(){TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 32:2a9b30e1e7ab 94 rele1 = 0;
amandarm 25:b0db528c1985 95 eixox = 0b0000;
amandarm 25:b0db528c1985 96 eixoy = 0b0000;
amandarm 25:b0db528c1985 97 eixoz = 0b0000;
amandarm 25:b0db528c1985 98 lcd.cls();
enricoan 29:76d952358896 99 lcd.printf("Botao Emergencia");
amandarm 25:b0db528c1985 100 lcd.locate(0,1);
amandarm 25:b0db528c1985 101 lcd.printf(" acionado ");
amandarm 25:b0db528c1985 102 lcd.locate(0,2);
amandarm 46:e73e36a20134 103 lcd.printf("Operacao pausada");
amandarm 46:e73e36a20134 104 wait(5);}
enricoan 56:e748b9bd5e3c 105
enricoan 29:76d952358896 106 //Funcao de zeramento
amandarm 27:45f8125a0c0b 107 void zeramento(){
amandarm 27:45f8125a0c0b 108 while (fdc_x != 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);est_x = 1;}}
amandarm 27:45f8125a0c0b 109 while (fdc_y != 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);est_y = 1;}}
enricoan 54:74a215a1f76b 110 while (fdc_z != 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);est_z = 1;}}}
enricoan 29:76d952358896 111
enricoan 54:74a215a1f76b 112 //Variaveis para operacao IHM
enricoan 29:76d952358896 113 using std::string;
enricoan 32:2a9b30e1e7ab 114 string status_tela = "zeramento";
amandarm 35:a8256801e9ab 115 int programa = 0;
enricoan 29:76d952358896 116
Hiroball 70:85daa4aee916 117 //Informações sobre o pega
amandarm 65:5a759e3014dd 118 float pos_x_pega[30];
amandarm 65:5a759e3014dd 119 float pos_y_pega [30];
amandarm 65:5a759e3014dd 120 float medida_lado_pega[30];
amandarm 65:5a759e3014dd 121 float volume_pega[30];
amandarm 65:5a759e3014dd 122 int tipo_pega[30];
amandarm 55:4d071fb49f24 123
Hiroball 70:85daa4aee916 124 //Informações sobre os solta's
amandarm 65:5a759e3014dd 125 float dimensao_solta[30];
amandarm 65:5a759e3014dd 126 float volume_solta_1[30];
amandarm 65:5a759e3014dd 127 float volume_solta_2[30];
amandarm 65:5a759e3014dd 128 float volume_solta_3[30];
amandarm 65:5a759e3014dd 129 float volume_solta_4[30];
amandarm 65:5a759e3014dd 130 float volume_solta_5[30];
amandarm 65:5a759e3014dd 131 float volume_solta_6[30];
amandarm 65:5a759e3014dd 132 float volume_solta_7[30];
amandarm 65:5a759e3014dd 133 float volume_solta_8[30];
amandarm 65:5a759e3014dd 134 float volume_solta_9[30];
amandarm 65:5a759e3014dd 135 float pos_x_solta[30];
amandarm 65:5a759e3014dd 136 float pos_y_solta[30];
amandarm 55:4d071fb49f24 137
amandarm 57:e26deee15b8f 138 //main
enricoan 29:76d952358896 139 int main() {
enricoan 67:ecd4feb40f94 140 pos_x_solta[1] = 5;
enricoan 67:ecd4feb40f94 141 pos_y_solta[1] = 5;
enricoan 67:ecd4feb40f94 142 pos_x_pega[1] = 5;
enricoan 67:ecd4feb40f94 143 pos_y_pega[1] = 5;
enricoan 56:e748b9bd5e3c 144 interrupcao.fall(&emergencia);
enricoan 54:74a215a1f76b 145 int volume;
Hiroball 61:be02d7d4e208 146 int volume_solta;
Hiroball 61:be02d7d4e208 147 int diametro_solta;
Hiroball 61:be02d7d4e208 148 int diametro;
Hiroball 59:447534f1e4f5 149 int comprimento_quad;
enricoan 54:74a215a1f76b 150 bool continuar;
Hiroball 61:be02d7d4e208 151 int multiplicador = 10;
Hiroball 70:85daa4aee916 152
Hiroball 70:85daa4aee916 153 //Pinos para ligar o display à NUCLEO
enricoan 32:2a9b30e1e7ab 154 TextLCD lcd(D4, D5, D6, D7, D8, D9);
Hiroball 70:85daa4aee916 155
Hiroball 70:85daa4aee916 156 //Tela inicial
enricoan 29:76d952358896 157 lcd.printf("Bem-vindo ao Pipemax");
enricoan 29:76d952358896 158 lcd.locate(0,1);
enricoan 29:76d952358896 159 lcd.printf("o seu sistema");
enricoan 29:76d952358896 160 lcd.locate(0,2);
enricoan 29:76d952358896 161 lcd.printf("automatizado");
enricoan 29:76d952358896 162 lcd.locate(0,3);
enricoan 29:76d952358896 163 lcd.printf("de pipetagem");
enricoan 33:a513498222c7 164 wait(3);
enricoan 28:c4733814201a 165 lcd.cls();
enricoan 29:76d952358896 166 lcd.printf("Por favor, aceite");
amandarm 27:45f8125a0c0b 167 lcd.locate(0,1);
enricoan 29:76d952358896 168 lcd.printf("o zeramento do seu");
amandarm 27:45f8125a0c0b 169 lcd.locate(0,2);
enricoan 29:76d952358896 170 lcd.printf("sistema");
amandarm 27:45f8125a0c0b 171 lcd.locate(0,3);
Hiroball 70:85daa4aee916 172 lcd.printf("A - proximo");
Hiroball 70:85daa4aee916 173
Hiroball 70:85daa4aee916 174 //Loop principal
enricoan 33:a513498222c7 175 while(1) {
Hiroball 70:85daa4aee916 176 tecla = pega_tecla();//Variável que guarda o valor da tecla apertada
Hiroball 70:85daa4aee916 177
Hiroball 70:85daa4aee916 178 //Teste para analisar se os valores estão corretos através do monitor serial
enricoan 50:cd54c98b6ef1 179 printf("\n%s",status_tela);
enricoan 50:cd54c98b6ef1 180 printf("\n%c",tecla);
Hiroball 70:85daa4aee916 181
Hiroball 70:85daa4aee916 182 //O zeramento só é feito se confirmado apertando a tecla 'A'
enricoan 29:76d952358896 183 if(tecla == 'A' && status_tela == "zeramento"){
amandarm 27:45f8125a0c0b 184 zeramento();
enricoan 33:a513498222c7 185 status_tela = "inicio";
Hiroball 70:85daa4aee916 186 funcao_inicio();
Hiroball 70:85daa4aee916 187 }
enricoan 43:cfc3da0299ff 188
enricoan 63:32ba7c4becfc 189 // if (x_mais == 0 && est_x == 1){for(int i = 0; i < 4; i++){eixox = parado[i];wait(t_motor);coord_x += 0;lcd.cls();lcd.printf("Limite de x atingido");}}
enricoan 63:32ba7c4becfc 190 // 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");}}
enricoan 63:32ba7c4becfc 191 // 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");}}
amandarm 27:45f8125a0c0b 192
enricoan 63:32ba7c4becfc 193 while(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 194 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 195 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 63:32ba7c4becfc 196 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 197
enricoan 33:a513498222c7 198 while(y_menos == 0){mov_y_menos();
enricoan 54:74a215a1f76b 199 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 200 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
Hiroball 70:85daa4aee916 201 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 202
enricoan 33:a513498222c7 203 while(z_menos == 0){mov_z_menos();
enricoan 54:74a215a1f76b 204 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 205 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 206 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 207
enricoan 63:32ba7c4becfc 208 while(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 209 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 210 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 63:32ba7c4becfc 211 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 212
enricoan 33:a513498222c7 213 while(y_mais == 0){mov_y_mais();
enricoan 54:74a215a1f76b 214 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 215 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 216 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 217
enricoan 33:a513498222c7 218 while(z_mais == 0){mov_z_mais();
enricoan 54:74a215a1f76b 219 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 220 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 221 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 222
Hiroball 70:85daa4aee916 223 //Caso nenhum botão esteja apertado, os motores devem permanecer parados
enricoan 33:a513498222c7 224 if(x_mais && x_menos && y_mais && y_menos && z_mais && z_menos != 0){
enricoan 16:70baa0057a76 225 for(int i = 0; i < 4; i++){eixox = parado[i];}
enricoan 16:70baa0057a76 226 for(int i = 0; i < 4; i++){eixoy = parado[i];}
enricoan 33:a513498222c7 227 for(int i = 0; i < 4; i++){eixoz = parado[i];}}
amandarm 35:a8256801e9ab 228
Hiroball 70:85daa4aee916 229 tecla = pega_tecla();//Atualiza a variável tecla
Hiroball 70:85daa4aee916 230
Hiroball 70:85daa4aee916 231 //Ações para a tela inicial
enricoan 28:c4733814201a 232 if(tecla =='1' && status_tela == "inicio"){
Hiroball 70:85daa4aee916 233
Hiroball 70:85daa4aee916 234 continuar = 1; //Condição de funcionamento do loop abaixo
Hiroball 70:85daa4aee916 235 while(continuar){ //Esse loop indica que há a alternação de duas telas
Hiroball 70:85daa4aee916 236 funcao_pega1();
Hiroball 70:85daa4aee916 237 wait(2);
Hiroball 70:85daa4aee916 238 funcao_pega2();
Hiroball 70:85daa4aee916 239 if(tecla!='k'){
Hiroball 70:85daa4aee916 240 continuar = 0;
Hiroball 70:85daa4aee916 241 }
Hiroball 70:85daa4aee916 242 }
Hiroball 70:85daa4aee916 243 status_tela = "novo";
Hiroball 70:85daa4aee916 244 }
enricoan 28:c4733814201a 245 else if(tecla == '2' && status_tela == "inicio"){
Hiroball 70:85daa4aee916 246 continuar = 1;
Hiroball 70:85daa4aee916 247 while(continuar){
Hiroball 70:85daa4aee916 248 funcao_salvo1();
Hiroball 70:85daa4aee916 249 wait(2);
Hiroball 70:85daa4aee916 250 funcao_salvo2();
Hiroball 70:85daa4aee916 251 if(tecla!='k'){
Hiroball 70:85daa4aee916 252 continuar = 0;
Hiroball 70:85daa4aee916 253 }
Hiroball 70:85daa4aee916 254 }
enricoan 32:2a9b30e1e7ab 255 status_tela = "salvo";}
Hiroball 70:85daa4aee916 256
Hiroball 70:85daa4aee916 257 //Ações para a tela de salvamento
Hiroball 70:85daa4aee916 258 //A variável programa remete a que programa salvo o usuário deseja acessar
enricoan 43:cfc3da0299ff 259 tecla = pega_tecla();
amandarm 35:a8256801e9ab 260 if(tecla =='1' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 261 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 262 wait(1);
amandarm 35:a8256801e9ab 263 funcao_salvo_agree2();
Hiroball 70:85daa4aee916 264 programa = 1;
amandarm 35:a8256801e9ab 265 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 266 else if(tecla =='2' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 267 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 268 wait(1);
amandarm 35:a8256801e9ab 269 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 270 programa = 2;
amandarm 35:a8256801e9ab 271 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 272 else if(tecla =='3' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 273 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 274 wait(1);
amandarm 35:a8256801e9ab 275 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 276 programa = 3;
amandarm 35:a8256801e9ab 277 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 278 else if(tecla =='4' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 279 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 280 wait(1);
amandarm 35:a8256801e9ab 281 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 282 programa = 4;
amandarm 35:a8256801e9ab 283 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 284 else if(tecla =='5' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 285 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 286 wait(1);
amandarm 35:a8256801e9ab 287 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 288 programa = 5;
amandarm 35:a8256801e9ab 289 status_tela = "salvo_confirmacao";}
amandarm 44:f0b7a2fe28d9 290 else if(tecla =='6' && status_tela =="salvo"){
amandarm 44:f0b7a2fe28d9 291 funcao_salvo_agree1();
amandarm 44:f0b7a2fe28d9 292 wait(1);
amandarm 44:f0b7a2fe28d9 293 funcao_salvo_agree2();
amandarm 44:f0b7a2fe28d9 294 programa = 6;
amandarm 44:f0b7a2fe28d9 295 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 296 else if(tecla =='B' && status_tela =="salvo"){
amandarm 47:0d9c10a9f87d 297 funcao_inicio();
amandarm 35:a8256801e9ab 298 status_tela = "inicio";}
amandarm 35:a8256801e9ab 299
Hiroball 70:85daa4aee916 300 tecla = pega_tecla();//Atualiza a variável tecla
Hiroball 70:85daa4aee916 301
Hiroball 70:85daa4aee916 302 //Ações para a tela de salvo_confirmação
amandarm 35:a8256801e9ab 303 if(tecla =='1' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 304 funcao_salvo_agree_pos_aviso(); //Tela de aviso ao usuário que a pega se deslocará na posição aduequada
amandarm 44:f0b7a2fe28d9 305 wait(3);
amandarm 68:b36bb895c8c1 306 status_tela = "salvo_confirmacao_pega_agree";
amandarm 68:b36bb895c8c1 307 }
Hiroball 70:85daa4aee916 308
Hiroball 70:85daa4aee916 309 //Ações para a tela salvo_confirmação_pega_agree
amandarm 68:b36bb895c8c1 310 if(tecla == 'A' && status_tela =="salvo_confirmacao_pega_agree"){
enricoan 67:ecd4feb40f94 311 while(coord_x < pos_x_pega[programa]){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
amandarm 65:5a759e3014dd 312 mov_x_mais();
amandarm 65:5a759e3014dd 313 }
enricoan 67:ecd4feb40f94 314 while(coord_x > pos_x_pega[programa]){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
amandarm 65:5a759e3014dd 315 mov_x_menos();
amandarm 65:5a759e3014dd 316 }
enricoan 67:ecd4feb40f94 317 while(coord_y < pos_y_solta[programa]){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
amandarm 65:5a759e3014dd 318 mov_y_mais();
amandarm 65:5a759e3014dd 319 }
enricoan 67:ecd4feb40f94 320 while(coord_y > pos_y_solta[programa]){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
amandarm 65:5a759e3014dd 321 mov_y_menos();
amandarm 65:5a759e3014dd 322 }
amandarm 65:5a759e3014dd 323 funcao_salvo_agree_pos_certo(); //Tela para o usuário confirmar se é essa a posição de fato da pega
amandarm 49:4625aaa408fc 324 status_tela="salvo_pos_certo_pega" ;}
amandarm 68:b36bb895c8c1 325 else if(tecla == 'B' && status_tela=="salvo_confirmacao_pega_agree"){
amandarm 68:b36bb895c8c1 326 funcao_salvo1();
amandarm 68:b36bb895c8c1 327 wait(1);
amandarm 68:b36bb895c8c1 328 funcao_salvo2();
amandarm 68:b36bb895c8c1 329 programa = 1;
amandarm 68:b36bb895c8c1 330 status_tela = "salvo";}
amandarm 35:a8256801e9ab 331 else if(tecla =='2' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 332 funcao_salvo_agree_solta_aviso(); //posicionar no local de solta para confirmação; (motor -> programa.pos_x_solta e motor -> programa.pos_y_solta)
amandarm 44:f0b7a2fe28d9 333 wait(3);
amandarm 68:b36bb895c8c1 334 status_tela = "salvo_confirmacao_solta_agree";
amandarm 68:b36bb895c8c1 335 }
Hiroball 70:85daa4aee916 336
Hiroball 70:85daa4aee916 337 //Ações para a tela confirmação_solta_agree
amandarm 68:b36bb895c8c1 338 if(tecla == 'A' && status_tela =="salvo_confirmacao_solta_agree"){
enricoan 67:ecd4feb40f94 339 while(coord_x < pos_x_solta[programa]){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
amandarm 65:5a759e3014dd 340 mov_x_mais();
amandarm 65:5a759e3014dd 341 }
enricoan 67:ecd4feb40f94 342 while(coord_x > pos_x_solta[programa]){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
amandarm 65:5a759e3014dd 343 mov_x_menos();
amandarm 65:5a759e3014dd 344 }
enricoan 67:ecd4feb40f94 345 while(coord_y < pos_y_solta[programa]){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
amandarm 65:5a759e3014dd 346 mov_y_mais();
amandarm 65:5a759e3014dd 347 }
enricoan 67:ecd4feb40f94 348 while(coord_y > pos_y_solta[programa]){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
amandarm 65:5a759e3014dd 349 mov_y_menos();
amandarm 65:5a759e3014dd 350 }
amandarm 35:a8256801e9ab 351 funcao_salvo_agree_pos_certo();
amandarm 68:b36bb895c8c1 352 status_tela = "salvo_pos_certo_solta";}
amandarm 68:b36bb895c8c1 353 else if(tecla == 'B' && status_tela=="salvo_confirmacao_solta_agree"){
amandarm 68:b36bb895c8c1 354 funcao_salvo1();
amandarm 68:b36bb895c8c1 355 wait(1);
amandarm 68:b36bb895c8c1 356 funcao_salvo2();
amandarm 68:b36bb895c8c1 357 programa = 1;
amandarm 68:b36bb895c8c1 358 status_tela = "salvo";}
amandarm 35:a8256801e9ab 359 else if(tecla =='3' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 360 funcao_salvo_agree_pega_vol(); //Função que imprime na tela do usuário que ele deve dar entreda no volume
amandarm 65:5a759e3014dd 361 continuar = 1;
enricoan 67:ecd4feb40f94 362 multiplicador = 10;
enricoan 67:ecd4feb40f94 363 lcd.locate(6,1);
amandarm 65:5a759e3014dd 364 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 65:5a759e3014dd 365 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 366 tecla = pega_tecla();
amandarm 65:5a759e3014dd 367 wait(1);
amandarm 65:5a759e3014dd 368 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 70:85daa4aee916 369 volume = multiplicador*volume + ((int)tecla-48); //
amandarm 65:5a759e3014dd 370 lcd.printf("%c", tecla);
amandarm 65:5a759e3014dd 371 }
amandarm 65:5a759e3014dd 372 else if(tecla == 'A'){
enricoan 67:ecd4feb40f94 373 volume_pega[programa]=volume; //recebe o valor que o usuário colocou no volume.
amandarm 65:5a759e3014dd 374 lcd.locate(0,2);
amandarm 65:5a759e3014dd 375 printf("Volume inputado!");
amandarm 65:5a759e3014dd 376 continuar = 0;
amandarm 65:5a759e3014dd 377 wait(1);
amandarm 65:5a759e3014dd 378 }
Hiroball 70:85daa4aee916 379 }
amandarm 65:5a759e3014dd 380 status_tela="salvo_conf_vol_pega";}
amandarm 35:a8256801e9ab 381 else if(tecla =='4' && status_tela =="salvo_confirmacao"){
amandarm 68:b36bb895c8c1 382 funcao_salvo_agree_solta_vol(); //volumes configurados por cada pipeta. (programa.vol_solta_pipeta)
amandarm 68:b36bb895c8c1 383 lcd.locate(3,0);lcd.printf("%f",volume_solta_1[programa]);
amandarm 68:b36bb895c8c1 384 lcd.locate(8,0);lcd.printf("%f",volume_solta_2[programa]);
amandarm 68:b36bb895c8c1 385 lcd.locate(13,0);lcd.printf("%f",volume_solta_3[programa]);
amandarm 68:b36bb895c8c1 386 lcd.locate(3,1);lcd.printf("%f",volume_solta_4[programa]);
amandarm 68:b36bb895c8c1 387 lcd.locate(8,2);lcd.printf("%f",volume_solta_5[programa]);
amandarm 68:b36bb895c8c1 388 lcd.locate(13,3);lcd.printf("%f",volume_solta_6[programa]);
amandarm 68:b36bb895c8c1 389 lcd.locate(3,1);lcd.printf("%f",volume_solta_7[programa]);
amandarm 68:b36bb895c8c1 390 lcd.locate(8,2);lcd.printf("%f",volume_solta_8[programa]);
amandarm 68:b36bb895c8c1 391 lcd.locate(13,3);lcd.printf("%f",volume_solta_9[programa]);
amandarm 35:a8256801e9ab 392 status_tela="salvo_conf_vol_solta";}
amandarm 35:a8256801e9ab 393 else if(tecla =='B' && status_tela =="salvo_confirmacao"){
amandarm 47:0d9c10a9f87d 394 funcao_salvo1();
amandarm 35:a8256801e9ab 395 wait(1);
amandarm 47:0d9c10a9f87d 396 funcao_salvo2();
amandarm 35:a8256801e9ab 397 programa = 1;
amandarm 35:a8256801e9ab 398 status_tela = "salvo";}
Hiroball 70:85daa4aee916 399
Hiroball 70:85daa4aee916 400 tecla = pega_tecla(); //Atualiza a variável tecla
Hiroball 70:85daa4aee916 401
Hiroball 70:85daa4aee916 402 //Ações para a tela de salvo_pos_certo_pega
amandarm 49:4625aaa408fc 403 if(tecla =='1' && status_tela =="salvo_pos_certo_pega"){
amandarm 48:135139e2971f 404 funcao_salvo_agree1();
amandarm 52:dca562b09080 405 lcd.locate(18,1);lcd.printf("OK");
amandarm 48:135139e2971f 406 wait(1);
amandarm 48:135139e2971f 407 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 408 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 409 }//salva essa posição como correta
amandarm 65:5a759e3014dd 410 else if(tecla =='2' && status_tela =="salvo_pos_certo_pega"){ //Caso o usuário queria ajustar o posicionamento
enricoan 67:ecd4feb40f94 411 lcd.cls();
enricoan 67:ecd4feb40f94 412 funcao_pega_pos_x();
enricoan 67:ecd4feb40f94 413 lcd.printf("Ponha a pega em x/y");
enricoan 67:ecd4feb40f94 414 lcd.locate(0,3);
enricoan 67:ecd4feb40f94 415 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 416 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 417 while(continuar){
amandarm 65:5a759e3014dd 418 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 419 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 420 lcd.cls();
amandarm 65:5a759e3014dd 421 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 422 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 423 lcd.cls();
amandarm 65:5a759e3014dd 424 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 425 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 426 lcd.cls();
amandarm 65:5a759e3014dd 427 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 428 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 429 lcd.cls();
amandarm 65:5a759e3014dd 430 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 431 if(tecla=='A'){
amandarm 65:5a759e3014dd 432 pos_x_pega[programa] = coord_x;
amandarm 65:5a759e3014dd 433 pos_y_pega[programa] = coord_y;
enricoan 67:ecd4feb40f94 434 lcd.cls();
amandarm 65:5a759e3014dd 435 lcd.printf("Posicao de x e y salva!");
Hiroball 70:85daa4aee916 436 lcd.locate(0,1);
Hiroball 70:85daa4aee916 437 lcd.printf("Posicao X: %4.1f", coord_x);
Hiroball 70:85daa4aee916 438 lcd.locate(0,2);
Hiroball 70:85daa4aee916 439 lcd.printf("Posicao Y: %4.1f", coord_y);
enricoan 67:ecd4feb40f94 440 funcao_salvo_agree1();
enricoan 67:ecd4feb40f94 441 wait(1);
enricoan 67:ecd4feb40f94 442 funcao_salvo_agree2();
enricoan 67:ecd4feb40f94 443 status_tela = "salvo_confirmacao";
Hiroball 70:85daa4aee916 444 continuar = 0;
amandarm 65:5a759e3014dd 445 }
amandarm 65:5a759e3014dd 446 }
amandarm 65:5a759e3014dd 447 }
amandarm 49:4625aaa408fc 448 else if(tecla =='B' && status_tela =="salvo_pos_certo_pega"){
amandarm 35:a8256801e9ab 449 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 450 wait(1);
amandarm 35:a8256801e9ab 451 funcao_salvo_agree2();
amandarm 48:135139e2971f 452 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 453
Hiroball 70:85daa4aee916 454
Hiroball 70:85daa4aee916 455 //Ações para a tela salvo_conf_vol_pega
amandarm 52:dca562b09080 456 if(tecla =='A' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 457 funcao_salvo_agree1();
amandarm 52:dca562b09080 458 wait(1);
amandarm 52:dca562b09080 459 funcao_salvo_agree2();
amandarm 52:dca562b09080 460 lcd.locate(18,1);lcd.printf("OK");
enricoan 53:1d0bb62c117f 461 status_tela = "salvo_confirmacao";
amandarm 52:dca562b09080 462 }//salva essa posição como correta
amandarm 52:dca562b09080 463 else if(tecla =='B' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 464 funcao_salvo_agree1();
amandarm 52:dca562b09080 465 wait(1);
amandarm 52:dca562b09080 466 funcao_salvo_agree2();
amandarm 52:dca562b09080 467 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 468
Hiroball 70:85daa4aee916 469 //Ações para a tela de salvo_pos_certo_solta
amandarm 49:4625aaa408fc 470 if(tecla =='1' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 471 funcao_salvo_agree1();
amandarm 52:dca562b09080 472 lcd.locate(18,2);lcd.printf("OK");
amandarm 49:4625aaa408fc 473 wait(1);
amandarm 49:4625aaa408fc 474 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 475 status_tela = "salvo_confirmacao";
amandarm 49:4625aaa408fc 476 }//salva essa posição como correta
amandarm 65:5a759e3014dd 477 else if(tecla =='2' && status_tela =="salvo_pos_certo_solta"){
amandarm 68:b36bb895c8c1 478 lcd.cls();
amandarm 68:b36bb895c8c1 479 funcao_solta_pos_x();
amandarm 68:b36bb895c8c1 480 lcd.printf("Ponha a pega em x/y");
amandarm 68:b36bb895c8c1 481 lcd.locate(0,3);
amandarm 68:b36bb895c8c1 482 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 483 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 484 while(continuar){
amandarm 65:5a759e3014dd 485 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 486 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 487 lcd.cls();
amandarm 65:5a759e3014dd 488 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 489 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 490 lcd.cls();
amandarm 65:5a759e3014dd 491 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 492 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 493 lcd.cls();
amandarm 65:5a759e3014dd 494 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 495 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 496 lcd.cls();
amandarm 65:5a759e3014dd 497 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 498 if(tecla=='A'){
amandarm 68:b36bb895c8c1 499 pos_x_solta[programa] = coord_x;
amandarm 68:b36bb895c8c1 500 pos_y_solta[programa] = coord_y;
amandarm 68:b36bb895c8c1 501 lcd.cls();
amandarm 65:5a759e3014dd 502 lcd.printf("Posicao de x e y salva!");
Hiroball 70:85daa4aee916 503 lcd.locate(0,1);
Hiroball 70:85daa4aee916 504 lcd.printf("Posicao X: %4.1f", coord_x);
Hiroball 70:85daa4aee916 505 lcd.locate(0,2);
Hiroball 70:85daa4aee916 506 lcd.printf("Posicao Y: %4.1f", coord_y);
amandarm 68:b36bb895c8c1 507 funcao_salvo_agree1();
amandarm 68:b36bb895c8c1 508 wait(1);
amandarm 68:b36bb895c8c1 509 funcao_salvo_agree2();
amandarm 68:b36bb895c8c1 510 status_tela = "salvo_confirmacao";
Hiroball 70:85daa4aee916 511 continuar = 0;
amandarm 65:5a759e3014dd 512 }
amandarm 68:b36bb895c8c1 513 }
amandarm 65:5a759e3014dd 514 }
amandarm 49:4625aaa408fc 515 else if(tecla =='B' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 516 funcao_salvo_agree1();
amandarm 49:4625aaa408fc 517 wait(1);
amandarm 49:4625aaa408fc 518 funcao_salvo_agree2();
amandarm 49:4625aaa408fc 519 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 520
Hiroball 70:85daa4aee916 521 //Ações para a tela salvo_conf_vol_solta
amandarm 52:dca562b09080 522 if(tecla =='A' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 523 funcao_salvo_agree1();
amandarm 48:135139e2971f 524 wait(1);
amandarm 48:135139e2971f 525 funcao_salvo_agree2();
amandarm 52:dca562b09080 526 lcd.locate(18,2);lcd.printf("OK");
enricoan 53:1d0bb62c117f 527 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 528 }//salva essa posição como correta
amandarm 68:b36bb895c8c1 529 else if(tecla =='2' && status_tela =="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 530 funcao_salvo_vol_solta_modifica();
amandarm 68:b36bb895c8c1 531 wait(3);
amandarm 68:b36bb895c8c1 532 funcao_salvo_agree_solta_vol();
amandarm 68:b36bb895c8c1 533 lcd.locate(3,0);lcd.printf("%f",volume_solta_1[programa]);
amandarm 68:b36bb895c8c1 534 lcd.locate(8,0);lcd.printf("%f",volume_solta_2[programa]);
amandarm 68:b36bb895c8c1 535 lcd.locate(13,0);lcd.printf("%f",volume_solta_3[programa]);
amandarm 68:b36bb895c8c1 536 lcd.locate(3,1);lcd.printf("%f",volume_solta_4[programa]);
amandarm 68:b36bb895c8c1 537 lcd.locate(8,2);lcd.printf("%f",volume_solta_5[programa]);
amandarm 68:b36bb895c8c1 538 lcd.locate(13,3);lcd.printf("%f",volume_solta_6[programa]);
amandarm 68:b36bb895c8c1 539 lcd.locate(3,1);lcd.printf("%f",volume_solta_7[programa]);
amandarm 68:b36bb895c8c1 540 lcd.locate(8,2);lcd.printf("%f",volume_solta_8[programa]);
amandarm 68:b36bb895c8c1 541 lcd.locate(13,3);lcd.printf("%f",volume_solta_9[programa]);
amandarm 68:b36bb895c8c1 542 if(tecla=='1' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 543 continuar = 1;
amandarm 68:b36bb895c8c1 544 lcd.locate(3,0);
amandarm 68:b36bb895c8c1 545 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 546 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 547 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 548 wait(1);
amandarm 68:b36bb895c8c1 549 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 70:85daa4aee916 550 volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro
amandarm 68:b36bb895c8c1 551 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 552 }
amandarm 68:b36bb895c8c1 553 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 554 volume_solta_1[programa]=volume;
amandarm 68:b36bb895c8c1 555 }
amandarm 68:b36bb895c8c1 556 }
amandarm 69:8c7e1da9d315 557 }
Hiroball 70:85daa4aee916 558 else if(tecla=='2' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 559 continuar = 1;
amandarm 68:b36bb895c8c1 560 multiplicador = 10;
amandarm 68:b36bb895c8c1 561 lcd.locate(8,0);
amandarm 68:b36bb895c8c1 562 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 563 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 564 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 565 wait(1);
amandarm 68:b36bb895c8c1 566 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 567 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 568 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 569 }
amandarm 68:b36bb895c8c1 570 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 571 volume_solta_2[programa]=volume;
amandarm 68:b36bb895c8c1 572 }
amandarm 68:b36bb895c8c1 573 }
amandarm 69:8c7e1da9d315 574 }
Hiroball 70:85daa4aee916 575 else if(tecla=='3' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 576 continuar = 1;
amandarm 68:b36bb895c8c1 577 multiplicador = 10;
amandarm 68:b36bb895c8c1 578 lcd.locate(13,0);
amandarm 68:b36bb895c8c1 579 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 580 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 581 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 582 wait(1);
amandarm 68:b36bb895c8c1 583 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 584 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 585 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 586 }
amandarm 68:b36bb895c8c1 587 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 588 volume_solta_3[programa]=volume;
amandarm 68:b36bb895c8c1 589 }
amandarm 68:b36bb895c8c1 590 }
amandarm 69:8c7e1da9d315 591 }
Hiroball 70:85daa4aee916 592 else if(tecla=='4' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 593 continuar = 1;
amandarm 68:b36bb895c8c1 594 multiplicador = 10;
amandarm 68:b36bb895c8c1 595 lcd.locate(3,1);
amandarm 68:b36bb895c8c1 596 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 597 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 598 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 599 wait(1);
amandarm 68:b36bb895c8c1 600 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 601 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 602 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 603 }
amandarm 68:b36bb895c8c1 604 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 605 volume_solta_4[programa]=volume;
amandarm 68:b36bb895c8c1 606 }
amandarm 68:b36bb895c8c1 607 }
amandarm 69:8c7e1da9d315 608 }
Hiroball 70:85daa4aee916 609 else if(tecla=='5' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 610 continuar = 1;
amandarm 68:b36bb895c8c1 611 multiplicador = 10;
amandarm 68:b36bb895c8c1 612 lcd.locate(8,1);
amandarm 68:b36bb895c8c1 613 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 614 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 615 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 616 wait(1);
amandarm 68:b36bb895c8c1 617 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 618 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 619 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 620 }
amandarm 68:b36bb895c8c1 621 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 622 volume_solta_5[programa]=volume;
amandarm 68:b36bb895c8c1 623 }
amandarm 68:b36bb895c8c1 624 }
amandarm 69:8c7e1da9d315 625 }
Hiroball 70:85daa4aee916 626 else if(tecla=='6' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 627 continuar = 1;
amandarm 68:b36bb895c8c1 628 multiplicador = 10;
amandarm 68:b36bb895c8c1 629 lcd.locate(13,1);
amandarm 68:b36bb895c8c1 630 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 631 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 632 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 633 wait(1);
amandarm 68:b36bb895c8c1 634 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 635 volume = multiplicador*volume + ((int)tecla-48);
amandarm 69:8c7e1da9d315 636 lcd.printf("%c", tecla);}
amandarm 68:b36bb895c8c1 637 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 638 volume_solta_6[programa]=volume;
amandarm 68:b36bb895c8c1 639 }
amandarm 68:b36bb895c8c1 640 }
amandarm 68:b36bb895c8c1 641 }
Hiroball 70:85daa4aee916 642 else if(tecla=='7' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 643 continuar = 1;
amandarm 68:b36bb895c8c1 644 multiplicador = 10;
amandarm 68:b36bb895c8c1 645 lcd.locate(3,2);
amandarm 68:b36bb895c8c1 646 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 647 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 648 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 649 wait(1);
amandarm 68:b36bb895c8c1 650 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 651 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 652 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 653 }
amandarm 68:b36bb895c8c1 654 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 655 volume_solta_7[programa]=volume;
amandarm 68:b36bb895c8c1 656 }
amandarm 68:b36bb895c8c1 657 }
amandarm 69:8c7e1da9d315 658 }
Hiroball 70:85daa4aee916 659 else if(tecla=='8' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 660 continuar = 1;
amandarm 68:b36bb895c8c1 661 multiplicador = 10;
amandarm 68:b36bb895c8c1 662 lcd.locate(8,2);
amandarm 68:b36bb895c8c1 663 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 664 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 665 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 666 wait(1);
amandarm 68:b36bb895c8c1 667 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 668 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 669 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 670 }
amandarm 68:b36bb895c8c1 671 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 672 volume_solta_8[programa]=volume;
amandarm 68:b36bb895c8c1 673 }
amandarm 68:b36bb895c8c1 674 }
amandarm 69:8c7e1da9d315 675 }
Hiroball 70:85daa4aee916 676 else if(tecla=='9' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 677 continuar = 1;
amandarm 68:b36bb895c8c1 678 multiplicador = 10;
amandarm 68:b36bb895c8c1 679 lcd.locate(13,2);
amandarm 68:b36bb895c8c1 680 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 681 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 682 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 683 wait(1);
amandarm 68:b36bb895c8c1 684 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 685 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 686 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 687 }
amandarm 68:b36bb895c8c1 688 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 689 volume_solta_9[programa]=volume;
amandarm 68:b36bb895c8c1 690 }
amandarm 68:b36bb895c8c1 691 }
amandarm 68:b36bb895c8c1 692 }
amandarm 48:135139e2971f 693 else if(tecla =='B' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 694 funcao_salvo_agree1();
amandarm 48:135139e2971f 695 wait(1);
amandarm 48:135139e2971f 696 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 697 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 698
enricoan 43:cfc3da0299ff 699 tecla = pega_tecla();
Hiroball 70:85daa4aee916 700
Hiroball 70:85daa4aee916 701 //Ações para a tela novo
enricoan 32:2a9b30e1e7ab 702 if(tecla =='1' && status_tela =="novo"){
amandarm 26:4123b9462158 703 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 704 status_tela ="forma";}
Hiroball 70:85daa4aee916 705
enricoan 28:c4733814201a 706 else if(tecla =='2' && status_tela == "novo"){
enricoan 54:74a215a1f76b 707 volume = 0;
enricoan 54:74a215a1f76b 708 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 709 funcao_pega_volume(); // Função que permite a entreda do valor de volume pelo usuário
Hiroball 34:1b5a00c55376 710 status_tela = "volume";
enricoan 54:74a215a1f76b 711 continuar = 1;
enricoan 67:ecd4feb40f94 712 lcd.locate(6,1);
enricoan 54:74a215a1f76b 713 while(continuar){
enricoan 54:74a215a1f76b 714 printf("\n%c",pega_tecla());
enricoan 43:cfc3da0299ff 715 tecla = pega_tecla();
enricoan 54:74a215a1f76b 716 wait(1);
enricoan 54:74a215a1f76b 717 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 718 volume = multiplicador*volume + ((int)tecla-48);
Hiroball 61:be02d7d4e208 719 lcd.printf("%c", tecla);
Hiroball 34:1b5a00c55376 720 }
Hiroball 59:447534f1e4f5 721 else if(tecla == 'A'){
Hiroball 70:85daa4aee916 722 volume_pega[programa] = volume;
enricoan 53:1d0bb62c117f 723 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 724 printf("Volume inputado!");
Hiroball 34:1b5a00c55376 725 continuar = 0;
enricoan 54:74a215a1f76b 726 wait(1);
Hiroball 34:1b5a00c55376 727 }
Hiroball 59:447534f1e4f5 728 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 729 funcao_pega1();
Hiroball 59:447534f1e4f5 730 wait(1);
Hiroball 59:447534f1e4f5 731 funcao_pega2();
Hiroball 59:447534f1e4f5 732 status_tela = "novo";
Hiroball 61:be02d7d4e208 733 continuar = 0;
Hiroball 61:be02d7d4e208 734 }
Hiroball 34:1b5a00c55376 735 }
Hiroball 34:1b5a00c55376 736 }
enricoan 28:c4733814201a 737 else if(tecla == '3' && status_tela == "novo"){
amandarm 26:4123b9462158 738 funcao_pega_pos_x();
enricoan 63:32ba7c4becfc 739 continuar = 1;
enricoan 63:32ba7c4becfc 740 while(continuar){
enricoan 63:32ba7c4becfc 741 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 742 if(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 743 lcd.cls();
enricoan 63:32ba7c4becfc 744 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 745 else if(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 746 lcd.cls();
enricoan 63:32ba7c4becfc 747 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 748 if(tecla=='A'){
enricoan 63:32ba7c4becfc 749 continuar = 0;
amandarm 65:5a759e3014dd 750 pos_x_pega[programa] = coord_x;
Hiroball 70:85daa4aee916 751 lcd.locate(0,1);
enricoan 63:32ba7c4becfc 752 lcd.printf("Posicao de x salva!");
enricoan 63:32ba7c4becfc 753 printf("Posicao X: %4.1f", coord_x);
Hiroball 70:85daa4aee916 754 continuar = 0;
enricoan 63:32ba7c4becfc 755 }
enricoan 63:32ba7c4becfc 756 }
enricoan 32:2a9b30e1e7ab 757 status_tela = "pos_x";}
enricoan 28:c4733814201a 758 else if(tecla == 'B' && status_tela == "novo"){
amandarm 26:4123b9462158 759 funcao_inicio();
enricoan 32:2a9b30e1e7ab 760 status_tela = "inicio";}
enricoan 28:c4733814201a 761 else if(tecla == '1' && status_tela == "salvo"){
amandarm 26:4123b9462158 762 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 763 status_tela = "confirmacao";}
enricoan 28:c4733814201a 764 else if(tecla =='2' && status_tela == "salvo"){
amandarm 26:4123b9462158 765 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 766 status_tela = "confirmacao";}
enricoan 28:c4733814201a 767 else if(tecla =='B' && status_tela == "salvo"){
amandarm 26:4123b9462158 768 funcao_inicio();
enricoan 32:2a9b30e1e7ab 769 status_tela = "inicio";}
amandarm 35:a8256801e9ab 770
enricoan 63:32ba7c4becfc 771 wait(0.5);
enricoan 43:cfc3da0299ff 772 tecla = pega_tecla();
Hiroball 70:85daa4aee916 773
Hiroball 70:85daa4aee916 774 //Ações para a tela forma (para definir o formato do recipiente de pega)
enricoan 28:c4733814201a 775 if(tecla == '1' && status_tela == "forma"){
amandarm 26:4123b9462158 776 funcao_pega_forma_quad();
enricoan 67:ecd4feb40f94 777 tipo_pega[programa] =1;
Hiroball 59:447534f1e4f5 778 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 779 wait(1);
Hiroball 61:be02d7d4e208 780 status_tela ="forma_quad";
Hiroball 59:447534f1e4f5 781 continuar = 1;
Hiroball 59:447534f1e4f5 782 comprimento_quad = 0;
enricoan 63:32ba7c4becfc 783 lcd.locate(0,2);
Hiroball 59:447534f1e4f5 784 while(continuar){
Hiroball 59:447534f1e4f5 785 printf("\n%c",pega_tecla());
Hiroball 59:447534f1e4f5 786 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 787 wait(1);
Hiroball 59:447534f1e4f5 788 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
enricoan 60:e2c632e8dee1 789 comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 790 lcd.printf("%c",tecla);
Hiroball 59:447534f1e4f5 791 }
Hiroball 59:447534f1e4f5 792 else if(tecla == 'A'){
Hiroball 59:447534f1e4f5 793 continuar = 0;
Hiroball 61:be02d7d4e208 794 printf("Comprimento inputado!");
Hiroball 61:be02d7d4e208 795 printf("\nComprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 796 }
Hiroball 59:447534f1e4f5 797 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 798 funcao_pega_forma();
Hiroball 59:447534f1e4f5 799 status_tela = "forma";
Hiroball 59:447534f1e4f5 800 continuar = 0;}
Hiroball 59:447534f1e4f5 801 }
Hiroball 59:447534f1e4f5 802 }
enricoan 28:c4733814201a 803 else if(tecla == '2' && status_tela == "forma"){
amandarm 26:4123b9462158 804 funcao_pega_forma_red();
enricoan 67:ecd4feb40f94 805 tipo_pega[programa] = 2;
Hiroball 61:be02d7d4e208 806 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 807 wait(1);
Hiroball 61:be02d7d4e208 808 continuar = 1;
Hiroball 61:be02d7d4e208 809 diametro = 0;
Hiroball 61:be02d7d4e208 810 status_tela = "forma_red";
enricoan 63:32ba7c4becfc 811 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 812 while(continuar){
Hiroball 61:be02d7d4e208 813 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 814 wait(1);
Hiroball 61:be02d7d4e208 815 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 816 diametro = multiplicador*diametro + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 817 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 818 }
Hiroball 61:be02d7d4e208 819 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 820 continuar = 0;
Hiroball 61:be02d7d4e208 821 printf("Diametro inputado!");
Hiroball 61:be02d7d4e208 822 printf("Diametro: %d", diametro);
Hiroball 61:be02d7d4e208 823 }
Hiroball 61:be02d7d4e208 824 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 825 funcao_pega_forma();
Hiroball 61:be02d7d4e208 826 status_tela = "forma";
Hiroball 61:be02d7d4e208 827 continuar = 0;}
Hiroball 61:be02d7d4e208 828 }
Hiroball 61:be02d7d4e208 829 }
enricoan 28:c4733814201a 830 else if(tecla == 'B' && status_tela == "forma"){
enricoan 56:e748b9bd5e3c 831 funcao_pega1();
enricoan 56:e748b9bd5e3c 832 wait(1);
enricoan 56:e748b9bd5e3c 833 funcao_pega2();
enricoan 32:2a9b30e1e7ab 834 status_tela = "novo";}
amandarm 35:a8256801e9ab 835
enricoan 43:cfc3da0299ff 836 tecla = pega_tecla();
Hiroball 70:85daa4aee916 837
Hiroball 70:85daa4aee916 838 //Ações para a tela forma_quad, para detalhes sobre o formato quadrado
enricoan 28:c4733814201a 839 if(tecla == 'A' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 840 funcao_pega1();
enricoan 67:ecd4feb40f94 841 medida_lado_pega[programa] = comprimento_quad;
enricoan 58:d573b618f45a 842 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 843 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 844 }
enricoan 58:d573b618f45a 845 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 846 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 847 }
enricoan 29:76d952358896 848 wait(1);
amandarm 26:4123b9462158 849 funcao_pega2();
enricoan 58:d573b618f45a 850 if(volume_pega !=0){
enricoan 58:d573b618f45a 851 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 852 }
enricoan 56:e748b9bd5e3c 853 status_tela ="novo";}
enricoan 28:c4733814201a 854 else if(tecla == 'B' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 855 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 856 status_tela = "forma";}
enricoan 28:c4733814201a 857 else if(tecla == 'A' && status_tela == "forma_red"){
enricoan 67:ecd4feb40f94 858 medida_lado_pega[programa] = diametro;
amandarm 26:4123b9462158 859 funcao_pega1();
enricoan 58:d573b618f45a 860 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 861 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 862 }
enricoan 58:d573b618f45a 863 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 864 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 865 }
enricoan 29:76d952358896 866 wait(1);
amandarm 26:4123b9462158 867 funcao_pega2();
enricoan 58:d573b618f45a 868 if(volume_pega !=0){
enricoan 58:d573b618f45a 869 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 870 }
enricoan 56:e748b9bd5e3c 871 status_tela ="novo";}
enricoan 28:c4733814201a 872 else if(tecla == 'B' && status_tela == "forma_red"){
amandarm 26:4123b9462158 873 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 874 status_tela = "forma";}
enricoan 28:c4733814201a 875 else if(tecla == 'A' && status_tela == "volume"){
amandarm 26:4123b9462158 876 funcao_pega1();
enricoan 67:ecd4feb40f94 877 volume_pega[programa] = 12;
enricoan 58:d573b618f45a 878 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 879 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 880 }
enricoan 58:d573b618f45a 881 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 882 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 883 }
enricoan 29:76d952358896 884 wait(1);
amandarm 26:4123b9462158 885 funcao_pega2();
enricoan 58:d573b618f45a 886 if(volume_pega !=0){
enricoan 58:d573b618f45a 887 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 888 }
enricoan 56:e748b9bd5e3c 889 status_tela ="novo";}
enricoan 28:c4733814201a 890 else if( tecla == 'B' && status_tela == "volume"){
amandarm 26:4123b9462158 891 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 892 status_tela = "forma";}
enricoan 28:c4733814201a 893 else if(tecla == 'A' && status_tela == "pos_x"){
enricoan 29:76d952358896 894 funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y
enricoan 67:ecd4feb40f94 895 pos_y_pega[programa] = 12.5;
enricoan 63:32ba7c4becfc 896 status_tela = "pos_y";
enricoan 63:32ba7c4becfc 897 }
enricoan 28:c4733814201a 898 else if(tecla == 'B' && status_tela == "pos_x"){
enricoan 63:32ba7c4becfc 899 funcao_pega1();
enricoan 63:32ba7c4becfc 900 wait(1);
enricoan 63:32ba7c4becfc 901 funcao_pega2();
enricoan 63:32ba7c4becfc 902 status_tela = "novo";}
amandarm 35:a8256801e9ab 903
enricoan 63:32ba7c4becfc 904 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 905 wait(0.5);
enricoan 63:32ba7c4becfc 906 //passando direto
Hiroball 70:85daa4aee916 907
Hiroball 70:85daa4aee916 908 //Ações para a tela pos_y
enricoan 28:c4733814201a 909 if(tecla == 'A' && status_tela == "pos_y"){
amandarm 26:4123b9462158 910 funcao_pega1();
enricoan 58:d573b618f45a 911 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 912 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 913 }
enricoan 58:d573b618f45a 914 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 915 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 916 }
enricoan 29:76d952358896 917 wait(1);
amandarm 26:4123b9462158 918 funcao_pega2();
enricoan 58:d573b618f45a 919 if(volume_pega !=0){
enricoan 58:d573b618f45a 920 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 921 }
enricoan 56:e748b9bd5e3c 922 wait(1);
enricoan 56:e748b9bd5e3c 923 status_tela ="novo";}
enricoan 28:c4733814201a 924 else if(tecla == 'B' && status_tela == "pos_y"){
amandarm 26:4123b9462158 925 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 926 status_tela = "forma";}
amandarm 55:4d071fb49f24 927
amandarm 55:4d071fb49f24 928
amandarm 55:4d071fb49f24 929 tecla=pega_tecla();
enricoan 56:e748b9bd5e3c 930 if(pos_x_pega!=0 && pos_y_pega!=0 && medida_lado_pega!=0 && volume_pega !=0 && tipo_pega!=0 && status_tela == "novo"){
amandarm 55:4d071fb49f24 931 funcao_solta1();
amandarm 55:4d071fb49f24 932 wait(3);
amandarm 55:4d071fb49f24 933 funcao_solta2();
amandarm 55:4d071fb49f24 934 wait(3);
enricoan 56:e748b9bd5e3c 935 status_tela="solta";}
amandarm 55:4d071fb49f24 936
amandarm 55:4d071fb49f24 937 tecla=pega_tecla();
Hiroball 70:85daa4aee916 938
Hiroball 70:85daa4aee916 939 //Ações para a tela "solta", para definir informações sobre os solta's
amandarm 55:4d071fb49f24 940 if(tecla == '1' && status_tela == "solta"){
amandarm 55:4d071fb49f24 941 funcao_solta_dimensao();
Hiroball 61:be02d7d4e208 942 continuar = 1;
Hiroball 61:be02d7d4e208 943 diametro_solta = 0;
amandarm 55:4d071fb49f24 944 status_tela="solta_dimensao";
Hiroball 61:be02d7d4e208 945 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 946 while(continuar){
Hiroball 61:be02d7d4e208 947 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 948 wait(1);
Hiroball 61:be02d7d4e208 949 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 950 diametro_solta = multiplicador*diametro_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 951 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 952 }
Hiroball 61:be02d7d4e208 953 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 954 printf("Diametro do solta inputado!");
Hiroball 61:be02d7d4e208 955 printf("Diametro do solta: %d", diametro_solta);
Hiroball 61:be02d7d4e208 956 continuar = 0;
Hiroball 61:be02d7d4e208 957 }
Hiroball 61:be02d7d4e208 958 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 959 funcao_pega_forma();
Hiroball 61:be02d7d4e208 960 status_tela = "solta";
Hiroball 61:be02d7d4e208 961 funcao_solta1();
amandarm 69:8c7e1da9d315 962 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 963 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 964 }
amandarm 69:8c7e1da9d315 965 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 966 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 967 }
Hiroball 61:be02d7d4e208 968 wait(3);
Hiroball 61:be02d7d4e208 969 funcao_solta2();
amandarm 69:8c7e1da9d315 970 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 971 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 972 }
Hiroball 61:be02d7d4e208 973 continuar = 0;}
Hiroball 61:be02d7d4e208 974 }
Hiroball 61:be02d7d4e208 975 }
Hiroball 61:be02d7d4e208 976
amandarm 55:4d071fb49f24 977 else if(tecla == '2' && status_tela == "solta"){
amandarm 55:4d071fb49f24 978 funcao_solta_vol();
Hiroball 61:be02d7d4e208 979 volume_solta = 0;
Hiroball 61:be02d7d4e208 980 continuar = 1;
amandarm 55:4d071fb49f24 981 status_tela="solta_vol";
Hiroball 61:be02d7d4e208 982 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 983 while(continuar){
Hiroball 61:be02d7d4e208 984 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 985 wait(1);
Hiroball 61:be02d7d4e208 986 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 987 volume_solta = multiplicador*volume_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 988 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 989 }
Hiroball 61:be02d7d4e208 990 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 991 printf("Volume solta inputado!");
Hiroball 61:be02d7d4e208 992 printf("Volume: %d", volume_solta);
Hiroball 61:be02d7d4e208 993 continuar = 0;
Hiroball 61:be02d7d4e208 994 }
Hiroball 61:be02d7d4e208 995 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 996 funcao_pega_forma();
Hiroball 61:be02d7d4e208 997 status_tela = "solta";
Hiroball 61:be02d7d4e208 998 continuar = 0;
Hiroball 61:be02d7d4e208 999 funcao_solta1();
amandarm 69:8c7e1da9d315 1000 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1001 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1002 }
amandarm 69:8c7e1da9d315 1003 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1004 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1005 }
Hiroball 61:be02d7d4e208 1006 wait(3);
Hiroball 61:be02d7d4e208 1007 funcao_solta2();
amandarm 69:8c7e1da9d315 1008 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1009 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1010 }
Hiroball 61:be02d7d4e208 1011 }
Hiroball 61:be02d7d4e208 1012 }
amandarm 55:4d071fb49f24 1013 }
amandarm 55:4d071fb49f24 1014 else if(tecla == '3' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1015 funcao_solta_pos_x();
amandarm 55:4d071fb49f24 1016 status_tela="solta_pos_x";
Hiroball 61:be02d7d4e208 1017 continuar = 1;
Hiroball 61:be02d7d4e208 1018 while(continuar){
enricoan 63:32ba7c4becfc 1019 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 1020 if(x_menos == 0){mov_x_menos();
Hiroball 61:be02d7d4e208 1021 lcd.cls();
Hiroball 61:be02d7d4e208 1022 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 1023 else if(x_mais == 0){mov_x_mais();
Hiroball 61:be02d7d4e208 1024 lcd.cls();
Hiroball 61:be02d7d4e208 1025 lcd.printf("X: %4.1f", coord_x);}
Hiroball 61:be02d7d4e208 1026 if(tecla=='A'){
Hiroball 61:be02d7d4e208 1027 continuar = 0;
Hiroball 61:be02d7d4e208 1028 printf("Posicao de x salva!");
Hiroball 61:be02d7d4e208 1029 printf("Posicao X: %4.1f", coord_x);
Hiroball 61:be02d7d4e208 1030 }
amandarm 55:4d071fb49f24 1031 }
Hiroball 61:be02d7d4e208 1032 }
amandarm 55:4d071fb49f24 1033 else if(tecla == 'B' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1034 funcao_pega1();
enricoan 58:d573b618f45a 1035 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 1036 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1037 }
enricoan 58:d573b618f45a 1038 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 1039 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1040 }
amandarm 55:4d071fb49f24 1041 wait(1);
amandarm 55:4d071fb49f24 1042 funcao_pega2();
enricoan 58:d573b618f45a 1043 if(volume_pega !=0){
enricoan 58:d573b618f45a 1044 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 1045 }
amandarm 55:4d071fb49f24 1046 status_tela="inicio";
amandarm 55:4d071fb49f24 1047 }
amandarm 55:4d071fb49f24 1048
amandarm 55:4d071fb49f24 1049 tecla=pega_tecla();
Hiroball 70:85daa4aee916 1050 //Ações para a tela solta_dimensao, para definir informações sobre a dimensão do solta
amandarm 55:4d071fb49f24 1051 if(tecla=='A' && status_tela=="solta_dimensao"){
enricoan 67:ecd4feb40f94 1052 dimensao_solta[programa] = 10;
amandarm 55:4d071fb49f24 1053 funcao_solta1();
amandarm 69:8c7e1da9d315 1054 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1055 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1056 }
enricoan 58:d573b618f45a 1057 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1058 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1059 }
amandarm 55:4d071fb49f24 1060 wait(3);
amandarm 55:4d071fb49f24 1061 funcao_solta2();
amandarm 69:8c7e1da9d315 1062 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1063 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1064 }
amandarm 55:4d071fb49f24 1065 wait(3);
amandarm 55:4d071fb49f24 1066 status_tela="solta";
amandarm 55:4d071fb49f24 1067 }
amandarm 55:4d071fb49f24 1068 else if(tecla=='B' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 1069 funcao_solta1();
amandarm 69:8c7e1da9d315 1070 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1071 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1072 }
enricoan 58:d573b618f45a 1073 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1074 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1075 }
amandarm 55:4d071fb49f24 1076 wait(3);
amandarm 55:4d071fb49f24 1077 funcao_solta2();
amandarm 69:8c7e1da9d315 1078 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1079 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1080 }
amandarm 55:4d071fb49f24 1081 wait(3);
amandarm 55:4d071fb49f24 1082 status_tela="solta";
amandarm 55:4d071fb49f24 1083 }
amandarm 55:4d071fb49f24 1084 if(tecla=='1' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1085 funcao_solta_vol_igual();
amandarm 55:4d071fb49f24 1086 status_tela="solta_vol_igual";
amandarm 55:4d071fb49f24 1087 }
amandarm 55:4d071fb49f24 1088 else if(tecla=='2' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1089 funcao_solta_vol_cada();
amandarm 55:4d071fb49f24 1090 status_tela="solta_vol_dif";
amandarm 55:4d071fb49f24 1091 }
amandarm 55:4d071fb49f24 1092 else if(tecla=='B' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1093 funcao_solta1();
amandarm 69:8c7e1da9d315 1094 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1095 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1096 }
amandarm 69:8c7e1da9d315 1097 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 1098 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1099 }
amandarm 55:4d071fb49f24 1100 wait(3);
amandarm 55:4d071fb49f24 1101 funcao_solta2();
amandarm 69:8c7e1da9d315 1102 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1103 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1104 }
amandarm 55:4d071fb49f24 1105 wait(3);
amandarm 55:4d071fb49f24 1106 status_tela="solta";
amandarm 55:4d071fb49f24 1107 }
enricoan 56:e748b9bd5e3c 1108 if(tecla=='A' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1109 funcao_solta_pos_y();
enricoan 67:ecd4feb40f94 1110 pos_x_solta[programa] = 10;
enricoan 56:e748b9bd5e3c 1111 status_tela="solta_pos_y";
amandarm 55:4d071fb49f24 1112 }
enricoan 56:e748b9bd5e3c 1113 else if(tecla=='B' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1114 funcao_solta1();
amandarm 69:8c7e1da9d315 1115 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1116 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1117 }
enricoan 58:d573b618f45a 1118 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1119 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1120 }
amandarm 55:4d071fb49f24 1121 wait(3);
amandarm 55:4d071fb49f24 1122 funcao_solta2();
amandarm 69:8c7e1da9d315 1123 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1124 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1125 }
amandarm 55:4d071fb49f24 1126 wait(3);
amandarm 55:4d071fb49f24 1127 status_tela="solta";
amandarm 55:4d071fb49f24 1128 }
amandarm 55:4d071fb49f24 1129
amandarm 55:4d071fb49f24 1130 tecla=pega_tecla();
amandarm 55:4d071fb49f24 1131 if(tecla=='A' && status_tela=="solta_vol_igual"){
enricoan 67:ecd4feb40f94 1132 volume_solta_1[programa]=10;
enricoan 67:ecd4feb40f94 1133 volume_solta_2[programa]=10;
enricoan 67:ecd4feb40f94 1134 volume_solta_3[programa]=10;
enricoan 67:ecd4feb40f94 1135 volume_solta_4[programa]=10;
enricoan 67:ecd4feb40f94 1136 volume_solta_5[programa]=10;
enricoan 67:ecd4feb40f94 1137 volume_solta_6[programa]=10;
enricoan 67:ecd4feb40f94 1138 volume_solta_7[programa]=10;
enricoan 67:ecd4feb40f94 1139 volume_solta_8[programa]=10;
enricoan 67:ecd4feb40f94 1140 volume_solta_9[programa]=10;
amandarm 55:4d071fb49f24 1141
amandarm 55:4d071fb49f24 1142 funcao_solta1();
amandarm 69:8c7e1da9d315 1143 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1144 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1145 }
amandarm 69:8c7e1da9d315 1146 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1147 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1148 }
amandarm 55:4d071fb49f24 1149 wait(3);
amandarm 55:4d071fb49f24 1150 funcao_solta2();
amandarm 69:8c7e1da9d315 1151 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1152 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1153 }
amandarm 55:4d071fb49f24 1154 wait(3);
enricoan 56:e748b9bd5e3c 1155 status_tela="solta";}
amandarm 55:4d071fb49f24 1156 else if(tecla=='B' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 1157 funcao_solta_vol();
amandarm 55:4d071fb49f24 1158 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1159 }
amandarm 55:4d071fb49f24 1160 if(tecla=='1' && status_tela=="solta_vol_dif"){
amandarm 69:8c7e1da9d315 1161 continuar = 1;
amandarm 69:8c7e1da9d315 1162 multiplicador = 10;
amandarm 69:8c7e1da9d315 1163 lcd.locate(8,0);
amandarm 69:8c7e1da9d315 1164 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 69:8c7e1da9d315 1165 printf("\n%c",pega_tecla());
amandarm 69:8c7e1da9d315 1166 tecla = pega_tecla();
amandarm 69:8c7e1da9d315 1167 wait(1);
amandarm 69:8c7e1da9d315 1168 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 69:8c7e1da9d315 1169 volume = multiplicador*volume + ((int)tecla-48);
amandarm 69:8c7e1da9d315 1170 lcd.locate(12,0);lcd.printf("%c", tecla);
amandarm 69:8c7e1da9d315 1171 }
amandarm 69:8c7e1da9d315 1172 else if(tecla == 'A'){
amandarm 69:8c7e1da9d315 1173 volume_solta_2[programa]=volume;
amandarm 69:8c7e1da9d315 1174 }
amandarm 69:8c7e1da9d315 1175 }
amandarm 69:8c7e1da9d315 1176 volume_solta_1[programa]=volume;
amandarm 55:4d071fb49f24 1177 }
amandarm 55:4d071fb49f24 1178 if(tecla=='2' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1179 volume_solta_2[programa]=20;
enricoan 56:e748b9bd5e3c 1180 lcd.locate(15,0);lcd.printf("20");
amandarm 55:4d071fb49f24 1181 }
amandarm 55:4d071fb49f24 1182 if(tecla=='3' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1183 volume_solta_3[programa]=30;
enricoan 56:e748b9bd5e3c 1184 lcd.locate(18,0);lcd.printf("30");
amandarm 55:4d071fb49f24 1185 }
amandarm 55:4d071fb49f24 1186 if(tecla=='4' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1187 volume_solta_4[programa]=40;
enricoan 56:e748b9bd5e3c 1188 lcd.locate(12,1);lcd.printf("40");
amandarm 55:4d071fb49f24 1189 }
amandarm 55:4d071fb49f24 1190 if(tecla=='5' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1191 volume_solta_5[programa]=50;
enricoan 56:e748b9bd5e3c 1192 lcd.locate(15,1);lcd.printf("50");
amandarm 55:4d071fb49f24 1193 }
amandarm 55:4d071fb49f24 1194 if(tecla=='6' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1195 volume_solta_6[programa]=60;
enricoan 56:e748b9bd5e3c 1196 lcd.locate(18,1);lcd.printf("60");
amandarm 55:4d071fb49f24 1197 }
amandarm 55:4d071fb49f24 1198 if(tecla=='7' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1199 volume_solta_7[programa]=70;
enricoan 56:e748b9bd5e3c 1200 lcd.locate(12,2);lcd.printf("70");
amandarm 55:4d071fb49f24 1201 }
amandarm 55:4d071fb49f24 1202 if(tecla=='8' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1203 volume_solta_8[programa]=80;
enricoan 56:e748b9bd5e3c 1204 lcd.locate(15,2);lcd.printf("80");
amandarm 55:4d071fb49f24 1205 }
amandarm 55:4d071fb49f24 1206 if(tecla=='9' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1207 volume_solta_9[programa]=90;
enricoan 56:e748b9bd5e3c 1208 lcd.locate(18,2);lcd.printf("90");
amandarm 55:4d071fb49f24 1209 }
amandarm 55:4d071fb49f24 1210 if(tecla=='A' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1211 funcao_solta1();
amandarm 69:8c7e1da9d315 1212 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1213 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1214 }
enricoan 58:d573b618f45a 1215 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1216 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1217 }
amandarm 55:4d071fb49f24 1218 wait(3);
amandarm 55:4d071fb49f24 1219 funcao_solta2();
amandarm 69:8c7e1da9d315 1220 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1221 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1222 }
amandarm 55:4d071fb49f24 1223 wait(3);
amandarm 55:4d071fb49f24 1224 status_tela="solta";
amandarm 55:4d071fb49f24 1225 }
amandarm 55:4d071fb49f24 1226 else if(tecla=='B' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1227 funcao_solta_vol();
amandarm 55:4d071fb49f24 1228 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1229 }
enricoan 56:e748b9bd5e3c 1230 if(tecla=='A' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1231 funcao_solta1();
amandarm 69:8c7e1da9d315 1232 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1233 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1234 }
enricoan 58:d573b618f45a 1235 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1236 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1237 }
amandarm 55:4d071fb49f24 1238 wait(3);
amandarm 55:4d071fb49f24 1239 funcao_solta2();
amandarm 69:8c7e1da9d315 1240 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1241 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1242 }
enricoan 67:ecd4feb40f94 1243 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1244 wait(3);
amandarm 55:4d071fb49f24 1245 status_tela="solta";
amandarm 55:4d071fb49f24 1246 }
enricoan 56:e748b9bd5e3c 1247 else if(tecla=='B' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1248 funcao_solta1();
amandarm 69:8c7e1da9d315 1249 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1250 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1251 }
enricoan 58:d573b618f45a 1252 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1253 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1254 }
amandarm 55:4d071fb49f24 1255 funcao_solta2();
amandarm 69:8c7e1da9d315 1256 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1257 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1258 }
enricoan 67:ecd4feb40f94 1259 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1260 wait(3);
amandarm 55:4d071fb49f24 1261 status_tela="solta";
amandarm 69:8c7e1da9d315 1262 }
amandarm 55:4d071fb49f24 1263
enricoan 67:ecd4feb40f94 1264 if(pos_x_solta[programa]!=0 && pos_y_solta[programa]!=0 && volume_solta_9[programa]!=0 && dimensao_solta[programa]!=0 && status_tela[programa]=='solta'){
amandarm 55:4d071fb49f24 1265 funcao_acomp();
amandarm 55:4d071fb49f24 1266 status_tela="acompanhamento";
amandarm 55:4d071fb49f24 1267 };
amandarm 55:4d071fb49f24 1268 }
amandarm 69:8c7e1da9d315 1269 }
enricoan 10:4f49e9859535 1270 }