testando

Dependencies:   mbed TextLCD2

Committer:
amandarm
Date:
Tue Jun 02 12:24:24 2020 +0000
Revision:
64:90bc874124fc
Parent:
62:858c3f22c337
posicionamento pos salva

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"
enricoan 62:858c3f22c337 4 TextLCD lcd(D4, D5, D6, D7, D8, D9);
amandarm 31:acb062a05984 5 #include "funcoes_ihm.h"
amandarm 38:2a0e12322e72 6 #include "classe.h"
enricoan 33:a513498222c7 7 #include <stdio.h>
enricoan 33:a513498222c7 8 #include <string>
amandarm 35:a8256801e9ab 9
enricoan 29:76d952358896 10 //local para a declaracao de varioveis
enricoan 30:179ceb3e5791 11 float t_motor = 0.002; //delay entre o acionamento de uma bobina do motor e a outra
enricoan 30:179ceb3e5791 12 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 13 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 14 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 15 int parado[] = {0,0,0,0}; //valores enviados às bobinas do motor para deixá-lo parado
enricoan 30:179ceb3e5791 16 char tecla; //variável que guarda a tecla apertada no teclado
enricoan 30:179ceb3e5791 17 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 18 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 19 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 20 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 21 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 22 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 23
Hiroball 59:447534f1e4f5 24
enricoan 29:76d952358896 25 //pinos usados pelos botoes de fim de curso
enricoan 17:4d0b8ed791e0 26 DigitalIn fdc_x(PC_10);
enricoan 17:4d0b8ed791e0 27 DigitalIn fdc_y(PC_11);
enricoan 17:4d0b8ed791e0 28 DigitalIn fdc_z(PC_12);
enricoan 20:81a44a25b21d 29
enricoan 29:76d952358896 30 //Iterrupcao botao de emergência
enricoan 62:858c3f22c337 31 InterruptIn interrupcao(PB_11);
amandarm 25:b0db528c1985 32
enricoan 42:a6fbbe536814 33 //pinos do rele, saida digital para acionar o rele se necessario, dada uma entrada no pino da emergencia
enricoan 30:179ceb3e5791 34 DigitalOut rele1(PC_5);
enricoan 30:179ceb3e5791 35 DigitalOut rele2(PB_9);
amandarm 25:b0db528c1985 36
enricoan 29:76d952358896 37 //botoes para movimentacao eixo a eixo
enricoan 10:4f49e9859535 38 DigitalIn x_mais(PA_0);
enricoan 10:4f49e9859535 39 DigitalIn x_menos(PA_1);
enricoan 10:4f49e9859535 40 DigitalIn y_mais(PC_0);
enricoan 10:4f49e9859535 41 DigitalIn y_menos(PC_1);
enricoan 10:4f49e9859535 42 DigitalIn z_mais(PC_2);
enricoan 10:4f49e9859535 43 DigitalIn z_menos(PC_3);
enricoan 10:4f49e9859535 44
enricoan 10:4f49e9859535 45 //pinos da placa usados na biblioteca do LCD
enricoan 42:a6fbbe536814 46 //TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 10:4f49e9859535 47
enricoan 16:70baa0057a76 48 //pinos do teclado
enricoan 40:39263f4cf8b7 49 DigitalIn b(PC_4);
enricoan 40:39263f4cf8b7 50 DigitalIn a(PB_0);
enricoan 40:39263f4cf8b7 51 DigitalIn t_0(PC_13);
enricoan 40:39263f4cf8b7 52 DigitalIn t_1(PB_7);
enricoan 40:39263f4cf8b7 53 DigitalIn t_2(PD_2);
enricoan 41:9709891f77c5 54 DigitalIn t_3(PA_4);
enricoan 40:39263f4cf8b7 55 DigitalIn t_4(PB_12);
enricoan 40:39263f4cf8b7 56 DigitalIn t_5(PB_15);
enricoan 41:9709891f77c5 57 DigitalIn t_6(PA_7);
enricoan 40:39263f4cf8b7 58 DigitalIn t_7(PB_14);
enricoan 40:39263f4cf8b7 59 DigitalIn t_8(PA_6);
enricoan 40:39263f4cf8b7 60 DigitalIn t_9(PB_13);
enricoan 16:70baa0057a76 61
enricoan 10:4f49e9859535 62 //pinos de saída para os motores
enricoan 10:4f49e9859535 63 //eixo x
Hiroball 11:dc557e461dfd 64 BusOut eixox(PA_15,PA_14,PA_13,PA_12);
enricoan 10:4f49e9859535 65 //eixo y
Hiroball 11:dc557e461dfd 66 BusOut eixoy(PA_11,PA_10,PB_2,PB_1);
enricoan 10:4f49e9859535 67 //eixo z
Hiroball 11:dc557e461dfd 68 BusOut eixoz(PC_9,PC_8,PB_8,PC_6);
enricoan 10:4f49e9859535 69
enricoan 42:a6fbbe536814 70 //funcao para receber inputs do teclado
enricoan 43:cfc3da0299ff 71 char pega_tecla(){
enricoan 43:cfc3da0299ff 72 if (b == 0)return ('A');
enricoan 43:cfc3da0299ff 73 if (a == 0)return('B');
enricoan 43:cfc3da0299ff 74 if (t_0 == 0)return('0');
enricoan 43:cfc3da0299ff 75 if (t_1 == 0)return('1');
enricoan 43:cfc3da0299ff 76 if (t_2 == 0)return('2');
enricoan 43:cfc3da0299ff 77 if (t_3 == 0)return('3');
enricoan 43:cfc3da0299ff 78 if (t_4 == 0)return('4');
enricoan 43:cfc3da0299ff 79 if (t_5 == 0)return('5');
enricoan 43:cfc3da0299ff 80 if (t_6 == 0)return('6');
enricoan 43:cfc3da0299ff 81 if (t_7 == 0)return('7');
enricoan 43:cfc3da0299ff 82 if (t_8 == 0)return('8');
enricoan 54:74a215a1f76b 83 if (t_9 == 0)return('9');
enricoan 54:74a215a1f76b 84 return('k');}
enricoan 42:a6fbbe536814 85
enricoan 32:2a9b30e1e7ab 86 //funcao de movimentacao dos motores
enricoan 32:2a9b30e1e7ab 87 void mov_x_menos(){for(int i = 0; i < 4; i++){eixox = antihor[i];wait(t_motor);coord_x -= (5.625*5/32)/360;est_x = 0;}}
enricoan 32:2a9b30e1e7ab 88 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 89 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 32:2a9b30e1e7ab 90 void mov_x_mais() {for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);coord_x += (5.625*5/32)/360;est_x = 0;}}
enricoan 32:2a9b30e1e7ab 91 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 92 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 62:858c3f22c337 93 int flag = 0;
enricoan 32:2a9b30e1e7ab 94 //Funcao de interrupcao
enricoan 62:858c3f22c337 95 void emergencia(){//TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 62:858c3f22c337 96 rele2 = 0;
amandarm 25:b0db528c1985 97 eixox = 0b0000;
amandarm 25:b0db528c1985 98 eixoy = 0b0000;
amandarm 25:b0db528c1985 99 eixoz = 0b0000;
enricoan 62:858c3f22c337 100 flag = 1;}
enricoan 56:e748b9bd5e3c 101
enricoan 29:76d952358896 102 //Funcao de zeramento
amandarm 57:e26deee15b8f 103
amandarm 27:45f8125a0c0b 104 void zeramento(){
amandarm 27:45f8125a0c0b 105 while (fdc_x != 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);est_x = 1;}}
amandarm 27:45f8125a0c0b 106 while (fdc_y != 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);est_y = 1;}}
enricoan 54:74a215a1f76b 107 while (fdc_z != 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);est_z = 1;}}}
enricoan 29:76d952358896 108
enricoan 54:74a215a1f76b 109 //Variaveis para operacao IHM
enricoan 29:76d952358896 110 using std::string;
enricoan 32:2a9b30e1e7ab 111 string status_tela = "zeramento";
amandarm 35:a8256801e9ab 112 int programa = 0;
enricoan 29:76d952358896 113
amandarm 64:90bc874124fc 114 float pos_x_pega[30];
amandarm 64:90bc874124fc 115 float pos_y_pega[30];
amandarm 64:90bc874124fc 116 float medida_lado_pega[30];
amandarm 64:90bc874124fc 117 float volume_pega[30];
amandarm 64:90bc874124fc 118 int tipo_pega[30];
amandarm 55:4d071fb49f24 119
amandarm 64:90bc874124fc 120 float dimensao_solta[30];
amandarm 55:4d071fb49f24 121
amandarm 64:90bc874124fc 122 float volume_solta_1[30];
amandarm 64:90bc874124fc 123 float volume_solta_2[30];
amandarm 64:90bc874124fc 124 float volume_solta_3[30];
amandarm 64:90bc874124fc 125 float volume_solta_4[30];
amandarm 64:90bc874124fc 126 float volume_solta_5[30];
amandarm 64:90bc874124fc 127 float volume_solta_6[30];
amandarm 64:90bc874124fc 128 float volume_solta_7[30];
amandarm 64:90bc874124fc 129 float volume_solta_8[30];
amandarm 64:90bc874124fc 130 float volume_solta_9[30];
amandarm 55:4d071fb49f24 131
amandarm 64:90bc874124fc 132 float pos_x_solta[30];
amandarm 64:90bc874124fc 133 float pos_y_solta[30];
amandarm 55:4d071fb49f24 134
amandarm 57:e26deee15b8f 135 //main
amandarm 57:e26deee15b8f 136
enricoan 29:76d952358896 137 int main() {
enricoan 62:858c3f22c337 138 interrupcao.fall(&emergencia);
enricoan 54:74a215a1f76b 139 int volume;
Hiroball 59:447534f1e4f5 140 int comprimento_quad;
enricoan 54:74a215a1f76b 141 bool continuar;
enricoan 54:74a215a1f76b 142 int multiplicador;
enricoan 62:858c3f22c337 143 // TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 29:76d952358896 144 lcd.printf("Bem-vindo ao Pipemax");
enricoan 29:76d952358896 145 lcd.locate(0,1);
enricoan 29:76d952358896 146 lcd.printf("o seu sistema");
enricoan 29:76d952358896 147 lcd.locate(0,2);
enricoan 29:76d952358896 148 lcd.printf("automatizado");
enricoan 29:76d952358896 149 lcd.locate(0,3);
enricoan 29:76d952358896 150 lcd.printf("de pipetagem");
enricoan 33:a513498222c7 151 wait(3);
enricoan 28:c4733814201a 152 lcd.cls();
enricoan 29:76d952358896 153 lcd.printf("Por favor, aceite");
amandarm 27:45f8125a0c0b 154 lcd.locate(0,1);
enricoan 29:76d952358896 155 lcd.printf("o zeramento do seu");
amandarm 27:45f8125a0c0b 156 lcd.locate(0,2);
enricoan 29:76d952358896 157 lcd.printf("sistema");
amandarm 27:45f8125a0c0b 158 lcd.locate(0,3);
enricoan 56:e748b9bd5e3c 159 lcd.printf("A - proximo");
enricoan 33:a513498222c7 160 while(1) {
enricoan 62:858c3f22c337 161 if (flag == 1){
enricoan 62:858c3f22c337 162 lcd.printf("Botao de emergencia");
enricoan 62:858c3f22c337 163 lcd.locate(0,1);
enricoan 62:858c3f22c337 164 lcd.printf(" acionado ");
enricoan 62:858c3f22c337 165 lcd.locate(0,2);
enricoan 62:858c3f22c337 166 lcd.printf("Operacao pausada");}
enricoan 62:858c3f22c337 167 else{
enricoan 50:cd54c98b6ef1 168 tecla = pega_tecla();
enricoan 50:cd54c98b6ef1 169 printf("\n%s",status_tela);
enricoan 50:cd54c98b6ef1 170 printf("\n%c",tecla);
enricoan 29:76d952358896 171 if(tecla == 'A' && status_tela == "zeramento"){
amandarm 27:45f8125a0c0b 172 zeramento();
enricoan 33:a513498222c7 173 status_tela = "inicio";
enricoan 29:76d952358896 174 funcao_inicio();}
enricoan 43:cfc3da0299ff 175
enricoan 19:ebe198368444 176 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 19:ebe198368444 177 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");}}
amandarm 27:45f8125a0c0b 178 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 179
enricoan 33:a513498222c7 180 while(x_menos == 0){mov_x_menos();
enricoan 54:74a215a1f76b 181 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 182 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 183 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 184
enricoan 33:a513498222c7 185 while(y_menos == 0){mov_y_menos();
enricoan 54:74a215a1f76b 186 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 187 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 188 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 189
enricoan 33:a513498222c7 190 while(z_menos == 0){mov_z_menos();
enricoan 54:74a215a1f76b 191 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 192 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 193 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 194
enricoan 33:a513498222c7 195 while(x_mais == 0){mov_x_mais();
enricoan 54:74a215a1f76b 196 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 197 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 198 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 199
enricoan 33:a513498222c7 200 while(y_mais == 0){mov_y_mais();
enricoan 54:74a215a1f76b 201 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 202 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 203 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 204
enricoan 33:a513498222c7 205 while(z_mais == 0){mov_z_mais();
enricoan 54:74a215a1f76b 206 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 207 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 208 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 209
enricoan 33:a513498222c7 210 if(x_mais && x_menos && y_mais && y_menos && z_mais && z_menos != 0){
enricoan 16:70baa0057a76 211 for(int i = 0; i < 4; i++){eixox = parado[i];}
enricoan 16:70baa0057a76 212 for(int i = 0; i < 4; i++){eixoy = parado[i];}
enricoan 33:a513498222c7 213 for(int i = 0; i < 4; i++){eixoz = parado[i];}}
amandarm 35:a8256801e9ab 214
enricoan 43:cfc3da0299ff 215 tecla = pega_tecla();
enricoan 28:c4733814201a 216 if(tecla =='1' && status_tela == "inicio"){
amandarm 26:4123b9462158 217 funcao_pega1();
enricoan 29:76d952358896 218 wait(1);
amandarm 26:4123b9462158 219 funcao_pega2();
enricoan 32:2a9b30e1e7ab 220 status_tela = "novo";}
enricoan 28:c4733814201a 221 else if(tecla == '2' && status_tela == "inicio"){
amandarm 26:4123b9462158 222 funcao_salvo1();
enricoan 29:76d952358896 223 wait(1);
amandarm 26:4123b9462158 224 funcao_salvo2();
enricoan 32:2a9b30e1e7ab 225 status_tela = "salvo";}
amandarm 35:a8256801e9ab 226
enricoan 43:cfc3da0299ff 227 tecla = pega_tecla();
amandarm 35:a8256801e9ab 228 if(tecla =='1' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 229 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 230 wait(1);
amandarm 35:a8256801e9ab 231 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 232 programa = 1;
amandarm 35:a8256801e9ab 233 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 234 else if(tecla =='2' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 235 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 236 wait(1);
amandarm 35:a8256801e9ab 237 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 238 programa = 2;
amandarm 35:a8256801e9ab 239 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 240 else if(tecla =='3' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 241 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 242 wait(1);
amandarm 35:a8256801e9ab 243 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 244 programa = 3;
amandarm 35:a8256801e9ab 245 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 246 else if(tecla =='4' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 247 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 248 wait(1);
amandarm 35:a8256801e9ab 249 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 250 programa = 4;
amandarm 35:a8256801e9ab 251 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 252 else if(tecla =='5' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 253 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 254 wait(1);
amandarm 35:a8256801e9ab 255 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 256 programa = 5;
amandarm 35:a8256801e9ab 257 status_tela = "salvo_confirmacao";}
amandarm 44:f0b7a2fe28d9 258 else if(tecla =='6' && status_tela =="salvo"){
amandarm 44:f0b7a2fe28d9 259 funcao_salvo_agree1();
amandarm 44:f0b7a2fe28d9 260 wait(1);
amandarm 44:f0b7a2fe28d9 261 funcao_salvo_agree2();
amandarm 44:f0b7a2fe28d9 262 programa = 6;
amandarm 44:f0b7a2fe28d9 263 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 264 else if(tecla =='B' && status_tela =="salvo"){
amandarm 47:0d9c10a9f87d 265 funcao_inicio();
amandarm 35:a8256801e9ab 266 status_tela = "inicio";}
amandarm 35:a8256801e9ab 267
enricoan 43:cfc3da0299ff 268 tecla = pega_tecla();
amandarm 35:a8256801e9ab 269 if(tecla =='1' && status_tela =="salvo_confirmacao"){
amandarm 35:a8256801e9ab 270 funcao_salvo_agree_pos_aviso();
amandarm 44:f0b7a2fe28d9 271 wait(3);
amandarm 64:90bc874124fc 272 if(coordx > pos_x_pega[programa]){
amandarm 64:90bc874124fc 273 mov_x_menos()
amandarm 64:90bc874124fc 274 }
amandarm 64:90bc874124fc 275 if(coordx < pos_x_pega[programa]{
amandarm 64:90bc874124fc 276 mov_x_mais()
amandarm 64:90bc874124fc 277 }
amandarm 36:12c0f6dfb3dc 278 //posicionar no local da pega salvo; (motor -> programa.pos_x_pega e motor -> programa.pos_y_pega)
amandarm 35:a8256801e9ab 279 funcao_salvo_agree_pos_certo();
amandarm 49:4625aaa408fc 280 status_tela="salvo_pos_certo_pega" ;}
amandarm 35:a8256801e9ab 281 else if(tecla =='2' && status_tela =="salvo_confirmacao"){
amandarm 35:a8256801e9ab 282 funcao_salvo_agree_solta_aviso();
amandarm 44:f0b7a2fe28d9 283 wait(3);
amandarm 36:12c0f6dfb3dc 284 //posicionar no local de solta para confirmação; (motor -> programa.pos_x_solta e motor -> programa.pos_y_solta)
amandarm 35:a8256801e9ab 285 funcao_salvo_agree_pos_certo();
amandarm 49:4625aaa408fc 286 status_tela = "salvo_pos_certo_solta";}
amandarm 35:a8256801e9ab 287 else if(tecla =='3' && status_tela =="salvo_confirmacao"){
amandarm 35:a8256801e9ab 288 funcao_salvo_agree_pega_vol();
amandarm 36:12c0f6dfb3dc 289 //programação de volume igual da de cima (programa.vol_pega)
amandarm 52:dca562b09080 290 status_tela="salvo_conf_vol_pega";}
amandarm 35:a8256801e9ab 291 else if(tecla =='4' && status_tela =="salvo_confirmacao"){
amandarm 35:a8256801e9ab 292 funcao_salvo_agree_solta_vol();
amandarm 36:12c0f6dfb3dc 293 //volumes configurados por cada pipeta. (programa.vol_solta_pipeta)
amandarm 35:a8256801e9ab 294 status_tela="salvo_conf_vol_solta";}
amandarm 35:a8256801e9ab 295 else if(tecla =='B' && status_tela =="salvo_confirmacao"){
amandarm 47:0d9c10a9f87d 296 funcao_salvo1();
amandarm 35:a8256801e9ab 297 wait(1);
amandarm 47:0d9c10a9f87d 298 funcao_salvo2();
amandarm 35:a8256801e9ab 299 programa = 1;
amandarm 35:a8256801e9ab 300 status_tela = "salvo";}
amandarm 35:a8256801e9ab 301
enricoan 43:cfc3da0299ff 302 tecla = pega_tecla();
amandarm 49:4625aaa408fc 303 if(tecla =='1' && status_tela =="salvo_pos_certo_pega"){
amandarm 48:135139e2971f 304 funcao_salvo_agree1();
amandarm 52:dca562b09080 305 lcd.locate(18,1);lcd.printf("OK");
amandarm 48:135139e2971f 306 wait(1);
amandarm 48:135139e2971f 307 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 308 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 309 }//salva essa posição como correta
amandarm 64:90bc874124fc 310 else if(tecla =='2' && status_tela =="salvo_pos_certo_pega"){
amandarm 64:90bc874124fc 311 //colocar a programação de andar na tela do Maurício
amandarm 64:90bc874124fc 312 }
amandarm 49:4625aaa408fc 313 else if(tecla =='B' && status_tela =="salvo_pos_certo_pega"){
amandarm 35:a8256801e9ab 314 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 315 wait(1);
amandarm 35:a8256801e9ab 316 funcao_salvo_agree2();
amandarm 48:135139e2971f 317 status_tela = "salvo_confirmacao";}
amandarm 48:135139e2971f 318
amandarm 52:dca562b09080 319 if(tecla =='A' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 320 funcao_salvo_agree1();
amandarm 52:dca562b09080 321 wait(1);
amandarm 52:dca562b09080 322 funcao_salvo_agree2();
amandarm 52:dca562b09080 323 lcd.locate(18,1);lcd.printf("OK");
enricoan 53:1d0bb62c117f 324 status_tela = "salvo_confirmacao";
amandarm 52:dca562b09080 325 }//salva essa posição como correta
amandarm 52:dca562b09080 326 else if(tecla =='B' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 327 funcao_salvo_agree1();
amandarm 52:dca562b09080 328 wait(1);
amandarm 52:dca562b09080 329 funcao_salvo_agree2();
amandarm 52:dca562b09080 330 status_tela = "salvo_confirmacao";}
amandarm 52:dca562b09080 331
amandarm 49:4625aaa408fc 332 if(tecla =='1' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 333 funcao_salvo_agree1();
amandarm 52:dca562b09080 334 lcd.locate(18,2);lcd.printf("OK");
amandarm 49:4625aaa408fc 335 wait(1);
amandarm 49:4625aaa408fc 336 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 337 status_tela = "salvo_confirmacao";
amandarm 49:4625aaa408fc 338 }//salva essa posição como correta
amandarm 49:4625aaa408fc 339 else if(tecla =='2' && status_tela =="salvo_pos_certo_solta"){}
amandarm 49:4625aaa408fc 340 else if(tecla =='B' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 341 funcao_salvo_agree1();
amandarm 49:4625aaa408fc 342 wait(1);
amandarm 49:4625aaa408fc 343 funcao_salvo_agree2();
amandarm 49:4625aaa408fc 344 status_tela = "salvo_confirmacao";}
amandarm 49:4625aaa408fc 345
amandarm 52:dca562b09080 346 if(tecla =='A' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 347 funcao_salvo_agree1();
amandarm 48:135139e2971f 348 wait(1);
amandarm 48:135139e2971f 349 funcao_salvo_agree2();
amandarm 52:dca562b09080 350 lcd.locate(18,2);lcd.printf("OK");
enricoan 53:1d0bb62c117f 351 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 352 }//salva essa posição como correta
amandarm 48:135139e2971f 353 else if(tecla =='2' && status_tela =="salvo_conf_vol_solta"){}
amandarm 48:135139e2971f 354 else if(tecla =='B' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 355 funcao_salvo_agree1();
amandarm 48:135139e2971f 356 wait(1);
amandarm 48:135139e2971f 357 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 358 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 359
enricoan 43:cfc3da0299ff 360 tecla = pega_tecla();
enricoan 32:2a9b30e1e7ab 361 if(tecla =='1' && status_tela =="novo"){
amandarm 26:4123b9462158 362 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 363 status_tela ="forma";}
enricoan 53:1d0bb62c117f 364
enricoan 28:c4733814201a 365 else if(tecla =='2' && status_tela == "novo"){
enricoan 54:74a215a1f76b 366 volume = 0;
enricoan 54:74a215a1f76b 367 printf("\n%c",pega_tecla());
enricoan 53:1d0bb62c117f 368 funcao_pega_volume(); //!!!!!!!!!!!!!!!!!!!!!!!!!!!WTFFFFF
Hiroball 34:1b5a00c55376 369 status_tela = "volume";
enricoan 54:74a215a1f76b 370 continuar = 1;
enricoan 54:74a215a1f76b 371 multiplicador = 10;
enricoan 54:74a215a1f76b 372 while(continuar){
enricoan 54:74a215a1f76b 373 printf("\n%c",pega_tecla());
enricoan 43:cfc3da0299ff 374 tecla = pega_tecla();
enricoan 54:74a215a1f76b 375 wait(1);
enricoan 54:74a215a1f76b 376 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
enricoan 53:1d0bb62c117f 377 lcd.locate(6,1);
Hiroball 34:1b5a00c55376 378 volume = multiplicador*volume + (int)tecla;
enricoan 54:74a215a1f76b 379 printf("\nVolume: %d", volume);
Hiroball 34:1b5a00c55376 380 }
Hiroball 59:447534f1e4f5 381 else if(tecla == 'A'){
enricoan 53:1d0bb62c117f 382 lcd.locate(0,2);
Hiroball 34:1b5a00c55376 383 lcd.printf("Volume: %d", volume);
Hiroball 34:1b5a00c55376 384 continuar = 0;
enricoan 54:74a215a1f76b 385 wait(1);
Hiroball 34:1b5a00c55376 386 }
Hiroball 59:447534f1e4f5 387 //############ Faz sentido apertar B e voltar para essas duas telas, ne?#################
Hiroball 59:447534f1e4f5 388 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 389 funcao_pega1();
Hiroball 59:447534f1e4f5 390 wait(1);
Hiroball 59:447534f1e4f5 391 funcao_pega2();
Hiroball 59:447534f1e4f5 392 status_tela = "novo";
Hiroball 59:447534f1e4f5 393 continuar = 0;}
Hiroball 34:1b5a00c55376 394 }
Hiroball 34:1b5a00c55376 395 }
enricoan 28:c4733814201a 396 else if(tecla == '3' && status_tela == "novo"){
amandarm 26:4123b9462158 397 funcao_pega_pos_x();
amandarm 55:4d071fb49f24 398 pos_x_pega = 12.5;
enricoan 32:2a9b30e1e7ab 399 status_tela = "pos_x";}
enricoan 28:c4733814201a 400 else if(tecla == 'B' && status_tela == "novo"){
amandarm 26:4123b9462158 401 funcao_inicio();
enricoan 32:2a9b30e1e7ab 402 status_tela = "inicio";}
enricoan 28:c4733814201a 403 else if(tecla == '1' && status_tela == "salvo"){
amandarm 26:4123b9462158 404 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 405 status_tela = "confirmacao";}
enricoan 28:c4733814201a 406 else if(tecla =='2' && status_tela == "salvo"){
amandarm 26:4123b9462158 407 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 408 status_tela = "confirmacao";}
enricoan 28:c4733814201a 409 else if(tecla =='B' && status_tela == "salvo"){
amandarm 26:4123b9462158 410 funcao_inicio();
enricoan 32:2a9b30e1e7ab 411 status_tela = "inicio";}
amandarm 35:a8256801e9ab 412
enricoan 56:e748b9bd5e3c 413 tecla = 'F';
enricoan 56:e748b9bd5e3c 414 wait(1);
enricoan 43:cfc3da0299ff 415 tecla = pega_tecla();
enricoan 28:c4733814201a 416 if(tecla == '1' && status_tela == "forma"){
amandarm 26:4123b9462158 417 funcao_pega_forma_quad();
amandarm 55:4d071fb49f24 418 tipo_pega = 1;
Hiroball 59:447534f1e4f5 419 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 420 wait(1);
Hiroball 59:447534f1e4f5 421 continuar = 1;
Hiroball 59:447534f1e4f5 422 multiplicador = 10;
Hiroball 59:447534f1e4f5 423 comprimento_quad = 0;
Hiroball 59:447534f1e4f5 424 while(continuar){
Hiroball 59:447534f1e4f5 425 printf("\n%c",pega_tecla());
Hiroball 59:447534f1e4f5 426 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 427 wait(1);
Hiroball 59:447534f1e4f5 428 status_tela ="forma_quad";
Hiroball 59:447534f1e4f5 429 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 59:447534f1e4f5 430 lcd.locate(0,2);
enricoan 60:e2c632e8dee1 431 comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48);
Hiroball 59:447534f1e4f5 432 printf("\nComprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 433 }
Hiroball 59:447534f1e4f5 434 else if(tecla == 'A'){
Hiroball 59:447534f1e4f5 435 lcd.locate(0,2);
Hiroball 59:447534f1e4f5 436 lcd.printf("Comprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 437 continuar = 0;
Hiroball 59:447534f1e4f5 438 wait(1);
Hiroball 59:447534f1e4f5 439 }
Hiroball 59:447534f1e4f5 440 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 441 funcao_pega_forma();
Hiroball 59:447534f1e4f5 442 status_tela = "forma";
Hiroball 59:447534f1e4f5 443 continuar = 0;}
Hiroball 59:447534f1e4f5 444 }
Hiroball 59:447534f1e4f5 445 }
enricoan 28:c4733814201a 446 else if(tecla == '2' && status_tela == "forma"){
amandarm 26:4123b9462158 447 funcao_pega_forma_red();
enricoan 56:e748b9bd5e3c 448 tipo_pega = 2;
amandarm 55:4d071fb49f24 449 status_tela = "forma_red";}
enricoan 28:c4733814201a 450 else if(tecla == 'B' && status_tela == "forma"){
enricoan 56:e748b9bd5e3c 451 funcao_pega1();
enricoan 56:e748b9bd5e3c 452 wait(1);
enricoan 56:e748b9bd5e3c 453 funcao_pega2();
enricoan 32:2a9b30e1e7ab 454 status_tela = "novo";}
amandarm 35:a8256801e9ab 455
enricoan 43:cfc3da0299ff 456 tecla = pega_tecla();
enricoan 28:c4733814201a 457 if(tecla == 'A' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 458 funcao_pega1();
amandarm 55:4d071fb49f24 459 medida_lado_pega = 10;
enricoan 58:d573b618f45a 460 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 461 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 462 }
enricoan 58:d573b618f45a 463 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 464 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 465 }
enricoan 29:76d952358896 466 wait(1);
amandarm 26:4123b9462158 467 funcao_pega2();
enricoan 58:d573b618f45a 468 if(volume_pega !=0){
enricoan 58:d573b618f45a 469 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 470 }
enricoan 56:e748b9bd5e3c 471 status_tela ="novo";}
enricoan 28:c4733814201a 472 else if(tecla == 'B' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 473 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 474 status_tela = "forma";}
enricoan 28:c4733814201a 475 else if(tecla == 'A' && status_tela == "forma_red"){
amandarm 55:4d071fb49f24 476 medida_lado_pega = 10;
amandarm 26:4123b9462158 477 funcao_pega1();
enricoan 58:d573b618f45a 478 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 479 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 480 }
enricoan 58:d573b618f45a 481 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 482 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 483 }
enricoan 29:76d952358896 484 wait(1);
amandarm 26:4123b9462158 485 funcao_pega2();
enricoan 58:d573b618f45a 486 if(volume_pega !=0){
enricoan 58:d573b618f45a 487 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 488 }
enricoan 56:e748b9bd5e3c 489 status_tela ="novo";}
enricoan 28:c4733814201a 490 else if(tecla == 'B' && status_tela == "forma_red"){
amandarm 26:4123b9462158 491 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 492 status_tela = "forma";}
enricoan 28:c4733814201a 493 else if(tecla == 'A' && status_tela == "volume"){
amandarm 26:4123b9462158 494 funcao_pega1();
amandarm 55:4d071fb49f24 495 volume_pega = 12;
enricoan 58:d573b618f45a 496 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 497 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 498 }
enricoan 58:d573b618f45a 499 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 500 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 501 }
enricoan 29:76d952358896 502 wait(1);
amandarm 26:4123b9462158 503 funcao_pega2();
enricoan 58:d573b618f45a 504 if(volume_pega !=0){
enricoan 58:d573b618f45a 505 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 506 }
enricoan 56:e748b9bd5e3c 507 status_tela ="novo";}
enricoan 28:c4733814201a 508 else if( tecla == 'B' && status_tela == "volume"){
amandarm 26:4123b9462158 509 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 510 status_tela = "forma";}
enricoan 28:c4733814201a 511 else if(tecla == 'A' && status_tela == "pos_x"){
enricoan 29:76d952358896 512 funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y
amandarm 55:4d071fb49f24 513 pos_y_pega = 12.5;
enricoan 32:2a9b30e1e7ab 514 status_tela = "pos_y";}
enricoan 28:c4733814201a 515 else if(tecla == 'B' && status_tela == "pos_x"){
amandarm 26:4123b9462158 516 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 517 status_tela = "forma";}
amandarm 35:a8256801e9ab 518
enricoan 43:cfc3da0299ff 519 tecla = pega_tecla();
enricoan 28:c4733814201a 520 if(tecla == 'A' && status_tela == "pos_y"){
amandarm 26:4123b9462158 521 funcao_pega1();
enricoan 58:d573b618f45a 522 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 523 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 524 }
enricoan 58:d573b618f45a 525 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 526 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 527 }
enricoan 29:76d952358896 528 wait(1);
amandarm 26:4123b9462158 529 funcao_pega2();
enricoan 58:d573b618f45a 530 if(volume_pega !=0){
enricoan 58:d573b618f45a 531 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 532 }
enricoan 56:e748b9bd5e3c 533 wait(1);
enricoan 56:e748b9bd5e3c 534 status_tela ="novo";}
enricoan 28:c4733814201a 535 else if(tecla == 'B' && status_tela == "pos_y"){
amandarm 26:4123b9462158 536 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 537 status_tela = "forma";}
amandarm 55:4d071fb49f24 538
amandarm 55:4d071fb49f24 539
amandarm 55:4d071fb49f24 540 tecla=pega_tecla();
enricoan 56:e748b9bd5e3c 541 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 542 funcao_solta1();
amandarm 55:4d071fb49f24 543 wait(3);
amandarm 55:4d071fb49f24 544 funcao_solta2();
enricoan 58:d573b618f45a 545 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 546 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 547 }
amandarm 55:4d071fb49f24 548 wait(3);
enricoan 56:e748b9bd5e3c 549 status_tela="solta";}
amandarm 55:4d071fb49f24 550
amandarm 55:4d071fb49f24 551 tecla=pega_tecla();
amandarm 55:4d071fb49f24 552 if(tecla == '1' && status_tela == "solta"){
amandarm 55:4d071fb49f24 553 funcao_solta_dimensao();
amandarm 55:4d071fb49f24 554 status_tela="solta_dimensao";
amandarm 55:4d071fb49f24 555 }
amandarm 55:4d071fb49f24 556 else if(tecla == '2' && status_tela == "solta"){
amandarm 55:4d071fb49f24 557 funcao_solta_vol();
amandarm 55:4d071fb49f24 558 status_tela="solta_vol";
amandarm 55:4d071fb49f24 559 }
amandarm 55:4d071fb49f24 560 else if(tecla == '3' && status_tela == "solta"){
amandarm 55:4d071fb49f24 561 funcao_solta_pos_x();
amandarm 55:4d071fb49f24 562 status_tela="solta_pos_x";
amandarm 55:4d071fb49f24 563 }
amandarm 55:4d071fb49f24 564 else if(tecla == 'B' && status_tela == "solta"){
amandarm 55:4d071fb49f24 565 funcao_pega1();
enricoan 58:d573b618f45a 566 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 567 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 568 }
enricoan 58:d573b618f45a 569 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 570 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 571 }
amandarm 55:4d071fb49f24 572 wait(1);
amandarm 55:4d071fb49f24 573 funcao_pega2();
enricoan 58:d573b618f45a 574 if(volume_pega !=0){
enricoan 58:d573b618f45a 575 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 576 }
amandarm 55:4d071fb49f24 577 status_tela="inicio";
amandarm 55:4d071fb49f24 578 }
amandarm 55:4d071fb49f24 579
amandarm 55:4d071fb49f24 580 tecla=pega_tecla();
amandarm 55:4d071fb49f24 581 if(tecla=='A' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 582 dimensao_solta = 10;
amandarm 55:4d071fb49f24 583 funcao_solta1();
enricoan 58:d573b618f45a 584 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 585 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 586 }
enricoan 58:d573b618f45a 587 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 588 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 589 }
amandarm 55:4d071fb49f24 590 wait(3);
amandarm 55:4d071fb49f24 591 funcao_solta2();
enricoan 58:d573b618f45a 592 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 593 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 594 }
amandarm 55:4d071fb49f24 595 wait(3);
amandarm 55:4d071fb49f24 596 status_tela="solta";
amandarm 55:4d071fb49f24 597 }
amandarm 55:4d071fb49f24 598 else if(tecla=='B' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 599 funcao_solta1();
enricoan 58:d573b618f45a 600 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 601 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 602 }
enricoan 58:d573b618f45a 603 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 604 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 605 }
amandarm 55:4d071fb49f24 606 wait(3);
amandarm 55:4d071fb49f24 607 funcao_solta2();
enricoan 58:d573b618f45a 608 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 609 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 610 }
amandarm 55:4d071fb49f24 611 wait(3);
amandarm 55:4d071fb49f24 612 status_tela="solta";
amandarm 55:4d071fb49f24 613 }
amandarm 55:4d071fb49f24 614 if(tecla=='1' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 615 funcao_solta_vol_igual();
amandarm 55:4d071fb49f24 616 status_tela="solta_vol_igual";
amandarm 55:4d071fb49f24 617 }
amandarm 55:4d071fb49f24 618 else if(tecla=='2' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 619 funcao_solta_vol_cada();
amandarm 55:4d071fb49f24 620 status_tela="solta_vol_dif";
amandarm 55:4d071fb49f24 621 }
amandarm 55:4d071fb49f24 622 else if(tecla=='B' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 623 funcao_solta1();
enricoan 58:d573b618f45a 624 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 625 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 626 }
enricoan 58:d573b618f45a 627 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 628 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 629 }
amandarm 55:4d071fb49f24 630 wait(3);
amandarm 55:4d071fb49f24 631 funcao_solta2();
enricoan 58:d573b618f45a 632 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 633 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 634 }
amandarm 55:4d071fb49f24 635 wait(3);
amandarm 55:4d071fb49f24 636 status_tela="solta";
amandarm 55:4d071fb49f24 637 }
enricoan 56:e748b9bd5e3c 638 if(tecla=='A' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 639 funcao_solta_pos_y();
amandarm 55:4d071fb49f24 640 pos_x_solta = 10;
enricoan 56:e748b9bd5e3c 641 status_tela="solta_pos_y";
amandarm 55:4d071fb49f24 642 }
enricoan 56:e748b9bd5e3c 643 else if(tecla=='B' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 644 funcao_solta1();
enricoan 58:d573b618f45a 645 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 646 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 647 }
enricoan 58:d573b618f45a 648 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 649 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 650 }
amandarm 55:4d071fb49f24 651 wait(3);
amandarm 55:4d071fb49f24 652 funcao_solta2();
enricoan 58:d573b618f45a 653 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 654 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 655 }
amandarm 55:4d071fb49f24 656 wait(3);
amandarm 55:4d071fb49f24 657 status_tela="solta";
amandarm 55:4d071fb49f24 658 }
amandarm 55:4d071fb49f24 659
amandarm 55:4d071fb49f24 660 tecla=pega_tecla();
amandarm 55:4d071fb49f24 661 if(tecla=='A' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 662 volume_solta_1=10;
amandarm 55:4d071fb49f24 663 volume_solta_2=10;
amandarm 55:4d071fb49f24 664 volume_solta_3=10;
amandarm 55:4d071fb49f24 665 volume_solta_4=10;
amandarm 55:4d071fb49f24 666 volume_solta_5=10;
amandarm 55:4d071fb49f24 667 volume_solta_6=10;
amandarm 55:4d071fb49f24 668 volume_solta_7=10;
amandarm 55:4d071fb49f24 669 volume_solta_8=10;
amandarm 55:4d071fb49f24 670 volume_solta_9=10;
amandarm 55:4d071fb49f24 671
amandarm 55:4d071fb49f24 672 funcao_solta1();
enricoan 58:d573b618f45a 673 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 674 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 675 }
enricoan 58:d573b618f45a 676 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 677 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 678 }
amandarm 55:4d071fb49f24 679 wait(3);
amandarm 55:4d071fb49f24 680 funcao_solta2();
enricoan 58:d573b618f45a 681 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 682 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 683 }
amandarm 55:4d071fb49f24 684 wait(3);
enricoan 56:e748b9bd5e3c 685 status_tela="solta";}
amandarm 55:4d071fb49f24 686 else if(tecla=='B' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 687 funcao_solta_vol();
amandarm 55:4d071fb49f24 688 status_tela="solta_vol";
amandarm 55:4d071fb49f24 689 }
amandarm 55:4d071fb49f24 690 if(tecla=='1' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 691 volume_solta_1=10;
enricoan 56:e748b9bd5e3c 692 lcd.locate(12,0);lcd.printf("10");
amandarm 55:4d071fb49f24 693 }
amandarm 55:4d071fb49f24 694 if(tecla=='2' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 695 volume_solta_2=20;
enricoan 56:e748b9bd5e3c 696 lcd.locate(15,0);lcd.printf("20");
amandarm 55:4d071fb49f24 697 }
amandarm 55:4d071fb49f24 698 if(tecla=='3' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 699 volume_solta_3=30;
enricoan 56:e748b9bd5e3c 700 lcd.locate(18,0);lcd.printf("30");
amandarm 55:4d071fb49f24 701 }
amandarm 55:4d071fb49f24 702 if(tecla=='4' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 703 volume_solta_4=40;
enricoan 56:e748b9bd5e3c 704 lcd.locate(12,1);lcd.printf("40");
amandarm 55:4d071fb49f24 705 }
amandarm 55:4d071fb49f24 706 if(tecla=='5' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 707 volume_solta_5=50;
enricoan 56:e748b9bd5e3c 708 lcd.locate(15,1);lcd.printf("50");
amandarm 55:4d071fb49f24 709 }
amandarm 55:4d071fb49f24 710 if(tecla=='6' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 711 volume_solta_6=60;
enricoan 56:e748b9bd5e3c 712 lcd.locate(18,1);lcd.printf("60");
amandarm 55:4d071fb49f24 713 }
amandarm 55:4d071fb49f24 714 if(tecla=='7' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 715 volume_solta_7=70;
enricoan 56:e748b9bd5e3c 716 lcd.locate(12,2);lcd.printf("70");
amandarm 55:4d071fb49f24 717 }
amandarm 55:4d071fb49f24 718 if(tecla=='8' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 719 volume_solta_8=80;
enricoan 56:e748b9bd5e3c 720 lcd.locate(15,2);lcd.printf("80");
amandarm 55:4d071fb49f24 721 }
amandarm 55:4d071fb49f24 722 if(tecla=='9' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 723 volume_solta_9=90;
enricoan 56:e748b9bd5e3c 724 lcd.locate(18,2);lcd.printf("90");
amandarm 55:4d071fb49f24 725 }
amandarm 55:4d071fb49f24 726 if(tecla=='A' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 727 funcao_solta1();
enricoan 58:d573b618f45a 728 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 729 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 730 }
enricoan 58:d573b618f45a 731 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 732 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 733 }
amandarm 55:4d071fb49f24 734 wait(3);
amandarm 55:4d071fb49f24 735 funcao_solta2();
enricoan 58:d573b618f45a 736 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 737 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 738 }
amandarm 55:4d071fb49f24 739 wait(3);
amandarm 55:4d071fb49f24 740 status_tela="solta";
amandarm 55:4d071fb49f24 741 }
amandarm 55:4d071fb49f24 742 else if(tecla=='B' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 743 funcao_solta_vol();
amandarm 55:4d071fb49f24 744 status_tela="solta_vol";
amandarm 55:4d071fb49f24 745 }
enricoan 56:e748b9bd5e3c 746 if(tecla=='A' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 747 funcao_solta1();
enricoan 58:d573b618f45a 748 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 749 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 750 }
enricoan 58:d573b618f45a 751 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 752 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 753 }
amandarm 55:4d071fb49f24 754 wait(3);
amandarm 55:4d071fb49f24 755 funcao_solta2();
enricoan 58:d573b618f45a 756 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 757 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 758 }
amandarm 55:4d071fb49f24 759 pos_y_solta = 10;
amandarm 55:4d071fb49f24 760 wait(3);
amandarm 55:4d071fb49f24 761 status_tela="solta";
amandarm 55:4d071fb49f24 762 }
enricoan 56:e748b9bd5e3c 763 else if(tecla=='B' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 764 funcao_solta1();
enricoan 58:d573b618f45a 765 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 766 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 767 }
enricoan 58:d573b618f45a 768 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 769 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 770 }
amandarm 55:4d071fb49f24 771 wait(3);
amandarm 55:4d071fb49f24 772 funcao_solta2();
enricoan 58:d573b618f45a 773 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 774 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 775 }
amandarm 55:4d071fb49f24 776 pos_y_solta = 10;
amandarm 55:4d071fb49f24 777 wait(3);
amandarm 55:4d071fb49f24 778 status_tela="solta";
amandarm 55:4d071fb49f24 779 }
amandarm 55:4d071fb49f24 780
amandarm 55:4d071fb49f24 781 if(pos_x_solta!=0 && pos_y_solta!=0 && volume_solta_9!=0 && dimensao_solta!=0 && status_tela=="solta"){
amandarm 55:4d071fb49f24 782 funcao_acomp();
amandarm 55:4d071fb49f24 783 status_tela="acompanhamento";
amandarm 55:4d071fb49f24 784 };
enricoan 62:858c3f22c337 785 }
amandarm 55:4d071fb49f24 786 }
enricoan 10:4f49e9859535 787 }