testando

Dependencies:   mbed TextLCD2

Committer:
Hiroball
Date:
Sun May 31 21:55:14 2020 +0000
Revision:
59:447534f1e4f5
Parent:
58:d573b618f45a
Child:
60:e2c632e8dee1
Coloquei o comprimento quad;

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