testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Tue Jun 02 14:51:06 2020 +0000
Revision:
67:ecd4feb40f94
Parent:
65:5a759e3014dd
Child:
68:b36bb895c8c1
commit

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 57:e26deee15b8f 107
amandarm 27:45f8125a0c0b 108 void zeramento(){
amandarm 27:45f8125a0c0b 109 while (fdc_x != 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);est_x = 1;}}
amandarm 27:45f8125a0c0b 110 while (fdc_y != 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);est_y = 1;}}
enricoan 54:74a215a1f76b 111 while (fdc_z != 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);est_z = 1;}}}
enricoan 29:76d952358896 112
enricoan 54:74a215a1f76b 113 //Variaveis para operacao IHM
enricoan 29:76d952358896 114 using std::string;
enricoan 32:2a9b30e1e7ab 115 string status_tela = "zeramento";
amandarm 35:a8256801e9ab 116 int programa = 0;
enricoan 29:76d952358896 117
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
amandarm 65:5a759e3014dd 124 float dimensao_solta[30];
amandarm 55:4d071fb49f24 125
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 55:4d071fb49f24 135
amandarm 65:5a759e3014dd 136 float pos_x_solta[30];
amandarm 65:5a759e3014dd 137 float pos_y_solta[30];
amandarm 55:4d071fb49f24 138
enricoan 67:ecd4feb40f94 139
enricoan 67:ecd4feb40f94 140
amandarm 57:e26deee15b8f 141 //main
amandarm 57:e26deee15b8f 142
enricoan 29:76d952358896 143 int main() {
enricoan 67:ecd4feb40f94 144 pos_x_solta[1] = 5;
enricoan 67:ecd4feb40f94 145 pos_y_solta[1] = 5;
enricoan 67:ecd4feb40f94 146 pos_x_pega[1] = 5;
enricoan 67:ecd4feb40f94 147 pos_y_pega[1] = 5;
enricoan 56:e748b9bd5e3c 148 interrupcao.fall(&emergencia);
enricoan 54:74a215a1f76b 149 int volume;
Hiroball 61:be02d7d4e208 150 int volume_solta;
Hiroball 61:be02d7d4e208 151 int diametro_solta;
Hiroball 61:be02d7d4e208 152 int diametro;
Hiroball 59:447534f1e4f5 153 int comprimento_quad;
enricoan 54:74a215a1f76b 154 bool continuar;
Hiroball 61:be02d7d4e208 155 int multiplicador = 10;
enricoan 32:2a9b30e1e7ab 156 TextLCD lcd(D4, D5, D6, D7, D8, D9);
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);
enricoan 56:e748b9bd5e3c 172 lcd.printf("A - proximo");
enricoan 33:a513498222c7 173 while(1) {
enricoan 50:cd54c98b6ef1 174 tecla = pega_tecla();
enricoan 50:cd54c98b6ef1 175 printf("\n%s",status_tela);
enricoan 50:cd54c98b6ef1 176 printf("\n%c",tecla);
enricoan 29:76d952358896 177 if(tecla == 'A' && status_tela == "zeramento"){
amandarm 27:45f8125a0c0b 178 zeramento();
enricoan 33:a513498222c7 179 status_tela = "inicio";
enricoan 29:76d952358896 180 funcao_inicio();}
enricoan 43:cfc3da0299ff 181
enricoan 63:32ba7c4becfc 182 // 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 183 // 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 184 // 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 185
enricoan 63:32ba7c4becfc 186 while(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 187 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 188 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 63:32ba7c4becfc 189 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 190
enricoan 33:a513498222c7 191 while(y_menos == 0){mov_y_menos();
enricoan 54:74a215a1f76b 192 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 193 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 194 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 195
enricoan 33:a513498222c7 196 while(z_menos == 0){mov_z_menos();
enricoan 54:74a215a1f76b 197 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 32:2a9b30e1e7ab 198 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 32:2a9b30e1e7ab 199 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 32:2a9b30e1e7ab 200
enricoan 63:32ba7c4becfc 201 while(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 202 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 203 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 63:32ba7c4becfc 204 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 205
enricoan 33:a513498222c7 206 while(y_mais == 0){mov_y_mais();
enricoan 54:74a215a1f76b 207 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 208 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 209 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 210
enricoan 33:a513498222c7 211 while(z_mais == 0){mov_z_mais();
enricoan 54:74a215a1f76b 212 lcd.cls(); lcd.printf("X: %4.1f", coord_x);
enricoan 33:a513498222c7 213 lcd.locate(0,1);lcd.printf("Y: %4.1f", coord_y);
enricoan 33:a513498222c7 214 lcd.locate(0,2);lcd.printf("Z: %4.1f", coord_z);}
enricoan 33:a513498222c7 215
enricoan 33:a513498222c7 216 if(x_mais && x_menos && y_mais && y_menos && z_mais && z_menos != 0){
enricoan 16:70baa0057a76 217 for(int i = 0; i < 4; i++){eixox = parado[i];}
enricoan 16:70baa0057a76 218 for(int i = 0; i < 4; i++){eixoy = parado[i];}
enricoan 33:a513498222c7 219 for(int i = 0; i < 4; i++){eixoz = parado[i];}}
amandarm 35:a8256801e9ab 220
enricoan 43:cfc3da0299ff 221 tecla = pega_tecla();
enricoan 28:c4733814201a 222 if(tecla =='1' && status_tela == "inicio"){
amandarm 26:4123b9462158 223 funcao_pega1();
enricoan 29:76d952358896 224 wait(1);
amandarm 26:4123b9462158 225 funcao_pega2();
enricoan 32:2a9b30e1e7ab 226 status_tela = "novo";}
enricoan 28:c4733814201a 227 else if(tecla == '2' && status_tela == "inicio"){
amandarm 26:4123b9462158 228 funcao_salvo1();
enricoan 29:76d952358896 229 wait(1);
amandarm 26:4123b9462158 230 funcao_salvo2();
enricoan 32:2a9b30e1e7ab 231 status_tela = "salvo";}
amandarm 35:a8256801e9ab 232
enricoan 43:cfc3da0299ff 233 tecla = pega_tecla();
amandarm 35:a8256801e9ab 234 if(tecla =='1' && 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 = 1;
amandarm 35:a8256801e9ab 239 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 240 else if(tecla =='2' && 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 = 2;
amandarm 35:a8256801e9ab 245 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 246 else if(tecla =='3' && 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 = 3;
amandarm 35:a8256801e9ab 251 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 252 else if(tecla =='4' && 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 = 4;
amandarm 35:a8256801e9ab 257 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 258 else if(tecla =='5' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 259 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 260 wait(1);
amandarm 35:a8256801e9ab 261 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 262 programa = 5;
amandarm 35:a8256801e9ab 263 status_tela = "salvo_confirmacao";}
amandarm 44:f0b7a2fe28d9 264 else if(tecla =='6' && status_tela =="salvo"){
amandarm 44:f0b7a2fe28d9 265 funcao_salvo_agree1();
amandarm 44:f0b7a2fe28d9 266 wait(1);
amandarm 44:f0b7a2fe28d9 267 funcao_salvo_agree2();
amandarm 44:f0b7a2fe28d9 268 programa = 6;
amandarm 44:f0b7a2fe28d9 269 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 270 else if(tecla =='B' && status_tela =="salvo"){
amandarm 47:0d9c10a9f87d 271 funcao_inicio();
amandarm 35:a8256801e9ab 272 status_tela = "inicio";}
amandarm 35:a8256801e9ab 273
enricoan 43:cfc3da0299ff 274 tecla = pega_tecla();
amandarm 35:a8256801e9ab 275 if(tecla =='1' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 276 funcao_salvo_agree_pos_aviso(); //Tela de aviso ao usuário que a pega se deslocará na posição aduequada
amandarm 44:f0b7a2fe28d9 277 wait(3);
enricoan 67:ecd4feb40f94 278 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 279 mov_x_mais();
amandarm 65:5a759e3014dd 280 }
enricoan 67:ecd4feb40f94 281 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 282 mov_x_menos();
amandarm 65:5a759e3014dd 283 }
enricoan 67:ecd4feb40f94 284 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 285 mov_y_mais();
amandarm 65:5a759e3014dd 286 }
enricoan 67:ecd4feb40f94 287 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 288 mov_y_menos();
amandarm 65:5a759e3014dd 289 }
amandarm 65:5a759e3014dd 290 funcao_salvo_agree_pos_certo(); //Tela para o usuário confirmar se é essa a posição de fato da pega
amandarm 49:4625aaa408fc 291 status_tela="salvo_pos_certo_pega" ;}
amandarm 35:a8256801e9ab 292 else if(tecla =='2' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 293 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 294 wait(3);
enricoan 67:ecd4feb40f94 295 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 296 mov_x_mais();
amandarm 65:5a759e3014dd 297 }
enricoan 67:ecd4feb40f94 298 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 299 mov_x_menos();
amandarm 65:5a759e3014dd 300 }
enricoan 67:ecd4feb40f94 301 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 302 mov_y_mais();
amandarm 65:5a759e3014dd 303 }
enricoan 67:ecd4feb40f94 304 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 305 mov_y_menos();
amandarm 65:5a759e3014dd 306 }
amandarm 35:a8256801e9ab 307 funcao_salvo_agree_pos_certo();
amandarm 49:4625aaa408fc 308 status_tela = "salvo_pos_certo_solta";}
amandarm 35:a8256801e9ab 309 else if(tecla =='3' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 310 funcao_salvo_agree_pega_vol(); //Função que imprime na tela do usuário que ele deve dar entreda no volume
amandarm 65:5a759e3014dd 311 continuar = 1;
enricoan 67:ecd4feb40f94 312 multiplicador = 10;
enricoan 67:ecd4feb40f94 313 lcd.locate(6,1);
amandarm 65:5a759e3014dd 314 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 65:5a759e3014dd 315 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 316 tecla = pega_tecla();
amandarm 65:5a759e3014dd 317 wait(1);
amandarm 65:5a759e3014dd 318 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 65:5a759e3014dd 319 volume = multiplicador*volume + ((int)tecla-48);
amandarm 65:5a759e3014dd 320 lcd.printf("%c", tecla);
amandarm 65:5a759e3014dd 321 }
amandarm 65:5a759e3014dd 322 else if(tecla == 'A'){
enricoan 67:ecd4feb40f94 323 volume_pega[programa]=volume; //recebe o valor que o usuário colocou no volume.
amandarm 65:5a759e3014dd 324 lcd.locate(0,2);
amandarm 65:5a759e3014dd 325 printf("Volume inputado!");
amandarm 65:5a759e3014dd 326 continuar = 0;
amandarm 65:5a759e3014dd 327 wait(1);
amandarm 65:5a759e3014dd 328 }
amandarm 65:5a759e3014dd 329 }
amandarm 65:5a759e3014dd 330 status_tela="salvo_conf_vol_pega";}
amandarm 35:a8256801e9ab 331 else if(tecla =='4' && status_tela =="salvo_confirmacao"){
amandarm 35:a8256801e9ab 332 funcao_salvo_agree_solta_vol();
amandarm 36:12c0f6dfb3dc 333 //volumes configurados por cada pipeta. (programa.vol_solta_pipeta)
amandarm 35:a8256801e9ab 334 status_tela="salvo_conf_vol_solta";}
amandarm 35:a8256801e9ab 335 else if(tecla =='B' && status_tela =="salvo_confirmacao"){
amandarm 47:0d9c10a9f87d 336 funcao_salvo1();
amandarm 35:a8256801e9ab 337 wait(1);
amandarm 47:0d9c10a9f87d 338 funcao_salvo2();
amandarm 35:a8256801e9ab 339 programa = 1;
amandarm 35:a8256801e9ab 340 status_tela = "salvo";}
amandarm 35:a8256801e9ab 341
enricoan 43:cfc3da0299ff 342 tecla = pega_tecla();
amandarm 49:4625aaa408fc 343 if(tecla =='1' && status_tela =="salvo_pos_certo_pega"){
amandarm 48:135139e2971f 344 funcao_salvo_agree1();
amandarm 52:dca562b09080 345 lcd.locate(18,1);lcd.printf("OK");
amandarm 48:135139e2971f 346 wait(1);
amandarm 48:135139e2971f 347 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 348 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 349 }//salva essa posição como correta
amandarm 65:5a759e3014dd 350 else if(tecla =='2' && status_tela =="salvo_pos_certo_pega"){ //Caso o usuário queria ajustar o posicionamento
enricoan 67:ecd4feb40f94 351 lcd.cls();
enricoan 67:ecd4feb40f94 352 funcao_pega_pos_x();
enricoan 67:ecd4feb40f94 353 lcd.printf("Ponha a pega em x/y");
enricoan 67:ecd4feb40f94 354 lcd.locate(0,3);
enricoan 67:ecd4feb40f94 355 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 356 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 357 while(continuar){
amandarm 65:5a759e3014dd 358 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 359 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 360 lcd.cls();
amandarm 65:5a759e3014dd 361 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 362 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 363 lcd.cls();
amandarm 65:5a759e3014dd 364 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 365 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 366 lcd.cls();
amandarm 65:5a759e3014dd 367 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 368 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 369 lcd.cls();
amandarm 65:5a759e3014dd 370 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 371 if(tecla=='A'){
amandarm 65:5a759e3014dd 372 continuar = 0;
amandarm 65:5a759e3014dd 373 pos_x_pega[programa] = coord_x;
amandarm 65:5a759e3014dd 374 pos_y_pega[programa] = coord_y;
enricoan 67:ecd4feb40f94 375 lcd.cls();
amandarm 65:5a759e3014dd 376 lcd.printf("Posicao de x e y salva!");
amandarm 65:5a759e3014dd 377 printf("Posicao X: %4.1f", coord_x);
amandarm 65:5a759e3014dd 378 printf("Posicao Y: %4.1f", coord_y);
enricoan 67:ecd4feb40f94 379 funcao_salvo_agree1();
enricoan 67:ecd4feb40f94 380 wait(1);
enricoan 67:ecd4feb40f94 381 funcao_salvo_agree2();
enricoan 67:ecd4feb40f94 382 status_tela = "salvo_confirmacao";
amandarm 65:5a759e3014dd 383 }
amandarm 65:5a759e3014dd 384 }
amandarm 65:5a759e3014dd 385 }
amandarm 49:4625aaa408fc 386 else if(tecla =='B' && status_tela =="salvo_pos_certo_pega"){
amandarm 35:a8256801e9ab 387 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 388 wait(1);
amandarm 35:a8256801e9ab 389 funcao_salvo_agree2();
amandarm 48:135139e2971f 390 status_tela = "salvo_confirmacao";}
amandarm 48:135139e2971f 391
amandarm 52:dca562b09080 392 if(tecla =='A' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 393 funcao_salvo_agree1();
amandarm 52:dca562b09080 394 wait(1);
amandarm 52:dca562b09080 395 funcao_salvo_agree2();
amandarm 52:dca562b09080 396 lcd.locate(18,1);lcd.printf("OK");
enricoan 53:1d0bb62c117f 397 status_tela = "salvo_confirmacao";
amandarm 52:dca562b09080 398 }//salva essa posição como correta
amandarm 52:dca562b09080 399 else if(tecla =='B' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 400 funcao_salvo_agree1();
amandarm 52:dca562b09080 401 wait(1);
amandarm 52:dca562b09080 402 funcao_salvo_agree2();
amandarm 52:dca562b09080 403 status_tela = "salvo_confirmacao";}
amandarm 52:dca562b09080 404
amandarm 49:4625aaa408fc 405 if(tecla =='1' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 406 funcao_salvo_agree1();
amandarm 52:dca562b09080 407 lcd.locate(18,2);lcd.printf("OK");
amandarm 49:4625aaa408fc 408 wait(1);
amandarm 49:4625aaa408fc 409 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 410 status_tela = "salvo_confirmacao";
amandarm 49:4625aaa408fc 411 }//salva essa posição como correta
amandarm 65:5a759e3014dd 412 else if(tecla =='2' && status_tela =="salvo_pos_certo_solta"){
amandarm 65:5a759e3014dd 413 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 414 while(continuar){
amandarm 65:5a759e3014dd 415 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 416 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 417 lcd.cls();
amandarm 65:5a759e3014dd 418 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 419 else if(x_mais == 0){mov_x_mais(); // 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(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 423 lcd.cls();
amandarm 65:5a759e3014dd 424 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 425 else if(y_mais == 0){mov_y_mais(); // 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 if(tecla=='A'){
amandarm 65:5a759e3014dd 429 continuar = 0;
amandarm 65:5a759e3014dd 430 pos_x_pega[programa] = coord_x;
amandarm 65:5a759e3014dd 431 pos_y_pega[programa] = coord_y;
amandarm 65:5a759e3014dd 432 lcd.printf("Posicao de x e y salva!");
amandarm 65:5a759e3014dd 433 printf("Posicao X: %4.1f", coord_x);
amandarm 65:5a759e3014dd 434 printf("Posicao Y: %4.1f", coord_y);
amandarm 65:5a759e3014dd 435 }
amandarm 65:5a759e3014dd 436 }
amandarm 65:5a759e3014dd 437 }
amandarm 49:4625aaa408fc 438 else if(tecla =='B' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 439 funcao_salvo_agree1();
amandarm 49:4625aaa408fc 440 wait(1);
amandarm 49:4625aaa408fc 441 funcao_salvo_agree2();
amandarm 49:4625aaa408fc 442 status_tela = "salvo_confirmacao";}
amandarm 49:4625aaa408fc 443
amandarm 52:dca562b09080 444 if(tecla =='A' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 445 funcao_salvo_agree1();
amandarm 48:135139e2971f 446 wait(1);
amandarm 48:135139e2971f 447 funcao_salvo_agree2();
amandarm 52:dca562b09080 448 lcd.locate(18,2);lcd.printf("OK");
enricoan 53:1d0bb62c117f 449 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 450 }//salva essa posição como correta
amandarm 48:135139e2971f 451 else if(tecla =='2' && status_tela =="salvo_conf_vol_solta"){}
amandarm 48:135139e2971f 452 else if(tecla =='B' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 453 funcao_salvo_agree1();
amandarm 48:135139e2971f 454 wait(1);
amandarm 48:135139e2971f 455 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 456 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 457
enricoan 43:cfc3da0299ff 458 tecla = pega_tecla();
enricoan 32:2a9b30e1e7ab 459 if(tecla =='1' && status_tela =="novo"){
amandarm 26:4123b9462158 460 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 461 status_tela ="forma";}
enricoan 53:1d0bb62c117f 462
enricoan 28:c4733814201a 463 else if(tecla =='2' && status_tela == "novo"){
enricoan 54:74a215a1f76b 464 volume = 0;
enricoan 54:74a215a1f76b 465 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 466 funcao_pega_volume(); // Função que permite a entreda do valor de volume pelo usuário
Hiroball 34:1b5a00c55376 467 status_tela = "volume";
enricoan 54:74a215a1f76b 468 continuar = 1;
enricoan 54:74a215a1f76b 469 multiplicador = 10;
enricoan 67:ecd4feb40f94 470 lcd.locate(6,1);
enricoan 54:74a215a1f76b 471 while(continuar){
enricoan 54:74a215a1f76b 472 printf("\n%c",pega_tecla());
enricoan 43:cfc3da0299ff 473 tecla = pega_tecla();
enricoan 54:74a215a1f76b 474 wait(1);
enricoan 54:74a215a1f76b 475 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 476 volume = multiplicador*volume + ((int)tecla-48);
Hiroball 61:be02d7d4e208 477 lcd.printf("%c", tecla);
Hiroball 34:1b5a00c55376 478 }
Hiroball 59:447534f1e4f5 479 else if(tecla == 'A'){
amandarm 65:5a759e3014dd 480 volume_pega[programa]=volume;
enricoan 53:1d0bb62c117f 481 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 482 printf("Volume inputado!");
Hiroball 34:1b5a00c55376 483 continuar = 0;
enricoan 54:74a215a1f76b 484 wait(1);
Hiroball 34:1b5a00c55376 485 }
Hiroball 59:447534f1e4f5 486 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 487 funcao_pega1();
Hiroball 59:447534f1e4f5 488 wait(1);
Hiroball 59:447534f1e4f5 489 funcao_pega2();
Hiroball 59:447534f1e4f5 490 status_tela = "novo";
Hiroball 61:be02d7d4e208 491 continuar = 0;
Hiroball 61:be02d7d4e208 492 }
Hiroball 34:1b5a00c55376 493 }
Hiroball 34:1b5a00c55376 494 }
enricoan 28:c4733814201a 495 else if(tecla == '3' && status_tela == "novo"){
amandarm 26:4123b9462158 496 funcao_pega_pos_x();
enricoan 63:32ba7c4becfc 497 continuar = 1;
enricoan 63:32ba7c4becfc 498 while(continuar){
enricoan 63:32ba7c4becfc 499 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 500 if(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 501 lcd.cls();
enricoan 63:32ba7c4becfc 502 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 503 else if(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 504 lcd.cls();
enricoan 63:32ba7c4becfc 505 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 506 if(tecla=='A'){
enricoan 63:32ba7c4becfc 507 continuar = 0;
amandarm 65:5a759e3014dd 508 pos_x_pega[programa] = coord_x;
enricoan 63:32ba7c4becfc 509 lcd.printf("Posicao de x salva!");
enricoan 63:32ba7c4becfc 510 printf("Posicao X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 511 }
enricoan 63:32ba7c4becfc 512 }
enricoan 32:2a9b30e1e7ab 513 status_tela = "pos_x";}
enricoan 28:c4733814201a 514 else if(tecla == 'B' && status_tela == "novo"){
amandarm 26:4123b9462158 515 funcao_inicio();
enricoan 32:2a9b30e1e7ab 516 status_tela = "inicio";}
enricoan 28:c4733814201a 517 else if(tecla == '1' && status_tela == "salvo"){
amandarm 26:4123b9462158 518 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 519 status_tela = "confirmacao";}
enricoan 28:c4733814201a 520 else if(tecla =='2' && status_tela == "salvo"){
amandarm 26:4123b9462158 521 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 522 status_tela = "confirmacao";}
enricoan 28:c4733814201a 523 else if(tecla =='B' && status_tela == "salvo"){
amandarm 26:4123b9462158 524 funcao_inicio();
enricoan 32:2a9b30e1e7ab 525 status_tela = "inicio";}
amandarm 35:a8256801e9ab 526
enricoan 63:32ba7c4becfc 527 wait(0.5);
enricoan 43:cfc3da0299ff 528 tecla = pega_tecla();
enricoan 28:c4733814201a 529 if(tecla == '1' && status_tela == "forma"){
amandarm 26:4123b9462158 530 funcao_pega_forma_quad();
enricoan 67:ecd4feb40f94 531 tipo_pega[programa] =1;
Hiroball 59:447534f1e4f5 532 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 533 wait(1);
Hiroball 61:be02d7d4e208 534 status_tela ="forma_quad";
Hiroball 59:447534f1e4f5 535 continuar = 1;
Hiroball 59:447534f1e4f5 536 comprimento_quad = 0;
enricoan 63:32ba7c4becfc 537 lcd.locate(0,2);
Hiroball 59:447534f1e4f5 538 while(continuar){
Hiroball 59:447534f1e4f5 539 printf("\n%c",pega_tecla());
Hiroball 59:447534f1e4f5 540 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 541 wait(1);
Hiroball 59:447534f1e4f5 542 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
enricoan 60:e2c632e8dee1 543 comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 544 lcd.printf("%c",tecla);
Hiroball 59:447534f1e4f5 545 }
Hiroball 59:447534f1e4f5 546 else if(tecla == 'A'){
Hiroball 59:447534f1e4f5 547 continuar = 0;
Hiroball 61:be02d7d4e208 548 printf("Comprimento inputado!");
Hiroball 61:be02d7d4e208 549 printf("\nComprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 550 }
Hiroball 59:447534f1e4f5 551 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 552 funcao_pega_forma();
Hiroball 59:447534f1e4f5 553 status_tela = "forma";
Hiroball 59:447534f1e4f5 554 continuar = 0;}
Hiroball 59:447534f1e4f5 555 }
Hiroball 59:447534f1e4f5 556 }
enricoan 28:c4733814201a 557 else if(tecla == '2' && status_tela == "forma"){
amandarm 26:4123b9462158 558 funcao_pega_forma_red();
enricoan 67:ecd4feb40f94 559 tipo_pega[programa] = 2;
Hiroball 61:be02d7d4e208 560 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 561 wait(1);
Hiroball 61:be02d7d4e208 562 continuar = 1;
Hiroball 61:be02d7d4e208 563 diametro = 0;
Hiroball 61:be02d7d4e208 564 status_tela = "forma_red";
enricoan 63:32ba7c4becfc 565 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 566 while(continuar){
Hiroball 61:be02d7d4e208 567 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 568 wait(1);
Hiroball 61:be02d7d4e208 569 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 570 diametro = multiplicador*diametro + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 571 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 572 }
Hiroball 61:be02d7d4e208 573 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 574 continuar = 0;
Hiroball 61:be02d7d4e208 575 printf("Diametro inputado!");
Hiroball 61:be02d7d4e208 576 printf("Diametro: %d", diametro);
Hiroball 61:be02d7d4e208 577 }
Hiroball 61:be02d7d4e208 578 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 579 funcao_pega_forma();
Hiroball 61:be02d7d4e208 580 status_tela = "forma";
Hiroball 61:be02d7d4e208 581 continuar = 0;}
Hiroball 61:be02d7d4e208 582 }
Hiroball 61:be02d7d4e208 583 }
enricoan 28:c4733814201a 584 else if(tecla == 'B' && status_tela == "forma"){
enricoan 56:e748b9bd5e3c 585 funcao_pega1();
enricoan 56:e748b9bd5e3c 586 wait(1);
enricoan 56:e748b9bd5e3c 587 funcao_pega2();
enricoan 32:2a9b30e1e7ab 588 status_tela = "novo";}
amandarm 35:a8256801e9ab 589
enricoan 43:cfc3da0299ff 590 tecla = pega_tecla();
enricoan 28:c4733814201a 591 if(tecla == 'A' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 592 funcao_pega1();
enricoan 67:ecd4feb40f94 593 medida_lado_pega[programa] = comprimento_quad;
enricoan 58:d573b618f45a 594 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 595 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 596 }
enricoan 58:d573b618f45a 597 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 598 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 599 }
enricoan 29:76d952358896 600 wait(1);
amandarm 26:4123b9462158 601 funcao_pega2();
enricoan 58:d573b618f45a 602 if(volume_pega !=0){
enricoan 58:d573b618f45a 603 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 604 }
enricoan 56:e748b9bd5e3c 605 status_tela ="novo";}
enricoan 28:c4733814201a 606 else if(tecla == 'B' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 607 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 608 status_tela = "forma";}
enricoan 28:c4733814201a 609 else if(tecla == 'A' && status_tela == "forma_red"){
enricoan 67:ecd4feb40f94 610 medida_lado_pega[programa] = diametro;
amandarm 26:4123b9462158 611 funcao_pega1();
enricoan 58:d573b618f45a 612 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 613 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 614 }
enricoan 58:d573b618f45a 615 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 616 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 617 }
enricoan 29:76d952358896 618 wait(1);
amandarm 26:4123b9462158 619 funcao_pega2();
enricoan 58:d573b618f45a 620 if(volume_pega !=0){
enricoan 58:d573b618f45a 621 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 622 }
enricoan 56:e748b9bd5e3c 623 status_tela ="novo";}
enricoan 28:c4733814201a 624 else if(tecla == 'B' && status_tela == "forma_red"){
amandarm 26:4123b9462158 625 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 626 status_tela = "forma";}
enricoan 28:c4733814201a 627 else if(tecla == 'A' && status_tela == "volume"){
amandarm 26:4123b9462158 628 funcao_pega1();
enricoan 67:ecd4feb40f94 629 volume_pega[programa] = 12;
enricoan 58:d573b618f45a 630 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 631 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 632 }
enricoan 58:d573b618f45a 633 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 634 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 635 }
enricoan 29:76d952358896 636 wait(1);
amandarm 26:4123b9462158 637 funcao_pega2();
enricoan 58:d573b618f45a 638 if(volume_pega !=0){
enricoan 58:d573b618f45a 639 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 640 }
enricoan 56:e748b9bd5e3c 641 status_tela ="novo";}
enricoan 28:c4733814201a 642 else if( tecla == 'B' && status_tela == "volume"){
amandarm 26:4123b9462158 643 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 644 status_tela = "forma";}
enricoan 28:c4733814201a 645 else if(tecla == 'A' && status_tela == "pos_x"){
enricoan 29:76d952358896 646 funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y
enricoan 67:ecd4feb40f94 647 pos_y_pega[programa] = 12.5;
enricoan 63:32ba7c4becfc 648 status_tela = "pos_y";
enricoan 63:32ba7c4becfc 649 }
enricoan 28:c4733814201a 650 else if(tecla == 'B' && status_tela == "pos_x"){
enricoan 63:32ba7c4becfc 651 funcao_pega1();
enricoan 63:32ba7c4becfc 652 wait(1);
enricoan 63:32ba7c4becfc 653 funcao_pega2();
enricoan 63:32ba7c4becfc 654 status_tela = "novo";}
amandarm 35:a8256801e9ab 655
enricoan 63:32ba7c4becfc 656 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 657 wait(0.5);
enricoan 63:32ba7c4becfc 658 //passando direto
enricoan 28:c4733814201a 659 if(tecla == 'A' && status_tela == "pos_y"){
amandarm 26:4123b9462158 660 funcao_pega1();
enricoan 58:d573b618f45a 661 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 662 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 663 }
enricoan 58:d573b618f45a 664 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 665 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 666 }
enricoan 29:76d952358896 667 wait(1);
amandarm 26:4123b9462158 668 funcao_pega2();
enricoan 58:d573b618f45a 669 if(volume_pega !=0){
enricoan 58:d573b618f45a 670 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 671 }
enricoan 56:e748b9bd5e3c 672 wait(1);
enricoan 56:e748b9bd5e3c 673 status_tela ="novo";}
enricoan 28:c4733814201a 674 else if(tecla == 'B' && status_tela == "pos_y"){
amandarm 26:4123b9462158 675 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 676 status_tela = "forma";}
amandarm 55:4d071fb49f24 677
amandarm 55:4d071fb49f24 678
amandarm 55:4d071fb49f24 679 tecla=pega_tecla();
enricoan 56:e748b9bd5e3c 680 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 681 funcao_solta1();
amandarm 55:4d071fb49f24 682 wait(3);
amandarm 55:4d071fb49f24 683 funcao_solta2();
enricoan 58:d573b618f45a 684 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 685 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 686 }
amandarm 55:4d071fb49f24 687 wait(3);
enricoan 56:e748b9bd5e3c 688 status_tela="solta";}
amandarm 55:4d071fb49f24 689
amandarm 55:4d071fb49f24 690 tecla=pega_tecla();
amandarm 55:4d071fb49f24 691 if(tecla == '1' && status_tela == "solta"){
amandarm 55:4d071fb49f24 692 funcao_solta_dimensao();
Hiroball 61:be02d7d4e208 693 continuar = 1;
Hiroball 61:be02d7d4e208 694 diametro_solta = 0;
amandarm 55:4d071fb49f24 695 status_tela="solta_dimensao";
Hiroball 61:be02d7d4e208 696 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 697 while(continuar){
Hiroball 61:be02d7d4e208 698 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 699 wait(1);
Hiroball 61:be02d7d4e208 700 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 701 diametro_solta = multiplicador*diametro_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 702 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 703 }
Hiroball 61:be02d7d4e208 704 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 705 printf("Diametro do solta inputado!");
Hiroball 61:be02d7d4e208 706 printf("Diametro do solta: %d", diametro_solta);
Hiroball 61:be02d7d4e208 707 continuar = 0;
Hiroball 61:be02d7d4e208 708 }
Hiroball 61:be02d7d4e208 709 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 710 funcao_pega_forma();
Hiroball 61:be02d7d4e208 711 status_tela = "solta";
Hiroball 61:be02d7d4e208 712 funcao_solta1();
Hiroball 61:be02d7d4e208 713 wait(3);
Hiroball 61:be02d7d4e208 714 funcao_solta2();
Hiroball 61:be02d7d4e208 715 continuar = 0;}
Hiroball 61:be02d7d4e208 716 }
Hiroball 61:be02d7d4e208 717 }
Hiroball 61:be02d7d4e208 718
amandarm 55:4d071fb49f24 719 else if(tecla == '2' && status_tela == "solta"){
amandarm 55:4d071fb49f24 720 funcao_solta_vol();
Hiroball 61:be02d7d4e208 721 volume_solta = 0;
Hiroball 61:be02d7d4e208 722 continuar = 1;
amandarm 55:4d071fb49f24 723 status_tela="solta_vol";
Hiroball 61:be02d7d4e208 724 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 725 while(continuar){
Hiroball 61:be02d7d4e208 726 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 727 wait(1);
Hiroball 61:be02d7d4e208 728 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 729 volume_solta = multiplicador*volume_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 730 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 731 }
Hiroball 61:be02d7d4e208 732 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 733 printf("Volume solta inputado!");
Hiroball 61:be02d7d4e208 734 printf("Volume: %d", volume_solta);
Hiroball 61:be02d7d4e208 735 continuar = 0;
Hiroball 61:be02d7d4e208 736 }
Hiroball 61:be02d7d4e208 737 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 738 funcao_pega_forma();
Hiroball 61:be02d7d4e208 739 status_tela = "solta";
Hiroball 61:be02d7d4e208 740 continuar = 0;
Hiroball 61:be02d7d4e208 741 funcao_solta1();
Hiroball 61:be02d7d4e208 742 wait(3);
Hiroball 61:be02d7d4e208 743 funcao_solta2();
Hiroball 61:be02d7d4e208 744 }
Hiroball 61:be02d7d4e208 745 }
amandarm 55:4d071fb49f24 746 }
amandarm 55:4d071fb49f24 747 else if(tecla == '3' && status_tela == "solta"){
amandarm 55:4d071fb49f24 748 funcao_solta_pos_x();
amandarm 55:4d071fb49f24 749 status_tela="solta_pos_x";
Hiroball 61:be02d7d4e208 750 continuar = 1;
Hiroball 61:be02d7d4e208 751 while(continuar){
enricoan 63:32ba7c4becfc 752 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 753 if(x_menos == 0){mov_x_menos();
Hiroball 61:be02d7d4e208 754 lcd.cls();
Hiroball 61:be02d7d4e208 755 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 756 else if(x_mais == 0){mov_x_mais();
Hiroball 61:be02d7d4e208 757 lcd.cls();
Hiroball 61:be02d7d4e208 758 lcd.printf("X: %4.1f", coord_x);}
Hiroball 61:be02d7d4e208 759 if(tecla=='A'){
Hiroball 61:be02d7d4e208 760 continuar = 0;
Hiroball 61:be02d7d4e208 761 printf("Posicao de x salva!");
Hiroball 61:be02d7d4e208 762 printf("Posicao X: %4.1f", coord_x);
Hiroball 61:be02d7d4e208 763 }
amandarm 55:4d071fb49f24 764 }
Hiroball 61:be02d7d4e208 765 }
amandarm 55:4d071fb49f24 766 else if(tecla == 'B' && status_tela == "solta"){
amandarm 55:4d071fb49f24 767 funcao_pega1();
enricoan 58:d573b618f45a 768 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 769 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 770 }
enricoan 58:d573b618f45a 771 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 772 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 773 }
amandarm 55:4d071fb49f24 774 wait(1);
amandarm 55:4d071fb49f24 775 funcao_pega2();
enricoan 58:d573b618f45a 776 if(volume_pega !=0){
enricoan 58:d573b618f45a 777 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 778 }
amandarm 55:4d071fb49f24 779 status_tela="inicio";
amandarm 55:4d071fb49f24 780 }
amandarm 55:4d071fb49f24 781
amandarm 55:4d071fb49f24 782 tecla=pega_tecla();
amandarm 55:4d071fb49f24 783 if(tecla=='A' && status_tela=="solta_dimensao"){
enricoan 67:ecd4feb40f94 784 dimensao_solta[programa] = 10;
amandarm 55:4d071fb49f24 785 funcao_solta1();
enricoan 58:d573b618f45a 786 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 787 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 788 }
enricoan 58:d573b618f45a 789 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 790 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 791 }
amandarm 55:4d071fb49f24 792 wait(3);
amandarm 55:4d071fb49f24 793 funcao_solta2();
enricoan 58:d573b618f45a 794 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 795 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 796 }
amandarm 55:4d071fb49f24 797 wait(3);
amandarm 55:4d071fb49f24 798 status_tela="solta";
amandarm 55:4d071fb49f24 799 }
amandarm 55:4d071fb49f24 800 else if(tecla=='B' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 801 funcao_solta1();
enricoan 58:d573b618f45a 802 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 803 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 804 }
enricoan 58:d573b618f45a 805 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 806 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 807 }
amandarm 55:4d071fb49f24 808 wait(3);
amandarm 55:4d071fb49f24 809 funcao_solta2();
enricoan 58:d573b618f45a 810 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 811 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 812 }
amandarm 55:4d071fb49f24 813 wait(3);
amandarm 55:4d071fb49f24 814 status_tela="solta";
amandarm 55:4d071fb49f24 815 }
amandarm 55:4d071fb49f24 816 if(tecla=='1' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 817 funcao_solta_vol_igual();
amandarm 55:4d071fb49f24 818 status_tela="solta_vol_igual";
amandarm 55:4d071fb49f24 819 }
amandarm 55:4d071fb49f24 820 else if(tecla=='2' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 821 funcao_solta_vol_cada();
amandarm 55:4d071fb49f24 822 status_tela="solta_vol_dif";
amandarm 55:4d071fb49f24 823 }
amandarm 55:4d071fb49f24 824 else if(tecla=='B' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 825 funcao_solta1();
enricoan 58:d573b618f45a 826 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 827 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 828 }
enricoan 58:d573b618f45a 829 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 830 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 831 }
amandarm 55:4d071fb49f24 832 wait(3);
amandarm 55:4d071fb49f24 833 funcao_solta2();
enricoan 58:d573b618f45a 834 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 835 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 836 }
amandarm 55:4d071fb49f24 837 wait(3);
amandarm 55:4d071fb49f24 838 status_tela="solta";
amandarm 55:4d071fb49f24 839 }
enricoan 56:e748b9bd5e3c 840 if(tecla=='A' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 841 funcao_solta_pos_y();
enricoan 67:ecd4feb40f94 842 pos_x_solta[programa] = 10;
enricoan 56:e748b9bd5e3c 843 status_tela="solta_pos_y";
amandarm 55:4d071fb49f24 844 }
enricoan 56:e748b9bd5e3c 845 else if(tecla=='B' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 846 funcao_solta1();
enricoan 58:d573b618f45a 847 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 848 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 849 }
enricoan 58:d573b618f45a 850 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 851 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 852 }
amandarm 55:4d071fb49f24 853 wait(3);
amandarm 55:4d071fb49f24 854 funcao_solta2();
enricoan 58:d573b618f45a 855 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 856 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 857 }
amandarm 55:4d071fb49f24 858 wait(3);
amandarm 55:4d071fb49f24 859 status_tela="solta";
amandarm 55:4d071fb49f24 860 }
amandarm 55:4d071fb49f24 861
amandarm 55:4d071fb49f24 862 tecla=pega_tecla();
amandarm 55:4d071fb49f24 863 if(tecla=='A' && status_tela=="solta_vol_igual"){
enricoan 67:ecd4feb40f94 864 volume_solta_1[programa]=10;
enricoan 67:ecd4feb40f94 865 volume_solta_2[programa]=10;
enricoan 67:ecd4feb40f94 866 volume_solta_3[programa]=10;
enricoan 67:ecd4feb40f94 867 volume_solta_4[programa]=10;
enricoan 67:ecd4feb40f94 868 volume_solta_5[programa]=10;
enricoan 67:ecd4feb40f94 869 volume_solta_6[programa]=10;
enricoan 67:ecd4feb40f94 870 volume_solta_7[programa]=10;
enricoan 67:ecd4feb40f94 871 volume_solta_8[programa]=10;
enricoan 67:ecd4feb40f94 872 volume_solta_9[programa]=10;
amandarm 55:4d071fb49f24 873
amandarm 55:4d071fb49f24 874 funcao_solta1();
enricoan 58:d573b618f45a 875 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 876 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 877 }
enricoan 58:d573b618f45a 878 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 879 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 880 }
amandarm 55:4d071fb49f24 881 wait(3);
amandarm 55:4d071fb49f24 882 funcao_solta2();
enricoan 58:d573b618f45a 883 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 884 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 885 }
amandarm 55:4d071fb49f24 886 wait(3);
enricoan 56:e748b9bd5e3c 887 status_tela="solta";}
amandarm 55:4d071fb49f24 888 else if(tecla=='B' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 889 funcao_solta_vol();
amandarm 55:4d071fb49f24 890 status_tela="solta_vol";
amandarm 55:4d071fb49f24 891 }
amandarm 55:4d071fb49f24 892 if(tecla=='1' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 893 volume_solta_1[programa]=10;
enricoan 56:e748b9bd5e3c 894 lcd.locate(12,0);lcd.printf("10");
amandarm 55:4d071fb49f24 895 }
amandarm 55:4d071fb49f24 896 if(tecla=='2' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 897 volume_solta_2[programa]=20;
enricoan 56:e748b9bd5e3c 898 lcd.locate(15,0);lcd.printf("20");
amandarm 55:4d071fb49f24 899 }
amandarm 55:4d071fb49f24 900 if(tecla=='3' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 901 volume_solta_3[programa]=30;
enricoan 56:e748b9bd5e3c 902 lcd.locate(18,0);lcd.printf("30");
amandarm 55:4d071fb49f24 903 }
amandarm 55:4d071fb49f24 904 if(tecla=='4' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 905 volume_solta_4[programa]=40;
enricoan 56:e748b9bd5e3c 906 lcd.locate(12,1);lcd.printf("40");
amandarm 55:4d071fb49f24 907 }
amandarm 55:4d071fb49f24 908 if(tecla=='5' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 909 volume_solta_5[programa]=50;
enricoan 56:e748b9bd5e3c 910 lcd.locate(15,1);lcd.printf("50");
amandarm 55:4d071fb49f24 911 }
amandarm 55:4d071fb49f24 912 if(tecla=='6' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 913 volume_solta_6[programa]=60;
enricoan 56:e748b9bd5e3c 914 lcd.locate(18,1);lcd.printf("60");
amandarm 55:4d071fb49f24 915 }
amandarm 55:4d071fb49f24 916 if(tecla=='7' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 917 volume_solta_7[programa]=70;
enricoan 56:e748b9bd5e3c 918 lcd.locate(12,2);lcd.printf("70");
amandarm 55:4d071fb49f24 919 }
amandarm 55:4d071fb49f24 920 if(tecla=='8' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 921 volume_solta_8[programa]=80;
enricoan 56:e748b9bd5e3c 922 lcd.locate(15,2);lcd.printf("80");
amandarm 55:4d071fb49f24 923 }
amandarm 55:4d071fb49f24 924 if(tecla=='9' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 925 volume_solta_9[programa]=90;
enricoan 56:e748b9bd5e3c 926 lcd.locate(18,2);lcd.printf("90");
amandarm 55:4d071fb49f24 927 }
amandarm 55:4d071fb49f24 928 if(tecla=='A' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 929 funcao_solta1();
enricoan 58:d573b618f45a 930 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 931 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 932 }
enricoan 58:d573b618f45a 933 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 934 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 935 }
amandarm 55:4d071fb49f24 936 wait(3);
amandarm 55:4d071fb49f24 937 funcao_solta2();
enricoan 58:d573b618f45a 938 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 939 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 940 }
amandarm 55:4d071fb49f24 941 wait(3);
amandarm 55:4d071fb49f24 942 status_tela="solta";
amandarm 55:4d071fb49f24 943 }
amandarm 55:4d071fb49f24 944 else if(tecla=='B' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 945 funcao_solta_vol();
amandarm 55:4d071fb49f24 946 status_tela="solta_vol";
amandarm 55:4d071fb49f24 947 }
enricoan 56:e748b9bd5e3c 948 if(tecla=='A' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 949 funcao_solta1();
enricoan 58:d573b618f45a 950 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 951 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 952 }
enricoan 58:d573b618f45a 953 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 954 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 955 }
amandarm 55:4d071fb49f24 956 wait(3);
amandarm 55:4d071fb49f24 957 funcao_solta2();
enricoan 58:d573b618f45a 958 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 959 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 960 }
enricoan 67:ecd4feb40f94 961 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 962 wait(3);
amandarm 55:4d071fb49f24 963 status_tela="solta";
amandarm 55:4d071fb49f24 964 }
enricoan 56:e748b9bd5e3c 965 else if(tecla=='B' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 966 funcao_solta1();
enricoan 58:d573b618f45a 967 if(pos_y_solta !=0){
enricoan 58:d573b618f45a 968 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 969 }
enricoan 58:d573b618f45a 970 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 971 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 972 }
amandarm 55:4d071fb49f24 973 wait(3);
amandarm 55:4d071fb49f24 974 funcao_solta2();
enricoan 58:d573b618f45a 975 if(volume_solta_9 !=0){
enricoan 58:d573b618f45a 976 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 977 }
enricoan 67:ecd4feb40f94 978 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 979 wait(3);
amandarm 55:4d071fb49f24 980 status_tela="solta";
amandarm 55:4d071fb49f24 981 }
amandarm 55:4d071fb49f24 982
enricoan 67:ecd4feb40f94 983 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 984 funcao_acomp();
amandarm 55:4d071fb49f24 985 status_tela="acompanhamento";
amandarm 55:4d071fb49f24 986 };
amandarm 55:4d071fb49f24 987 }
enricoan 10:4f49e9859535 988 }