testando

Dependencies:   mbed TextLCD2

Committer:
amandarm
Date:
Wed Jun 03 11:54:19 2020 +0000
Revision:
69:8c7e1da9d315
Parent:
68:b36bb895c8c1
Child:
70:85daa4aee916
correcao ok

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);
amandarm 68:b36bb895c8c1 278 status_tela = "salvo_confirmacao_pega_agree";
amandarm 68:b36bb895c8c1 279 }
amandarm 68:b36bb895c8c1 280 if(tecla == 'A' && status_tela =="salvo_confirmacao_pega_agree"){
enricoan 67:ecd4feb40f94 281 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 282 mov_x_mais();
amandarm 65:5a759e3014dd 283 }
enricoan 67:ecd4feb40f94 284 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 285 mov_x_menos();
amandarm 65:5a759e3014dd 286 }
enricoan 67:ecd4feb40f94 287 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 288 mov_y_mais();
amandarm 65:5a759e3014dd 289 }
enricoan 67:ecd4feb40f94 290 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 291 mov_y_menos();
amandarm 65:5a759e3014dd 292 }
amandarm 65:5a759e3014dd 293 funcao_salvo_agree_pos_certo(); //Tela para o usuário confirmar se é essa a posição de fato da pega
amandarm 49:4625aaa408fc 294 status_tela="salvo_pos_certo_pega" ;}
amandarm 68:b36bb895c8c1 295 else if(tecla == 'B' && status_tela=="salvo_confirmacao_pega_agree"){
amandarm 68:b36bb895c8c1 296 funcao_salvo1();
amandarm 68:b36bb895c8c1 297 wait(1);
amandarm 68:b36bb895c8c1 298 funcao_salvo2();
amandarm 68:b36bb895c8c1 299 programa = 1;
amandarm 68:b36bb895c8c1 300 status_tela = "salvo";}
amandarm 35:a8256801e9ab 301 else if(tecla =='2' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 302 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 303 wait(3);
amandarm 68:b36bb895c8c1 304 status_tela = "salvo_confirmacao_solta_agree";
amandarm 68:b36bb895c8c1 305 }
amandarm 68:b36bb895c8c1 306 if(tecla == 'A' && status_tela =="salvo_confirmacao_solta_agree"){
enricoan 67:ecd4feb40f94 307 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 308 mov_x_mais();
amandarm 65:5a759e3014dd 309 }
enricoan 67:ecd4feb40f94 310 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 311 mov_x_menos();
amandarm 65:5a759e3014dd 312 }
enricoan 67:ecd4feb40f94 313 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 314 mov_y_mais();
amandarm 65:5a759e3014dd 315 }
enricoan 67:ecd4feb40f94 316 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 317 mov_y_menos();
amandarm 65:5a759e3014dd 318 }
amandarm 35:a8256801e9ab 319 funcao_salvo_agree_pos_certo();
amandarm 68:b36bb895c8c1 320 status_tela = "salvo_pos_certo_solta";}
amandarm 68:b36bb895c8c1 321 else if(tecla == 'B' && status_tela=="salvo_confirmacao_solta_agree"){
amandarm 68:b36bb895c8c1 322 funcao_salvo1();
amandarm 68:b36bb895c8c1 323 wait(1);
amandarm 68:b36bb895c8c1 324 funcao_salvo2();
amandarm 68:b36bb895c8c1 325 programa = 1;
amandarm 68:b36bb895c8c1 326 status_tela = "salvo";}
amandarm 35:a8256801e9ab 327 else if(tecla =='3' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 328 funcao_salvo_agree_pega_vol(); //Função que imprime na tela do usuário que ele deve dar entreda no volume
amandarm 65:5a759e3014dd 329 continuar = 1;
enricoan 67:ecd4feb40f94 330 multiplicador = 10;
enricoan 67:ecd4feb40f94 331 lcd.locate(6,1);
amandarm 65:5a759e3014dd 332 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 65:5a759e3014dd 333 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 334 tecla = pega_tecla();
amandarm 65:5a759e3014dd 335 wait(1);
amandarm 65:5a759e3014dd 336 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 65:5a759e3014dd 337 volume = multiplicador*volume + ((int)tecla-48);
amandarm 65:5a759e3014dd 338 lcd.printf("%c", tecla);
amandarm 65:5a759e3014dd 339 }
amandarm 65:5a759e3014dd 340 else if(tecla == 'A'){
enricoan 67:ecd4feb40f94 341 volume_pega[programa]=volume; //recebe o valor que o usuário colocou no volume.
amandarm 65:5a759e3014dd 342 lcd.locate(0,2);
amandarm 65:5a759e3014dd 343 printf("Volume inputado!");
amandarm 65:5a759e3014dd 344 continuar = 0;
amandarm 65:5a759e3014dd 345 wait(1);
amandarm 65:5a759e3014dd 346 }
amandarm 65:5a759e3014dd 347 }
amandarm 65:5a759e3014dd 348 status_tela="salvo_conf_vol_pega";}
amandarm 35:a8256801e9ab 349 else if(tecla =='4' && status_tela =="salvo_confirmacao"){
amandarm 68:b36bb895c8c1 350 funcao_salvo_agree_solta_vol(); //volumes configurados por cada pipeta. (programa.vol_solta_pipeta)
amandarm 68:b36bb895c8c1 351 lcd.locate(3,0);lcd.printf("%f",volume_solta_1[programa]);
amandarm 68:b36bb895c8c1 352 lcd.locate(8,0);lcd.printf("%f",volume_solta_2[programa]);
amandarm 68:b36bb895c8c1 353 lcd.locate(13,0);lcd.printf("%f",volume_solta_3[programa]);
amandarm 68:b36bb895c8c1 354 lcd.locate(3,1);lcd.printf("%f",volume_solta_4[programa]);
amandarm 68:b36bb895c8c1 355 lcd.locate(8,2);lcd.printf("%f",volume_solta_5[programa]);
amandarm 68:b36bb895c8c1 356 lcd.locate(13,3);lcd.printf("%f",volume_solta_6[programa]);
amandarm 68:b36bb895c8c1 357 lcd.locate(3,1);lcd.printf("%f",volume_solta_7[programa]);
amandarm 68:b36bb895c8c1 358 lcd.locate(8,2);lcd.printf("%f",volume_solta_8[programa]);
amandarm 68:b36bb895c8c1 359 lcd.locate(13,3);lcd.printf("%f",volume_solta_9[programa]);
amandarm 35:a8256801e9ab 360 status_tela="salvo_conf_vol_solta";}
amandarm 35:a8256801e9ab 361 else if(tecla =='B' && status_tela =="salvo_confirmacao"){
amandarm 47:0d9c10a9f87d 362 funcao_salvo1();
amandarm 35:a8256801e9ab 363 wait(1);
amandarm 47:0d9c10a9f87d 364 funcao_salvo2();
amandarm 35:a8256801e9ab 365 programa = 1;
amandarm 35:a8256801e9ab 366 status_tela = "salvo";}
amandarm 35:a8256801e9ab 367
enricoan 43:cfc3da0299ff 368 tecla = pega_tecla();
amandarm 49:4625aaa408fc 369 if(tecla =='1' && status_tela =="salvo_pos_certo_pega"){
amandarm 48:135139e2971f 370 funcao_salvo_agree1();
amandarm 52:dca562b09080 371 lcd.locate(18,1);lcd.printf("OK");
amandarm 48:135139e2971f 372 wait(1);
amandarm 48:135139e2971f 373 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 374 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 375 }//salva essa posição como correta
amandarm 65:5a759e3014dd 376 else if(tecla =='2' && status_tela =="salvo_pos_certo_pega"){ //Caso o usuário queria ajustar o posicionamento
enricoan 67:ecd4feb40f94 377 lcd.cls();
enricoan 67:ecd4feb40f94 378 funcao_pega_pos_x();
enricoan 67:ecd4feb40f94 379 lcd.printf("Ponha a pega em x/y");
enricoan 67:ecd4feb40f94 380 lcd.locate(0,3);
enricoan 67:ecd4feb40f94 381 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 382 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 383 while(continuar){
amandarm 65:5a759e3014dd 384 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 385 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 386 lcd.cls();
amandarm 65:5a759e3014dd 387 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 388 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 389 lcd.cls();
amandarm 65:5a759e3014dd 390 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 391 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 392 lcd.cls();
amandarm 65:5a759e3014dd 393 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 394 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 395 lcd.cls();
amandarm 65:5a759e3014dd 396 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 397 if(tecla=='A'){
amandarm 65:5a759e3014dd 398 continuar = 0;
amandarm 65:5a759e3014dd 399 pos_x_pega[programa] = coord_x;
amandarm 65:5a759e3014dd 400 pos_y_pega[programa] = coord_y;
enricoan 67:ecd4feb40f94 401 lcd.cls();
amandarm 65:5a759e3014dd 402 lcd.printf("Posicao de x e y salva!");
amandarm 65:5a759e3014dd 403 printf("Posicao X: %4.1f", coord_x);
amandarm 65:5a759e3014dd 404 printf("Posicao Y: %4.1f", coord_y);
enricoan 67:ecd4feb40f94 405 funcao_salvo_agree1();
enricoan 67:ecd4feb40f94 406 wait(1);
enricoan 67:ecd4feb40f94 407 funcao_salvo_agree2();
enricoan 67:ecd4feb40f94 408 status_tela = "salvo_confirmacao";
amandarm 65:5a759e3014dd 409 }
amandarm 65:5a759e3014dd 410 }
amandarm 65:5a759e3014dd 411 }
amandarm 49:4625aaa408fc 412 else if(tecla =='B' && status_tela =="salvo_pos_certo_pega"){
amandarm 35:a8256801e9ab 413 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 414 wait(1);
amandarm 35:a8256801e9ab 415 funcao_salvo_agree2();
amandarm 48:135139e2971f 416 status_tela = "salvo_confirmacao";}
amandarm 48:135139e2971f 417
amandarm 52:dca562b09080 418 if(tecla =='A' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 419 funcao_salvo_agree1();
amandarm 52:dca562b09080 420 wait(1);
amandarm 52:dca562b09080 421 funcao_salvo_agree2();
amandarm 52:dca562b09080 422 lcd.locate(18,1);lcd.printf("OK");
enricoan 53:1d0bb62c117f 423 status_tela = "salvo_confirmacao";
amandarm 52:dca562b09080 424 }//salva essa posição como correta
amandarm 52:dca562b09080 425 else if(tecla =='B' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 426 funcao_salvo_agree1();
amandarm 52:dca562b09080 427 wait(1);
amandarm 52:dca562b09080 428 funcao_salvo_agree2();
amandarm 52:dca562b09080 429 status_tela = "salvo_confirmacao";}
amandarm 52:dca562b09080 430
amandarm 49:4625aaa408fc 431 if(tecla =='1' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 432 funcao_salvo_agree1();
amandarm 52:dca562b09080 433 lcd.locate(18,2);lcd.printf("OK");
amandarm 49:4625aaa408fc 434 wait(1);
amandarm 49:4625aaa408fc 435 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 436 status_tela = "salvo_confirmacao";
amandarm 49:4625aaa408fc 437 }//salva essa posição como correta
amandarm 65:5a759e3014dd 438 else if(tecla =='2' && status_tela =="salvo_pos_certo_solta"){
amandarm 68:b36bb895c8c1 439 lcd.cls();
amandarm 68:b36bb895c8c1 440 funcao_solta_pos_x();
amandarm 68:b36bb895c8c1 441 lcd.printf("Ponha a pega em x/y");
amandarm 68:b36bb895c8c1 442 lcd.locate(0,3);
amandarm 68:b36bb895c8c1 443 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 444 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 445 while(continuar){
amandarm 65:5a759e3014dd 446 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 447 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 448 lcd.cls();
amandarm 65:5a759e3014dd 449 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 450 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 451 lcd.cls();
amandarm 65:5a759e3014dd 452 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 453 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 454 lcd.cls();
amandarm 65:5a759e3014dd 455 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 456 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 457 lcd.cls();
amandarm 65:5a759e3014dd 458 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 459 if(tecla=='A'){
amandarm 65:5a759e3014dd 460 continuar = 0;
amandarm 68:b36bb895c8c1 461 pos_x_solta[programa] = coord_x;
amandarm 68:b36bb895c8c1 462 pos_y_solta[programa] = coord_y;
amandarm 68:b36bb895c8c1 463 lcd.cls();
amandarm 65:5a759e3014dd 464 lcd.printf("Posicao de x e y salva!");
amandarm 65:5a759e3014dd 465 printf("Posicao X: %4.1f", coord_x);
amandarm 65:5a759e3014dd 466 printf("Posicao Y: %4.1f", coord_y);
amandarm 68:b36bb895c8c1 467 funcao_salvo_agree1();
amandarm 68:b36bb895c8c1 468 wait(1);
amandarm 68:b36bb895c8c1 469 funcao_salvo_agree2();
amandarm 68:b36bb895c8c1 470 status_tela = "salvo_confirmacao";
amandarm 65:5a759e3014dd 471 }
amandarm 68:b36bb895c8c1 472 }
amandarm 65:5a759e3014dd 473 }
amandarm 49:4625aaa408fc 474 else if(tecla =='B' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 475 funcao_salvo_agree1();
amandarm 49:4625aaa408fc 476 wait(1);
amandarm 49:4625aaa408fc 477 funcao_salvo_agree2();
amandarm 49:4625aaa408fc 478 status_tela = "salvo_confirmacao";}
amandarm 49:4625aaa408fc 479
amandarm 52:dca562b09080 480 if(tecla =='A' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 481 funcao_salvo_agree1();
amandarm 48:135139e2971f 482 wait(1);
amandarm 48:135139e2971f 483 funcao_salvo_agree2();
amandarm 52:dca562b09080 484 lcd.locate(18,2);lcd.printf("OK");
enricoan 53:1d0bb62c117f 485 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 486 }//salva essa posição como correta
amandarm 68:b36bb895c8c1 487 else if(tecla =='2' && status_tela =="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 488 funcao_salvo_vol_solta_modifica();
amandarm 68:b36bb895c8c1 489 wait(3);
amandarm 68:b36bb895c8c1 490 funcao_salvo_agree_solta_vol();
amandarm 68:b36bb895c8c1 491 lcd.locate(3,0);lcd.printf("%f",volume_solta_1[programa]);
amandarm 68:b36bb895c8c1 492 lcd.locate(8,0);lcd.printf("%f",volume_solta_2[programa]);
amandarm 68:b36bb895c8c1 493 lcd.locate(13,0);lcd.printf("%f",volume_solta_3[programa]);
amandarm 68:b36bb895c8c1 494 lcd.locate(3,1);lcd.printf("%f",volume_solta_4[programa]);
amandarm 68:b36bb895c8c1 495 lcd.locate(8,2);lcd.printf("%f",volume_solta_5[programa]);
amandarm 68:b36bb895c8c1 496 lcd.locate(13,3);lcd.printf("%f",volume_solta_6[programa]);
amandarm 68:b36bb895c8c1 497 lcd.locate(3,1);lcd.printf("%f",volume_solta_7[programa]);
amandarm 68:b36bb895c8c1 498 lcd.locate(8,2);lcd.printf("%f",volume_solta_8[programa]);
amandarm 68:b36bb895c8c1 499 lcd.locate(13,3);lcd.printf("%f",volume_solta_9[programa]);
amandarm 68:b36bb895c8c1 500 if(tecla=='1' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 501 continuar = 1;
amandarm 68:b36bb895c8c1 502 multiplicador = 10;
amandarm 68:b36bb895c8c1 503 lcd.locate(3,0);
amandarm 68:b36bb895c8c1 504 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 505 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 506 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 507 wait(1);
amandarm 68:b36bb895c8c1 508 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 509 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 510 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 511 }
amandarm 68:b36bb895c8c1 512 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 513 volume_solta_1[programa]=volume;
amandarm 68:b36bb895c8c1 514 }
amandarm 68:b36bb895c8c1 515 }
amandarm 69:8c7e1da9d315 516 }
amandarm 68:b36bb895c8c1 517 if(tecla=='2' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 518 continuar = 1;
amandarm 68:b36bb895c8c1 519 multiplicador = 10;
amandarm 68:b36bb895c8c1 520 lcd.locate(8,0);
amandarm 68:b36bb895c8c1 521 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 522 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 523 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 524 wait(1);
amandarm 68:b36bb895c8c1 525 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 526 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 527 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 528 }
amandarm 68:b36bb895c8c1 529 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 530 volume_solta_2[programa]=volume;
amandarm 68:b36bb895c8c1 531 }
amandarm 68:b36bb895c8c1 532 }
amandarm 69:8c7e1da9d315 533 }
amandarm 68:b36bb895c8c1 534 if(tecla=='3' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 535 continuar = 1;
amandarm 68:b36bb895c8c1 536 multiplicador = 10;
amandarm 68:b36bb895c8c1 537 lcd.locate(13,0);
amandarm 68:b36bb895c8c1 538 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 539 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 540 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 541 wait(1);
amandarm 68:b36bb895c8c1 542 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 543 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 544 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 545 }
amandarm 68:b36bb895c8c1 546 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 547 volume_solta_3[programa]=volume;
amandarm 68:b36bb895c8c1 548 }
amandarm 68:b36bb895c8c1 549 }
amandarm 69:8c7e1da9d315 550 }
amandarm 68:b36bb895c8c1 551 if(tecla=='4' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 552 continuar = 1;
amandarm 68:b36bb895c8c1 553 multiplicador = 10;
amandarm 68:b36bb895c8c1 554 lcd.locate(3,1);
amandarm 68:b36bb895c8c1 555 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 556 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 557 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 558 wait(1);
amandarm 68:b36bb895c8c1 559 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 560 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 561 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 562 }
amandarm 68:b36bb895c8c1 563 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 564 volume_solta_4[programa]=volume;
amandarm 68:b36bb895c8c1 565 }
amandarm 68:b36bb895c8c1 566 }
amandarm 69:8c7e1da9d315 567 }
amandarm 68:b36bb895c8c1 568 if(tecla=='5' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 569 continuar = 1;
amandarm 68:b36bb895c8c1 570 multiplicador = 10;
amandarm 68:b36bb895c8c1 571 lcd.locate(8,1);
amandarm 68:b36bb895c8c1 572 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 573 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 574 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 575 wait(1);
amandarm 68:b36bb895c8c1 576 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 577 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 578 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 579 }
amandarm 68:b36bb895c8c1 580 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 581 volume_solta_5[programa]=volume;
amandarm 68:b36bb895c8c1 582 }
amandarm 68:b36bb895c8c1 583 }
amandarm 69:8c7e1da9d315 584 }
amandarm 68:b36bb895c8c1 585 if(tecla=='6' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 586 continuar = 1;
amandarm 68:b36bb895c8c1 587 multiplicador = 10;
amandarm 68:b36bb895c8c1 588 lcd.locate(13,1);
amandarm 68:b36bb895c8c1 589 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 590 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 591 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 592 wait(1);
amandarm 68:b36bb895c8c1 593 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 594 volume = multiplicador*volume + ((int)tecla-48);
amandarm 69:8c7e1da9d315 595 lcd.printf("%c", tecla);}
amandarm 68:b36bb895c8c1 596 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 597 volume_solta_6[programa]=volume;
amandarm 68:b36bb895c8c1 598 }
amandarm 68:b36bb895c8c1 599 }
amandarm 68:b36bb895c8c1 600 }
amandarm 68:b36bb895c8c1 601 if(tecla=='7' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 602 continuar = 1;
amandarm 68:b36bb895c8c1 603 multiplicador = 10;
amandarm 68:b36bb895c8c1 604 lcd.locate(3,2);
amandarm 68:b36bb895c8c1 605 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 606 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 607 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 608 wait(1);
amandarm 68:b36bb895c8c1 609 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 610 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 611 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 612 }
amandarm 68:b36bb895c8c1 613 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 614 volume_solta_7[programa]=volume;
amandarm 68:b36bb895c8c1 615 }
amandarm 68:b36bb895c8c1 616 }
amandarm 69:8c7e1da9d315 617 }
amandarm 68:b36bb895c8c1 618 if(tecla=='8' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 619 continuar = 1;
amandarm 68:b36bb895c8c1 620 multiplicador = 10;
amandarm 68:b36bb895c8c1 621 lcd.locate(8,2);
amandarm 68:b36bb895c8c1 622 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 623 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 624 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 625 wait(1);
amandarm 68:b36bb895c8c1 626 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 627 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 628 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 629 }
amandarm 68:b36bb895c8c1 630 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 631 volume_solta_8[programa]=volume;
amandarm 68:b36bb895c8c1 632 }
amandarm 68:b36bb895c8c1 633 }
amandarm 69:8c7e1da9d315 634 }
amandarm 68:b36bb895c8c1 635 if(tecla=='9' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 636 continuar = 1;
amandarm 68:b36bb895c8c1 637 multiplicador = 10;
amandarm 68:b36bb895c8c1 638 lcd.locate(13,2);
amandarm 68:b36bb895c8c1 639 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 640 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 641 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 642 wait(1);
amandarm 68:b36bb895c8c1 643 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 644 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 645 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 646 }
amandarm 68:b36bb895c8c1 647 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 648 volume_solta_9[programa]=volume;
amandarm 68:b36bb895c8c1 649 }
amandarm 68:b36bb895c8c1 650 }
amandarm 68:b36bb895c8c1 651 }
amandarm 48:135139e2971f 652 else if(tecla =='B' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 653 funcao_salvo_agree1();
amandarm 48:135139e2971f 654 wait(1);
amandarm 48:135139e2971f 655 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 656 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 657
enricoan 43:cfc3da0299ff 658 tecla = pega_tecla();
enricoan 32:2a9b30e1e7ab 659 if(tecla =='1' && status_tela =="novo"){
amandarm 26:4123b9462158 660 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 661 status_tela ="forma";}
enricoan 53:1d0bb62c117f 662
enricoan 28:c4733814201a 663 else if(tecla =='2' && status_tela == "novo"){
enricoan 54:74a215a1f76b 664 volume = 0;
enricoan 54:74a215a1f76b 665 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 666 funcao_pega_volume(); // Função que permite a entreda do valor de volume pelo usuário
Hiroball 34:1b5a00c55376 667 status_tela = "volume";
enricoan 54:74a215a1f76b 668 continuar = 1;
enricoan 54:74a215a1f76b 669 multiplicador = 10;
enricoan 67:ecd4feb40f94 670 lcd.locate(6,1);
enricoan 54:74a215a1f76b 671 while(continuar){
enricoan 54:74a215a1f76b 672 printf("\n%c",pega_tecla());
enricoan 43:cfc3da0299ff 673 tecla = pega_tecla();
enricoan 54:74a215a1f76b 674 wait(1);
enricoan 54:74a215a1f76b 675 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 676 volume = multiplicador*volume + ((int)tecla-48);
Hiroball 61:be02d7d4e208 677 lcd.printf("%c", tecla);
Hiroball 34:1b5a00c55376 678 }
Hiroball 59:447534f1e4f5 679 else if(tecla == 'A'){
amandarm 65:5a759e3014dd 680 volume_pega[programa]=volume;
enricoan 53:1d0bb62c117f 681 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 682 printf("Volume inputado!");
Hiroball 34:1b5a00c55376 683 continuar = 0;
enricoan 54:74a215a1f76b 684 wait(1);
Hiroball 34:1b5a00c55376 685 }
Hiroball 59:447534f1e4f5 686 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 687 funcao_pega1();
Hiroball 59:447534f1e4f5 688 wait(1);
Hiroball 59:447534f1e4f5 689 funcao_pega2();
Hiroball 59:447534f1e4f5 690 status_tela = "novo";
Hiroball 61:be02d7d4e208 691 continuar = 0;
Hiroball 61:be02d7d4e208 692 }
Hiroball 34:1b5a00c55376 693 }
Hiroball 34:1b5a00c55376 694 }
enricoan 28:c4733814201a 695 else if(tecla == '3' && status_tela == "novo"){
amandarm 26:4123b9462158 696 funcao_pega_pos_x();
enricoan 63:32ba7c4becfc 697 continuar = 1;
enricoan 63:32ba7c4becfc 698 while(continuar){
enricoan 63:32ba7c4becfc 699 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 700 if(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 701 lcd.cls();
enricoan 63:32ba7c4becfc 702 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 703 else if(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 704 lcd.cls();
enricoan 63:32ba7c4becfc 705 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 706 if(tecla=='A'){
enricoan 63:32ba7c4becfc 707 continuar = 0;
amandarm 65:5a759e3014dd 708 pos_x_pega[programa] = coord_x;
enricoan 63:32ba7c4becfc 709 lcd.printf("Posicao de x salva!");
enricoan 63:32ba7c4becfc 710 printf("Posicao X: %4.1f", coord_x);
enricoan 63:32ba7c4becfc 711 }
enricoan 63:32ba7c4becfc 712 }
enricoan 32:2a9b30e1e7ab 713 status_tela = "pos_x";}
enricoan 28:c4733814201a 714 else if(tecla == 'B' && status_tela == "novo"){
amandarm 26:4123b9462158 715 funcao_inicio();
enricoan 32:2a9b30e1e7ab 716 status_tela = "inicio";}
enricoan 28:c4733814201a 717 else if(tecla == '1' && status_tela == "salvo"){
amandarm 26:4123b9462158 718 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 719 status_tela = "confirmacao";}
enricoan 28:c4733814201a 720 else if(tecla =='2' && status_tela == "salvo"){
amandarm 26:4123b9462158 721 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 722 status_tela = "confirmacao";}
enricoan 28:c4733814201a 723 else if(tecla =='B' && status_tela == "salvo"){
amandarm 26:4123b9462158 724 funcao_inicio();
enricoan 32:2a9b30e1e7ab 725 status_tela = "inicio";}
amandarm 35:a8256801e9ab 726
enricoan 63:32ba7c4becfc 727 wait(0.5);
enricoan 43:cfc3da0299ff 728 tecla = pega_tecla();
enricoan 28:c4733814201a 729 if(tecla == '1' && status_tela == "forma"){
amandarm 26:4123b9462158 730 funcao_pega_forma_quad();
enricoan 67:ecd4feb40f94 731 tipo_pega[programa] =1;
Hiroball 59:447534f1e4f5 732 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 733 wait(1);
Hiroball 61:be02d7d4e208 734 status_tela ="forma_quad";
Hiroball 59:447534f1e4f5 735 continuar = 1;
Hiroball 59:447534f1e4f5 736 comprimento_quad = 0;
enricoan 63:32ba7c4becfc 737 lcd.locate(0,2);
Hiroball 59:447534f1e4f5 738 while(continuar){
Hiroball 59:447534f1e4f5 739 printf("\n%c",pega_tecla());
Hiroball 59:447534f1e4f5 740 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 741 wait(1);
Hiroball 59:447534f1e4f5 742 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
enricoan 60:e2c632e8dee1 743 comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 744 lcd.printf("%c",tecla);
Hiroball 59:447534f1e4f5 745 }
Hiroball 59:447534f1e4f5 746 else if(tecla == 'A'){
Hiroball 59:447534f1e4f5 747 continuar = 0;
Hiroball 61:be02d7d4e208 748 printf("Comprimento inputado!");
Hiroball 61:be02d7d4e208 749 printf("\nComprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 750 }
Hiroball 59:447534f1e4f5 751 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 752 funcao_pega_forma();
Hiroball 59:447534f1e4f5 753 status_tela = "forma";
Hiroball 59:447534f1e4f5 754 continuar = 0;}
Hiroball 59:447534f1e4f5 755 }
Hiroball 59:447534f1e4f5 756 }
enricoan 28:c4733814201a 757 else if(tecla == '2' && status_tela == "forma"){
amandarm 26:4123b9462158 758 funcao_pega_forma_red();
enricoan 67:ecd4feb40f94 759 tipo_pega[programa] = 2;
Hiroball 61:be02d7d4e208 760 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 761 wait(1);
Hiroball 61:be02d7d4e208 762 continuar = 1;
Hiroball 61:be02d7d4e208 763 diametro = 0;
Hiroball 61:be02d7d4e208 764 status_tela = "forma_red";
enricoan 63:32ba7c4becfc 765 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 766 while(continuar){
Hiroball 61:be02d7d4e208 767 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 768 wait(1);
Hiroball 61:be02d7d4e208 769 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 770 diametro = multiplicador*diametro + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 771 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 772 }
Hiroball 61:be02d7d4e208 773 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 774 continuar = 0;
Hiroball 61:be02d7d4e208 775 printf("Diametro inputado!");
Hiroball 61:be02d7d4e208 776 printf("Diametro: %d", diametro);
Hiroball 61:be02d7d4e208 777 }
Hiroball 61:be02d7d4e208 778 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 779 funcao_pega_forma();
Hiroball 61:be02d7d4e208 780 status_tela = "forma";
Hiroball 61:be02d7d4e208 781 continuar = 0;}
Hiroball 61:be02d7d4e208 782 }
Hiroball 61:be02d7d4e208 783 }
enricoan 28:c4733814201a 784 else if(tecla == 'B' && status_tela == "forma"){
enricoan 56:e748b9bd5e3c 785 funcao_pega1();
enricoan 56:e748b9bd5e3c 786 wait(1);
enricoan 56:e748b9bd5e3c 787 funcao_pega2();
enricoan 32:2a9b30e1e7ab 788 status_tela = "novo";}
amandarm 35:a8256801e9ab 789
enricoan 43:cfc3da0299ff 790 tecla = pega_tecla();
enricoan 28:c4733814201a 791 if(tecla == 'A' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 792 funcao_pega1();
enricoan 67:ecd4feb40f94 793 medida_lado_pega[programa] = comprimento_quad;
enricoan 58:d573b618f45a 794 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 795 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 796 }
enricoan 58:d573b618f45a 797 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 798 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 799 }
enricoan 29:76d952358896 800 wait(1);
amandarm 26:4123b9462158 801 funcao_pega2();
enricoan 58:d573b618f45a 802 if(volume_pega !=0){
enricoan 58:d573b618f45a 803 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 804 }
enricoan 56:e748b9bd5e3c 805 status_tela ="novo";}
enricoan 28:c4733814201a 806 else if(tecla == 'B' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 807 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 808 status_tela = "forma";}
enricoan 28:c4733814201a 809 else if(tecla == 'A' && status_tela == "forma_red"){
enricoan 67:ecd4feb40f94 810 medida_lado_pega[programa] = diametro;
amandarm 26:4123b9462158 811 funcao_pega1();
enricoan 58:d573b618f45a 812 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 813 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 814 }
enricoan 58:d573b618f45a 815 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 816 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 817 }
enricoan 29:76d952358896 818 wait(1);
amandarm 26:4123b9462158 819 funcao_pega2();
enricoan 58:d573b618f45a 820 if(volume_pega !=0){
enricoan 58:d573b618f45a 821 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 822 }
enricoan 56:e748b9bd5e3c 823 status_tela ="novo";}
enricoan 28:c4733814201a 824 else if(tecla == 'B' && status_tela == "forma_red"){
amandarm 26:4123b9462158 825 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 826 status_tela = "forma";}
enricoan 28:c4733814201a 827 else if(tecla == 'A' && status_tela == "volume"){
amandarm 26:4123b9462158 828 funcao_pega1();
enricoan 67:ecd4feb40f94 829 volume_pega[programa] = 12;
enricoan 58:d573b618f45a 830 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 831 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 832 }
enricoan 58:d573b618f45a 833 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 834 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 835 }
enricoan 29:76d952358896 836 wait(1);
amandarm 26:4123b9462158 837 funcao_pega2();
enricoan 58:d573b618f45a 838 if(volume_pega !=0){
enricoan 58:d573b618f45a 839 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 840 }
enricoan 56:e748b9bd5e3c 841 status_tela ="novo";}
enricoan 28:c4733814201a 842 else if( tecla == 'B' && status_tela == "volume"){
amandarm 26:4123b9462158 843 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 844 status_tela = "forma";}
enricoan 28:c4733814201a 845 else if(tecla == 'A' && status_tela == "pos_x"){
enricoan 29:76d952358896 846 funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y
enricoan 67:ecd4feb40f94 847 pos_y_pega[programa] = 12.5;
enricoan 63:32ba7c4becfc 848 status_tela = "pos_y";
enricoan 63:32ba7c4becfc 849 }
enricoan 28:c4733814201a 850 else if(tecla == 'B' && status_tela == "pos_x"){
enricoan 63:32ba7c4becfc 851 funcao_pega1();
enricoan 63:32ba7c4becfc 852 wait(1);
enricoan 63:32ba7c4becfc 853 funcao_pega2();
enricoan 63:32ba7c4becfc 854 status_tela = "novo";}
amandarm 35:a8256801e9ab 855
enricoan 63:32ba7c4becfc 856 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 857 wait(0.5);
enricoan 63:32ba7c4becfc 858 //passando direto
enricoan 28:c4733814201a 859 if(tecla == 'A' && status_tela == "pos_y"){
amandarm 26:4123b9462158 860 funcao_pega1();
enricoan 58:d573b618f45a 861 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 862 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 863 }
enricoan 58:d573b618f45a 864 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 865 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 866 }
enricoan 29:76d952358896 867 wait(1);
amandarm 26:4123b9462158 868 funcao_pega2();
enricoan 58:d573b618f45a 869 if(volume_pega !=0){
enricoan 58:d573b618f45a 870 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 871 }
enricoan 56:e748b9bd5e3c 872 wait(1);
enricoan 56:e748b9bd5e3c 873 status_tela ="novo";}
enricoan 28:c4733814201a 874 else if(tecla == 'B' && status_tela == "pos_y"){
amandarm 26:4123b9462158 875 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 876 status_tela = "forma";}
amandarm 55:4d071fb49f24 877
amandarm 55:4d071fb49f24 878
amandarm 55:4d071fb49f24 879 tecla=pega_tecla();
enricoan 56:e748b9bd5e3c 880 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 881 funcao_solta1();
amandarm 55:4d071fb49f24 882 wait(3);
amandarm 55:4d071fb49f24 883 funcao_solta2();
amandarm 55:4d071fb49f24 884 wait(3);
enricoan 56:e748b9bd5e3c 885 status_tela="solta";}
amandarm 55:4d071fb49f24 886
amandarm 55:4d071fb49f24 887 tecla=pega_tecla();
amandarm 55:4d071fb49f24 888 if(tecla == '1' && status_tela == "solta"){
amandarm 55:4d071fb49f24 889 funcao_solta_dimensao();
Hiroball 61:be02d7d4e208 890 continuar = 1;
Hiroball 61:be02d7d4e208 891 diametro_solta = 0;
amandarm 55:4d071fb49f24 892 status_tela="solta_dimensao";
Hiroball 61:be02d7d4e208 893 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 894 while(continuar){
Hiroball 61:be02d7d4e208 895 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 896 wait(1);
Hiroball 61:be02d7d4e208 897 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 898 diametro_solta = multiplicador*diametro_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 899 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 900 }
Hiroball 61:be02d7d4e208 901 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 902 printf("Diametro do solta inputado!");
Hiroball 61:be02d7d4e208 903 printf("Diametro do solta: %d", diametro_solta);
Hiroball 61:be02d7d4e208 904 continuar = 0;
Hiroball 61:be02d7d4e208 905 }
Hiroball 61:be02d7d4e208 906 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 907 funcao_pega_forma();
Hiroball 61:be02d7d4e208 908 status_tela = "solta";
Hiroball 61:be02d7d4e208 909 funcao_solta1();
amandarm 69:8c7e1da9d315 910 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 911 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 912 }
amandarm 69:8c7e1da9d315 913 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 914 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 915 }
Hiroball 61:be02d7d4e208 916 wait(3);
Hiroball 61:be02d7d4e208 917 funcao_solta2();
amandarm 69:8c7e1da9d315 918 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 919 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 920 }
Hiroball 61:be02d7d4e208 921 continuar = 0;}
Hiroball 61:be02d7d4e208 922 }
Hiroball 61:be02d7d4e208 923 }
Hiroball 61:be02d7d4e208 924
amandarm 55:4d071fb49f24 925 else if(tecla == '2' && status_tela == "solta"){
amandarm 55:4d071fb49f24 926 funcao_solta_vol();
Hiroball 61:be02d7d4e208 927 volume_solta = 0;
Hiroball 61:be02d7d4e208 928 continuar = 1;
amandarm 55:4d071fb49f24 929 status_tela="solta_vol";
Hiroball 61:be02d7d4e208 930 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 931 while(continuar){
Hiroball 61:be02d7d4e208 932 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 933 wait(1);
Hiroball 61:be02d7d4e208 934 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 935 volume_solta = multiplicador*volume_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 936 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 937 }
Hiroball 61:be02d7d4e208 938 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 939 printf("Volume solta inputado!");
Hiroball 61:be02d7d4e208 940 printf("Volume: %d", volume_solta);
Hiroball 61:be02d7d4e208 941 continuar = 0;
Hiroball 61:be02d7d4e208 942 }
Hiroball 61:be02d7d4e208 943 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 944 funcao_pega_forma();
Hiroball 61:be02d7d4e208 945 status_tela = "solta";
Hiroball 61:be02d7d4e208 946 continuar = 0;
Hiroball 61:be02d7d4e208 947 funcao_solta1();
amandarm 69:8c7e1da9d315 948 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 949 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 950 }
amandarm 69:8c7e1da9d315 951 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 952 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 953 }
Hiroball 61:be02d7d4e208 954 wait(3);
Hiroball 61:be02d7d4e208 955 funcao_solta2();
amandarm 69:8c7e1da9d315 956 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 957 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 958 }
Hiroball 61:be02d7d4e208 959 }
Hiroball 61:be02d7d4e208 960 }
amandarm 55:4d071fb49f24 961 }
amandarm 55:4d071fb49f24 962 else if(tecla == '3' && status_tela == "solta"){
amandarm 55:4d071fb49f24 963 funcao_solta_pos_x();
amandarm 55:4d071fb49f24 964 status_tela="solta_pos_x";
Hiroball 61:be02d7d4e208 965 continuar = 1;
Hiroball 61:be02d7d4e208 966 while(continuar){
enricoan 63:32ba7c4becfc 967 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 968 if(x_menos == 0){mov_x_menos();
Hiroball 61:be02d7d4e208 969 lcd.cls();
Hiroball 61:be02d7d4e208 970 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 971 else if(x_mais == 0){mov_x_mais();
Hiroball 61:be02d7d4e208 972 lcd.cls();
Hiroball 61:be02d7d4e208 973 lcd.printf("X: %4.1f", coord_x);}
Hiroball 61:be02d7d4e208 974 if(tecla=='A'){
Hiroball 61:be02d7d4e208 975 continuar = 0;
Hiroball 61:be02d7d4e208 976 printf("Posicao de x salva!");
Hiroball 61:be02d7d4e208 977 printf("Posicao X: %4.1f", coord_x);
Hiroball 61:be02d7d4e208 978 }
amandarm 55:4d071fb49f24 979 }
Hiroball 61:be02d7d4e208 980 }
amandarm 55:4d071fb49f24 981 else if(tecla == 'B' && status_tela == "solta"){
amandarm 55:4d071fb49f24 982 funcao_pega1();
enricoan 58:d573b618f45a 983 if(pos_y_pega !=0){
enricoan 58:d573b618f45a 984 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 985 }
enricoan 58:d573b618f45a 986 if(medida_lado_pega !=0){
enricoan 58:d573b618f45a 987 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 988 }
amandarm 55:4d071fb49f24 989 wait(1);
amandarm 55:4d071fb49f24 990 funcao_pega2();
enricoan 58:d573b618f45a 991 if(volume_pega !=0){
enricoan 58:d573b618f45a 992 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 993 }
amandarm 55:4d071fb49f24 994 status_tela="inicio";
amandarm 55:4d071fb49f24 995 }
amandarm 55:4d071fb49f24 996
amandarm 55:4d071fb49f24 997 tecla=pega_tecla();
amandarm 55:4d071fb49f24 998 if(tecla=='A' && status_tela=="solta_dimensao"){
enricoan 67:ecd4feb40f94 999 dimensao_solta[programa] = 10;
amandarm 55:4d071fb49f24 1000 funcao_solta1();
amandarm 69:8c7e1da9d315 1001 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1002 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1003 }
enricoan 58:d573b618f45a 1004 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1005 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1006 }
amandarm 55:4d071fb49f24 1007 wait(3);
amandarm 55:4d071fb49f24 1008 funcao_solta2();
amandarm 69:8c7e1da9d315 1009 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1010 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1011 }
amandarm 55:4d071fb49f24 1012 wait(3);
amandarm 55:4d071fb49f24 1013 status_tela="solta";
amandarm 55:4d071fb49f24 1014 }
amandarm 55:4d071fb49f24 1015 else if(tecla=='B' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 1016 funcao_solta1();
amandarm 69:8c7e1da9d315 1017 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1018 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1019 }
enricoan 58:d573b618f45a 1020 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1021 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1022 }
amandarm 55:4d071fb49f24 1023 wait(3);
amandarm 55:4d071fb49f24 1024 funcao_solta2();
amandarm 69:8c7e1da9d315 1025 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1026 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1027 }
amandarm 55:4d071fb49f24 1028 wait(3);
amandarm 55:4d071fb49f24 1029 status_tela="solta";
amandarm 55:4d071fb49f24 1030 }
amandarm 55:4d071fb49f24 1031 if(tecla=='1' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1032 funcao_solta_vol_igual();
amandarm 55:4d071fb49f24 1033 status_tela="solta_vol_igual";
amandarm 55:4d071fb49f24 1034 }
amandarm 55:4d071fb49f24 1035 else if(tecla=='2' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1036 funcao_solta_vol_cada();
amandarm 55:4d071fb49f24 1037 status_tela="solta_vol_dif";
amandarm 55:4d071fb49f24 1038 }
amandarm 55:4d071fb49f24 1039 else if(tecla=='B' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1040 funcao_solta1();
amandarm 69:8c7e1da9d315 1041 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1042 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1043 }
amandarm 69:8c7e1da9d315 1044 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 1045 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1046 }
amandarm 55:4d071fb49f24 1047 wait(3);
amandarm 55:4d071fb49f24 1048 funcao_solta2();
amandarm 69:8c7e1da9d315 1049 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1050 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1051 }
amandarm 55:4d071fb49f24 1052 wait(3);
amandarm 55:4d071fb49f24 1053 status_tela="solta";
amandarm 55:4d071fb49f24 1054 }
enricoan 56:e748b9bd5e3c 1055 if(tecla=='A' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1056 funcao_solta_pos_y();
enricoan 67:ecd4feb40f94 1057 pos_x_solta[programa] = 10;
enricoan 56:e748b9bd5e3c 1058 status_tela="solta_pos_y";
amandarm 55:4d071fb49f24 1059 }
enricoan 56:e748b9bd5e3c 1060 else if(tecla=='B' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1061 funcao_solta1();
amandarm 69:8c7e1da9d315 1062 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1063 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1064 }
enricoan 58:d573b618f45a 1065 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1066 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1067 }
amandarm 55:4d071fb49f24 1068 wait(3);
amandarm 55:4d071fb49f24 1069 funcao_solta2();
amandarm 69:8c7e1da9d315 1070 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1071 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1072 }
amandarm 55:4d071fb49f24 1073 wait(3);
amandarm 55:4d071fb49f24 1074 status_tela="solta";
amandarm 55:4d071fb49f24 1075 }
amandarm 55:4d071fb49f24 1076
amandarm 55:4d071fb49f24 1077 tecla=pega_tecla();
amandarm 55:4d071fb49f24 1078 if(tecla=='A' && status_tela=="solta_vol_igual"){
enricoan 67:ecd4feb40f94 1079 volume_solta_1[programa]=10;
enricoan 67:ecd4feb40f94 1080 volume_solta_2[programa]=10;
enricoan 67:ecd4feb40f94 1081 volume_solta_3[programa]=10;
enricoan 67:ecd4feb40f94 1082 volume_solta_4[programa]=10;
enricoan 67:ecd4feb40f94 1083 volume_solta_5[programa]=10;
enricoan 67:ecd4feb40f94 1084 volume_solta_6[programa]=10;
enricoan 67:ecd4feb40f94 1085 volume_solta_7[programa]=10;
enricoan 67:ecd4feb40f94 1086 volume_solta_8[programa]=10;
enricoan 67:ecd4feb40f94 1087 volume_solta_9[programa]=10;
amandarm 55:4d071fb49f24 1088
amandarm 55:4d071fb49f24 1089 funcao_solta1();
amandarm 69:8c7e1da9d315 1090 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1091 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1092 }
amandarm 69:8c7e1da9d315 1093 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1094 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1095 }
amandarm 55:4d071fb49f24 1096 wait(3);
amandarm 55:4d071fb49f24 1097 funcao_solta2();
amandarm 69:8c7e1da9d315 1098 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1099 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1100 }
amandarm 55:4d071fb49f24 1101 wait(3);
enricoan 56:e748b9bd5e3c 1102 status_tela="solta";}
amandarm 55:4d071fb49f24 1103 else if(tecla=='B' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 1104 funcao_solta_vol();
amandarm 55:4d071fb49f24 1105 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1106 }
amandarm 55:4d071fb49f24 1107 if(tecla=='1' && status_tela=="solta_vol_dif"){
amandarm 69:8c7e1da9d315 1108 continuar = 1;
amandarm 69:8c7e1da9d315 1109 multiplicador = 10;
amandarm 69:8c7e1da9d315 1110 lcd.locate(8,0);
amandarm 69:8c7e1da9d315 1111 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 69:8c7e1da9d315 1112 printf("\n%c",pega_tecla());
amandarm 69:8c7e1da9d315 1113 tecla = pega_tecla();
amandarm 69:8c7e1da9d315 1114 wait(1);
amandarm 69:8c7e1da9d315 1115 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 69:8c7e1da9d315 1116 volume = multiplicador*volume + ((int)tecla-48);
amandarm 69:8c7e1da9d315 1117 lcd.locate(12,0);lcd.printf("%c", tecla);
amandarm 69:8c7e1da9d315 1118 }
amandarm 69:8c7e1da9d315 1119 else if(tecla == 'A'){
amandarm 69:8c7e1da9d315 1120 volume_solta_2[programa]=volume;
amandarm 69:8c7e1da9d315 1121 }
amandarm 69:8c7e1da9d315 1122 }
amandarm 69:8c7e1da9d315 1123 volume_solta_1[programa]=volume;
amandarm 55:4d071fb49f24 1124 }
amandarm 55:4d071fb49f24 1125 if(tecla=='2' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1126 volume_solta_2[programa]=20;
enricoan 56:e748b9bd5e3c 1127 lcd.locate(15,0);lcd.printf("20");
amandarm 55:4d071fb49f24 1128 }
amandarm 55:4d071fb49f24 1129 if(tecla=='3' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1130 volume_solta_3[programa]=30;
enricoan 56:e748b9bd5e3c 1131 lcd.locate(18,0);lcd.printf("30");
amandarm 55:4d071fb49f24 1132 }
amandarm 55:4d071fb49f24 1133 if(tecla=='4' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1134 volume_solta_4[programa]=40;
enricoan 56:e748b9bd5e3c 1135 lcd.locate(12,1);lcd.printf("40");
amandarm 55:4d071fb49f24 1136 }
amandarm 55:4d071fb49f24 1137 if(tecla=='5' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1138 volume_solta_5[programa]=50;
enricoan 56:e748b9bd5e3c 1139 lcd.locate(15,1);lcd.printf("50");
amandarm 55:4d071fb49f24 1140 }
amandarm 55:4d071fb49f24 1141 if(tecla=='6' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1142 volume_solta_6[programa]=60;
enricoan 56:e748b9bd5e3c 1143 lcd.locate(18,1);lcd.printf("60");
amandarm 55:4d071fb49f24 1144 }
amandarm 55:4d071fb49f24 1145 if(tecla=='7' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1146 volume_solta_7[programa]=70;
enricoan 56:e748b9bd5e3c 1147 lcd.locate(12,2);lcd.printf("70");
amandarm 55:4d071fb49f24 1148 }
amandarm 55:4d071fb49f24 1149 if(tecla=='8' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1150 volume_solta_8[programa]=80;
enricoan 56:e748b9bd5e3c 1151 lcd.locate(15,2);lcd.printf("80");
amandarm 55:4d071fb49f24 1152 }
amandarm 55:4d071fb49f24 1153 if(tecla=='9' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1154 volume_solta_9[programa]=90;
enricoan 56:e748b9bd5e3c 1155 lcd.locate(18,2);lcd.printf("90");
amandarm 55:4d071fb49f24 1156 }
amandarm 55:4d071fb49f24 1157 if(tecla=='A' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1158 funcao_solta1();
amandarm 69:8c7e1da9d315 1159 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1160 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1161 }
enricoan 58:d573b618f45a 1162 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1163 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1164 }
amandarm 55:4d071fb49f24 1165 wait(3);
amandarm 55:4d071fb49f24 1166 funcao_solta2();
amandarm 69:8c7e1da9d315 1167 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1168 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1169 }
amandarm 55:4d071fb49f24 1170 wait(3);
amandarm 55:4d071fb49f24 1171 status_tela="solta";
amandarm 55:4d071fb49f24 1172 }
amandarm 55:4d071fb49f24 1173 else if(tecla=='B' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1174 funcao_solta_vol();
amandarm 55:4d071fb49f24 1175 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1176 }
enricoan 56:e748b9bd5e3c 1177 if(tecla=='A' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1178 funcao_solta1();
amandarm 69:8c7e1da9d315 1179 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1180 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1181 }
enricoan 58:d573b618f45a 1182 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1183 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1184 }
amandarm 55:4d071fb49f24 1185 wait(3);
amandarm 55:4d071fb49f24 1186 funcao_solta2();
amandarm 69:8c7e1da9d315 1187 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1188 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1189 }
enricoan 67:ecd4feb40f94 1190 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1191 wait(3);
amandarm 55:4d071fb49f24 1192 status_tela="solta";
amandarm 55:4d071fb49f24 1193 }
enricoan 56:e748b9bd5e3c 1194 else if(tecla=='B' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1195 funcao_solta1();
amandarm 69:8c7e1da9d315 1196 if(volume_solta_9 !=0){
amandarm 69:8c7e1da9d315 1197 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1198 }
enricoan 58:d573b618f45a 1199 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1200 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1201 }
amandarm 55:4d071fb49f24 1202 funcao_solta2();
amandarm 69:8c7e1da9d315 1203 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1204 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1205 }
enricoan 67:ecd4feb40f94 1206 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1207 wait(3);
amandarm 55:4d071fb49f24 1208 status_tela="solta";
amandarm 69:8c7e1da9d315 1209 }
amandarm 55:4d071fb49f24 1210
enricoan 67:ecd4feb40f94 1211 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 1212 funcao_acomp();
amandarm 55:4d071fb49f24 1213 status_tela="acompanhamento";
amandarm 55:4d071fb49f24 1214 };
amandarm 55:4d071fb49f24 1215 }
amandarm 69:8c7e1da9d315 1216 }
enricoan 10:4f49e9859535 1217 }