testando

Dependencies:   mbed TextLCD2

Committer:
Hiroball
Date:
Sun Jun 07 02:07:00 2020 +0000
Revision:
81:aa3f095fd82a
Parent:
80:3a69b08e062f
Child:
82:b8b6374ce1e6
Teste de loop (linha 268);

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>
Hiroball 72:aa3902facc8c 8 #define PI 3.14159265
amandarm 35:a8256801e9ab 9
enricoan 29:76d952358896 10 //local para a declaracao de varioveis
enricoan 30:179ceb3e5791 11 float t_motor = 0.002; //delay entre o acionamento de uma bobina do motor e a outra
enricoan 30:179ceb3e5791 12 float t_teclado = 0.01; //delay entre a leitura de um botão do teclado, necessário para que um click nao gere mais de uma saída
enricoan 24:38820e43b9fe 13 int hor[] = {12,6,3,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido horário enviando a sequência de 0's e 1's às bobinas
enricoan 24:38820e43b9fe 14 int antihor[] = {3,6,12,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido anti-horário enviando a sequência de 0's e 1's às bobinas
enricoan 24:38820e43b9fe 15 int parado[] = {0,0,0,0}; //valores enviados às bobinas do motor para deixá-lo parado
enricoan 30:179ceb3e5791 16 char tecla; //variável que guarda a tecla apertada no teclado
enricoan 30:179ceb3e5791 17 float coord_x = 0; //variável que guardará a posição linear do eixo x, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto
enricoan 30:179ceb3e5791 18 float coord_y = 0; //variável que guardará a posição linear do eixo y, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto
Hiroball 72:aa3902facc8c 19 float coord_z = 0;
Hiroball 72:aa3902facc8c 20 float normal_z = 100; //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 21 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 22 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 23 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
Hiroball 72:aa3902facc8c 24 float altura_solta = 50;
enricoan 17:4d0b8ed791e0 25
enricoan 29:76d952358896 26 //pinos usados pelos botoes de fim de curso
enricoan 17:4d0b8ed791e0 27 DigitalIn fdc_x(PC_10);
enricoan 17:4d0b8ed791e0 28 DigitalIn fdc_y(PC_11);
enricoan 17:4d0b8ed791e0 29 DigitalIn fdc_z(PC_12);
enricoan 20:81a44a25b21d 30
enricoan 29:76d952358896 31 //Iterrupcao botao de emergência
enricoan 63:32ba7c4becfc 32 InterruptIn interrupcao(PB_11);
amandarm 25:b0db528c1985 33
enricoan 78:e1dfd20407fc 34 //pinos do rele, saida digital para acionar o rele se necessario
enricoan 78:e1dfd20407fc 35 //dada uma entrada no pino da emergencia ou um comando de acionamento da pipeta
enricoan 74:53c345d557e8 36 DigitalOut pipeta(PC_5, 1);
enricoan 74:53c345d557e8 37 DigitalOut rele2(PB_9, 1);
amandarm 25:b0db528c1985 38
enricoan 29:76d952358896 39 //botoes para movimentacao eixo a eixo
enricoan 10:4f49e9859535 40 DigitalIn x_mais(PA_0);
enricoan 10:4f49e9859535 41 DigitalIn x_menos(PA_1);
enricoan 10:4f49e9859535 42 DigitalIn y_mais(PC_0);
enricoan 10:4f49e9859535 43 DigitalIn y_menos(PC_1);
enricoan 10:4f49e9859535 44 DigitalIn z_mais(PC_2);
enricoan 10:4f49e9859535 45 DigitalIn z_menos(PC_3);
enricoan 10:4f49e9859535 46
enricoan 16:70baa0057a76 47 //pinos do teclado
enricoan 40:39263f4cf8b7 48 DigitalIn b(PC_4);
enricoan 40:39263f4cf8b7 49 DigitalIn a(PB_0);
enricoan 40:39263f4cf8b7 50 DigitalIn t_0(PC_13);
enricoan 40:39263f4cf8b7 51 DigitalIn t_1(PB_7);
enricoan 40:39263f4cf8b7 52 DigitalIn t_2(PD_2);
enricoan 41:9709891f77c5 53 DigitalIn t_3(PA_4);
enricoan 40:39263f4cf8b7 54 DigitalIn t_4(PB_12);
enricoan 40:39263f4cf8b7 55 DigitalIn t_5(PB_15);
enricoan 41:9709891f77c5 56 DigitalIn t_6(PA_7);
enricoan 40:39263f4cf8b7 57 DigitalIn t_7(PB_14);
enricoan 40:39263f4cf8b7 58 DigitalIn t_8(PA_6);
enricoan 40:39263f4cf8b7 59 DigitalIn t_9(PB_13);
enricoan 16:70baa0057a76 60
enricoan 10:4f49e9859535 61 //pinos de saída para os motores
enricoan 10:4f49e9859535 62 //eixo x
Hiroball 11:dc557e461dfd 63 BusOut eixox(PA_15,PA_14,PA_13,PA_12);
enricoan 10:4f49e9859535 64 //eixo y
Hiroball 11:dc557e461dfd 65 BusOut eixoy(PA_11,PA_10,PB_2,PB_1);
enricoan 10:4f49e9859535 66 //eixo z
Hiroball 11:dc557e461dfd 67 BusOut eixoz(PC_9,PC_8,PB_8,PC_6);
enricoan 10:4f49e9859535 68
enricoan 42:a6fbbe536814 69 //funcao para receber inputs do teclado
enricoan 43:cfc3da0299ff 70 char pega_tecla(){
enricoan 43:cfc3da0299ff 71 if (b == 0)return ('A');
enricoan 43:cfc3da0299ff 72 if (a == 0)return('B');
enricoan 43:cfc3da0299ff 73 if (t_0 == 0)return('0');
enricoan 43:cfc3da0299ff 74 if (t_1 == 0)return('1');
enricoan 43:cfc3da0299ff 75 if (t_2 == 0)return('2');
enricoan 43:cfc3da0299ff 76 if (t_3 == 0)return('3');
enricoan 43:cfc3da0299ff 77 if (t_4 == 0)return('4');
enricoan 43:cfc3da0299ff 78 if (t_5 == 0)return('5');
enricoan 43:cfc3da0299ff 79 if (t_6 == 0)return('6');
enricoan 43:cfc3da0299ff 80 if (t_7 == 0)return('7');
enricoan 43:cfc3da0299ff 81 if (t_8 == 0)return('8');
enricoan 54:74a215a1f76b 82 if (t_9 == 0)return('9');
enricoan 54:74a215a1f76b 83 return('k');}
enricoan 42:a6fbbe536814 84
enricoan 32:2a9b30e1e7ab 85 //funcao de movimentacao dos motores
enricoan 63:32ba7c4becfc 86 void mov_x_menos(){for(int i = 0; i < 4; i++){eixox = antihor[i];wait(t_motor);coord_x -= (5.625*5/32)/360;}}
enricoan 32:2a9b30e1e7ab 87 void mov_y_menos(){for(int i = 0; i < 4; i++){eixoy = antihor[i];wait(t_motor);coord_y -= (5.625*5/32)/360;est_y = 0;}}
enricoan 32:2a9b30e1e7ab 88 void mov_z_menos(){for(int i = 0; i < 4; i++){eixoz = antihor[i];wait(t_motor);coord_z -= (5.625*5/32)/360;est_z = 0;}}
enricoan 63:32ba7c4becfc 89 void mov_x_mais() {for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);coord_x += (5.625*5/32)/360;}}
enricoan 32:2a9b30e1e7ab 90 void mov_y_mais() {for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);coord_y += (5.625*5/32)/360;est_y = 0;}}
enricoan 32:2a9b30e1e7ab 91 void mov_z_mais() {for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);coord_z += (5.625*5/32)/360;est_z = 0;}}
enricoan 32:2a9b30e1e7ab 92
enricoan 80:3a69b08e062f 93 void salvamento_nome_1(){
enricoan 80:3a69b08e062f 94 // if(nome_programa[1] != 0){lcd.locate(2,0);lcd.print("%d",nome_programa[1]);}
enricoan 80:3a69b08e062f 95 // if(nome_programa[2] != 0){lcd.locate(2,1);lcd.print("%d",nome_programa[2]);}
enricoan 80:3a69b08e062f 96 // if(nome_programa[3] != 0){lcd.locate(2,2);lcd.print("%d",nome_programa[3]);}
enricoan 80:3a69b08e062f 97 }
enricoan 80:3a69b08e062f 98 void salvamento_nome_2(){
enricoan 80:3a69b08e062f 99 // if(nome_programa[4] != 0){lcd.locate(2,0);lcd.print("%d",nome_programa[4]);}
enricoan 80:3a69b08e062f 100 // if(nome_programa[5] != 0){lcd.locate(2,1);lcd.print("%d",nome_programa[5]);}
enricoan 80:3a69b08e062f 101 // if(nome_programa[6] != 0){lcd.locate(2,2);lcd.print("%d",nome_programa[6]);}
enricoan 80:3a69b08e062f 102 }
enricoan 80:3a69b08e062f 103
Hiroball 72:aa3902facc8c 104 void go_to_posicao(float posicao_x, float posicao_y){
Hiroball 72:aa3902facc8c 105 while(coord_x < posicao_x){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
Hiroball 72:aa3902facc8c 106 mov_x_mais();
Hiroball 72:aa3902facc8c 107 }
Hiroball 72:aa3902facc8c 108 while(coord_x > posicao_x){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
Hiroball 72:aa3902facc8c 109 mov_x_menos();
Hiroball 72:aa3902facc8c 110 }
Hiroball 72:aa3902facc8c 111 while(coord_y < posicao_y){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
Hiroball 72:aa3902facc8c 112 mov_y_mais();
Hiroball 72:aa3902facc8c 113 }
Hiroball 72:aa3902facc8c 114 while(coord_y > posicao_y){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
Hiroball 72:aa3902facc8c 115 mov_y_menos();
Hiroball 72:aa3902facc8c 116 };
Hiroball 72:aa3902facc8c 117 }
Hiroball 72:aa3902facc8c 118
Hiroball 72:aa3902facc8c 119 float calcula_altura(int forma_do_pega, int dimensao, float v, int contador){
Hiroball 72:aa3902facc8c 120 if(forma_do_pega==1){//quad
Hiroball 72:aa3902facc8c 121 return (v-contador)/(dimensao*dimensao)*0.001-4;
Hiroball 72:aa3902facc8c 122 }
Hiroball 72:aa3902facc8c 123 else if(forma_do_pega==2){//red
Hiroball 72:aa3902facc8c 124 return ((v-contador)/(PI*(dimensao/2)*(dimensao/2))*0.001-4);
Hiroball 72:aa3902facc8c 125 };
Hiroball 72:aa3902facc8c 126 }
Hiroball 72:aa3902facc8c 127
Hiroball 72:aa3902facc8c 128 void go_to_z(float posicao_z){
Hiroball 72:aa3902facc8c 129 while(coord_z < posicao_z){ //posicionar no local da pega salvo; - se for menor o valor da referencia, gira no sentido horário para aumentar
Hiroball 72:aa3902facc8c 130 mov_z_mais();
Hiroball 72:aa3902facc8c 131 }
Hiroball 72:aa3902facc8c 132 while(coord_z > posicao_z){ //posicionar no local da pega salvo; - se for maior o valor da referencia, gira no sentido antihorário para diminuir
Hiroball 72:aa3902facc8c 133 mov_z_menos();
Hiroball 72:aa3902facc8c 134 }
Hiroball 72:aa3902facc8c 135 }
Hiroball 72:aa3902facc8c 136
Hiroball 81:aa3f095fd82a 137 //Função que troca de tela
Hiroball 81:aa3f095fd82a 138 void troca_tela(bool cond, void tela1(), void tela2(), float valory){
Hiroball 81:aa3f095fd82a 139 TextLCD lcd(D4, D5, D6, D7, D8, D9);
Hiroball 81:aa3f095fd82a 140 while(cond){
Hiroball 81:aa3f095fd82a 141 tela1();
Hiroball 81:aa3f095fd82a 142 wait(2);
Hiroball 81:aa3f095fd82a 143 tela2();
Hiroball 81:aa3f095fd82a 144 if(valory !=0){
Hiroball 81:aa3f095fd82a 145 lcd.locate(18,1);
Hiroball 81:aa3f095fd82a 146 lcd.printf("OK");
Hiroball 81:aa3f095fd82a 147 }
Hiroball 81:aa3f095fd82a 148 wait(2);
Hiroball 81:aa3f095fd82a 149 tecla = pega_tecla();
Hiroball 81:aa3f095fd82a 150 if(tecla!='k'){
Hiroball 81:aa3f095fd82a 151 printf("entrou no if");
Hiroball 81:aa3f095fd82a 152 cond = 0;
Hiroball 81:aa3f095fd82a 153 }
Hiroball 81:aa3f095fd82a 154 };
Hiroball 81:aa3f095fd82a 155 }
Hiroball 81:aa3f095fd82a 156
enricoan 78:e1dfd20407fc 157 //Funcao que será chamada na interrupcao da queda do botao de emergencia
enricoan 32:2a9b30e1e7ab 158 void emergencia(){TextLCD lcd(D4, D5, D6, D7, D8, D9);
amandarm 79:b9e2d020240c 159 rele2 = 0; //desligamento eletrico dos motores
enricoan 78:e1dfd20407fc 160 eixox = 0b0000; //desligamento do motor do eixo x a partir do zeramento do estado de todas as suas bobinas
enricoan 78:e1dfd20407fc 161 eixoy = 0b0000; //desligamento do motor do eixo x a partir do zeramento do estado de todas as suas bobinas
enricoan 78:e1dfd20407fc 162 eixoz = 0b0000; //desligamento do motor do eixo x a partir do zeramento do estado de todas as suas bobinas
enricoan 78:e1dfd20407fc 163 lcd.cls();lcd.printf("EMERGENCIA ACIONADA"); //aviso da situacao de emergencia da maquina
enricoan 74:53c345d557e8 164 lcd.locate(0,1);lcd.printf("Desarme o botao");
enricoan 74:53c345d557e8 165 lcd.locate(0,2);lcd.printf("e pressione B para");
enricoan 74:53c345d557e8 166 lcd.locate(0,3);lcd.printf("prosseguir");
enricoan 74:53c345d557e8 167 wait(1);}
enricoan 56:e748b9bd5e3c 168
enricoan 78:e1dfd20407fc 169 //Funcao de zeramento, chamada assim que a maquina liga e impede que o codigo entre no while(1) enquanto nao for 100% executada.
enricoan 78:e1dfd20407fc 170 //Ela aciona os motores ate que o fim de curso seja atingido e pressionado, além de zerar todas as coordenadas dos eixos quando os fins de curso são acionados.
amandarm 27:45f8125a0c0b 171 void zeramento(){
amandarm 27:45f8125a0c0b 172 while (fdc_x != 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);est_x = 1;}}
amandarm 27:45f8125a0c0b 173 while (fdc_y != 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);est_y = 1;}}
enricoan 54:74a215a1f76b 174 while (fdc_z != 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);est_z = 1;}}}
enricoan 29:76d952358896 175
enricoan 54:74a215a1f76b 176 //Variaveis para operacao IHM
enricoan 29:76d952358896 177 using std::string;
enricoan 78:e1dfd20407fc 178 string status_tela = "zeramento"; //variavel para guardar o estado atual da tela e situar o programa, juntamente aos botoes apertados, a respeito de onde ele está.
enricoan 78:e1dfd20407fc 179 //Neste sentido, ao longo de todo o programa, esta variavel sera usada seguindo a lógica de "se estou na tela x e o usuario apertou o botao
enricoan 78:e1dfd20407fc 180 //y, vou para a tela z"
enricoan 78:e1dfd20407fc 181 int programa = 0; //A variável programa remete a que programa salvo o usuário deseja acessar
enricoan 29:76d952358896 182
enricoan 78:e1dfd20407fc 183 //Informações sobre o pega a serem armazenadas no array do programa que está sendo construido pelo usuário
amandarm 65:5a759e3014dd 184 float pos_x_pega[30];
amandarm 65:5a759e3014dd 185 float pos_y_pega [30];
amandarm 65:5a759e3014dd 186 float medida_lado_pega[30];
amandarm 65:5a759e3014dd 187 float volume_pega[30];
amandarm 65:5a759e3014dd 188 int tipo_pega[30];
amandarm 79:b9e2d020240c 189 int nome_programa[30];
amandarm 79:b9e2d020240c 190 //parametros que são de confirmação
amandarm 79:b9e2d020240c 191 int confirmacao_vol_solta[30];
amandarm 79:b9e2d020240c 192 int confirmacao_vol_pega[30];
amandarm 79:b9e2d020240c 193 int confirmacao_pos_solta[30];
amandarm 79:b9e2d020240c 194 int confirmacao_pos_pega[30];
amandarm 55:4d071fb49f24 195
enricoan 78:e1dfd20407fc 196 //Informações sobre os solta's a serem armazenadas no array do programa que está sendo construido pelo usuário
amandarm 65:5a759e3014dd 197 float dimensao_solta[30];
amandarm 65:5a759e3014dd 198 float volume_solta_1[30];
amandarm 65:5a759e3014dd 199 float volume_solta_2[30];
amandarm 65:5a759e3014dd 200 float volume_solta_3[30];
amandarm 65:5a759e3014dd 201 float volume_solta_4[30];
amandarm 65:5a759e3014dd 202 float volume_solta_5[30];
amandarm 65:5a759e3014dd 203 float volume_solta_6[30];
amandarm 65:5a759e3014dd 204 float volume_solta_7[30];
amandarm 65:5a759e3014dd 205 float volume_solta_8[30];
amandarm 65:5a759e3014dd 206 float volume_solta_9[30];
amandarm 65:5a759e3014dd 207 float pos_x_solta[30];
amandarm 65:5a759e3014dd 208 float pos_y_solta[30];
amandarm 55:4d071fb49f24 209
amandarm 57:e26deee15b8f 210 //main
enricoan 29:76d952358896 211 int main() {
enricoan 56:e748b9bd5e3c 212 interrupcao.fall(&emergencia);
enricoan 54:74a215a1f76b 213 int volume;
Hiroball 61:be02d7d4e208 214 int volume_solta;
Hiroball 61:be02d7d4e208 215 int diametro_solta;
Hiroball 61:be02d7d4e208 216 int diametro;
Hiroball 59:447534f1e4f5 217 int comprimento_quad;
enricoan 54:74a215a1f76b 218 bool continuar;
Hiroball 61:be02d7d4e208 219 int multiplicador = 10;
enricoan 78:e1dfd20407fc 220 TextLCD lcd(D4, D5, D6, D7, D8, D9); //Pinos para ligar o display à NUCLEO
Hiroball 70:85daa4aee916 221
Hiroball 70:85daa4aee916 222 //Tela inicial
enricoan 29:76d952358896 223 lcd.printf("Bem-vindo ao Pipemax");
enricoan 78:e1dfd20407fc 224 lcd.locate(3,1);
enricoan 29:76d952358896 225 lcd.printf("o seu sistema");
enricoan 78:e1dfd20407fc 226 lcd.locate(4,2);
enricoan 29:76d952358896 227 lcd.printf("automatizado");
enricoan 78:e1dfd20407fc 228 lcd.locate(3,3);
enricoan 29:76d952358896 229 lcd.printf("de pipetagem");
enricoan 33:a513498222c7 230 wait(3);
enricoan 28:c4733814201a 231 lcd.cls();
enricoan 78:e1dfd20407fc 232 //tela de espera do zeramento do sistema, enquanto ele não for aceito, a maquina nao pode operar
enricoan 29:76d952358896 233 lcd.printf("Por favor, aceite");
amandarm 27:45f8125a0c0b 234 lcd.locate(0,1);
enricoan 29:76d952358896 235 lcd.printf("o zeramento do seu");
amandarm 27:45f8125a0c0b 236 lcd.locate(0,2);
enricoan 29:76d952358896 237 lcd.printf("sistema");
amandarm 27:45f8125a0c0b 238 lcd.locate(0,3);
Hiroball 70:85daa4aee916 239 lcd.printf("A - proximo");
Hiroball 70:85daa4aee916 240
Hiroball 70:85daa4aee916 241 //Loop principal
enricoan 33:a513498222c7 242 while(1) {
enricoan 78:e1dfd20407fc 243 rele2 = 1;
enricoan 78:e1dfd20407fc 244 tecla = pega_tecla();//Variável que guarda o valor da tecla apertada, é chamada diversas vezes ao longo do código
enricoan 78:e1dfd20407fc 245 //para atualizar o valor mais rapidamente e sempre que necessário
Hiroball 70:85daa4aee916 246
Hiroball 70:85daa4aee916 247 //Teste para analisar se os valores estão corretos através do monitor serial
enricoan 50:cd54c98b6ef1 248 printf("\n%s",status_tela);
enricoan 50:cd54c98b6ef1 249 printf("\n%c",tecla);
Hiroball 70:85daa4aee916 250
Hiroball 70:85daa4aee916 251 //O zeramento só é feito se confirmado apertando a tecla 'A'
enricoan 29:76d952358896 252 if(tecla == 'A' && status_tela == "zeramento"){
amandarm 27:45f8125a0c0b 253 zeramento();
enricoan 33:a513498222c7 254 status_tela = "inicio";
enricoan 71:c91c96bbed54 255 funcao_inicio();}
enricoan 43:cfc3da0299ff 256
Hiroball 70:85daa4aee916 257 //Caso nenhum botão esteja apertado, os motores devem permanecer parados
enricoan 33:a513498222c7 258 if(x_mais && x_menos && y_mais && y_menos && z_mais && z_menos != 0){
enricoan 16:70baa0057a76 259 for(int i = 0; i < 4; i++){eixox = parado[i];}
enricoan 16:70baa0057a76 260 for(int i = 0; i < 4; i++){eixoy = parado[i];}
enricoan 33:a513498222c7 261 for(int i = 0; i < 4; i++){eixoz = parado[i];}}
amandarm 35:a8256801e9ab 262
Hiroball 70:85daa4aee916 263 tecla = pega_tecla();//Atualiza a variável tecla
Hiroball 70:85daa4aee916 264
Hiroball 70:85daa4aee916 265 //Ações para a tela inicial
enricoan 78:e1dfd20407fc 266 if(tecla == '1' && status_tela == "inicio"){
Hiroball 70:85daa4aee916 267 continuar = 1; //Condição de funcionamento do loop abaixo
Hiroball 81:aa3f095fd82a 268 troca_tela(continuar, funcao_pega1, funcao_pega2, pos_y_pega[programa]);
Hiroball 81:aa3f095fd82a 269 //while(continuar){//Esse loop indica que há a alternancia entre duas telas enquanto nada for selecionado.
Hiroball 81:aa3f095fd82a 270 // //Ele aparecerá todas as vezes que isso for necessário, portanto não será mais comentado daqui em diante
Hiroball 81:aa3f095fd82a 271 // funcao_pega1();
Hiroball 81:aa3f095fd82a 272 // wait(2);
Hiroball 81:aa3f095fd82a 273 // funcao_pega2();
Hiroball 81:aa3f095fd82a 274 // if(pos_y_pega[programa] !=0){
Hiroball 81:aa3f095fd82a 275 // lcd.locate(18,1);lcd.printf("OK");
Hiroball 81:aa3f095fd82a 276 // }
Hiroball 81:aa3f095fd82a 277 // wait(2);
Hiroball 81:aa3f095fd82a 278 // tecla = pega_tecla();
Hiroball 81:aa3f095fd82a 279 // if(tecla!='k'){
Hiroball 81:aa3f095fd82a 280 // printf("entrou no if");
Hiroball 81:aa3f095fd82a 281 // continuar = 0;
Hiroball 81:aa3f095fd82a 282 // }
Hiroball 81:aa3f095fd82a 283 // }
Hiroball 70:85daa4aee916 284 status_tela = "novo";
Hiroball 70:85daa4aee916 285 }
enricoan 28:c4733814201a 286 else if(tecla == '2' && status_tela == "inicio"){
Hiroball 70:85daa4aee916 287 continuar = 1;
Hiroball 70:85daa4aee916 288 while(continuar){
Hiroball 70:85daa4aee916 289 funcao_salvo1();
enricoan 80:3a69b08e062f 290 salvamento_nome_1();
enricoan 80:3a69b08e062f 291 wait(2);
enricoan 80:3a69b08e062f 292 funcao_salvo2();
enricoan 80:3a69b08e062f 293 salvamento_nome_2();
enricoan 80:3a69b08e062f 294 if(confirmacao_vol_pega[programa] != 0){
amandarm 79:b9e2d020240c 295 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 296 }
enricoan 80:3a69b08e062f 297 if(confirmacao_vol_pega[programa] != 0){
amandarm 79:b9e2d020240c 298 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 299 }
enricoan 71:c91c96bbed54 300 wait(2);
enricoan 71:c91c96bbed54 301 tecla = pega_tecla();
Hiroball 70:85daa4aee916 302 if(tecla!='k'){
Hiroball 70:85daa4aee916 303 continuar = 0;
Hiroball 70:85daa4aee916 304 }
Hiroball 70:85daa4aee916 305 }
enricoan 32:2a9b30e1e7ab 306 status_tela = "salvo";}
Hiroball 70:85daa4aee916 307
Hiroball 70:85daa4aee916 308 //Ações para a tela de salvamento
Hiroball 70:85daa4aee916 309 //A variável programa remete a que programa salvo o usuário deseja acessar
enricoan 43:cfc3da0299ff 310 tecla = pega_tecla();
amandarm 35:a8256801e9ab 311 if(tecla =='1' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 312 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 313 wait(1);
amandarm 35:a8256801e9ab 314 funcao_salvo_agree2();
Hiroball 70:85daa4aee916 315 programa = 1;
amandarm 35:a8256801e9ab 316 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 317 else if(tecla =='2' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 318 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 319 wait(1);
amandarm 35:a8256801e9ab 320 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 321 programa = 2;
amandarm 35:a8256801e9ab 322 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 323 else if(tecla =='3' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 324 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 325 wait(1);
amandarm 35:a8256801e9ab 326 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 327 programa = 3;
amandarm 35:a8256801e9ab 328 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 329 else if(tecla =='4' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 330 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 331 wait(1);
amandarm 35:a8256801e9ab 332 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 333 programa = 4;
amandarm 35:a8256801e9ab 334 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 335 else if(tecla =='5' && status_tela =="salvo"){
amandarm 35:a8256801e9ab 336 funcao_salvo_agree1();
amandarm 35:a8256801e9ab 337 wait(1);
amandarm 35:a8256801e9ab 338 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 339 programa = 5;
amandarm 35:a8256801e9ab 340 status_tela = "salvo_confirmacao";}
amandarm 44:f0b7a2fe28d9 341 else if(tecla =='6' && status_tela =="salvo"){
amandarm 44:f0b7a2fe28d9 342 funcao_salvo_agree1();
amandarm 44:f0b7a2fe28d9 343 wait(1);
amandarm 44:f0b7a2fe28d9 344 funcao_salvo_agree2();
amandarm 44:f0b7a2fe28d9 345 programa = 6;
amandarm 44:f0b7a2fe28d9 346 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 347 else if(tecla =='B' && status_tela =="salvo"){
amandarm 47:0d9c10a9f87d 348 funcao_inicio();
amandarm 35:a8256801e9ab 349 status_tela = "inicio";}
amandarm 35:a8256801e9ab 350
Hiroball 70:85daa4aee916 351 tecla = pega_tecla();//Atualiza a variável tecla
Hiroball 70:85daa4aee916 352
Hiroball 70:85daa4aee916 353 //Ações para a tela de salvo_confirmação
amandarm 35:a8256801e9ab 354 if(tecla =='1' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 355 funcao_salvo_agree_pos_aviso(); //Tela de aviso ao usuário que a pega se deslocará na posição aduequada
amandarm 44:f0b7a2fe28d9 356 wait(3);
amandarm 68:b36bb895c8c1 357 status_tela = "salvo_confirmacao_pega_agree";
amandarm 68:b36bb895c8c1 358 }
Hiroball 70:85daa4aee916 359
Hiroball 70:85daa4aee916 360 //Ações para a tela salvo_confirmação_pega_agree
amandarm 68:b36bb895c8c1 361 if(tecla == 'A' && status_tela =="salvo_confirmacao_pega_agree"){
enricoan 67:ecd4feb40f94 362 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 363 mov_x_mais();
amandarm 65:5a759e3014dd 364 }
enricoan 67:ecd4feb40f94 365 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 366 mov_x_menos();
amandarm 65:5a759e3014dd 367 }
enricoan 67:ecd4feb40f94 368 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 369 mov_y_mais();
amandarm 65:5a759e3014dd 370 }
enricoan 67:ecd4feb40f94 371 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 372 mov_y_menos();
amandarm 65:5a759e3014dd 373 }
amandarm 65:5a759e3014dd 374 funcao_salvo_agree_pos_certo(); //Tela para o usuário confirmar se é essa a posição de fato da pega
amandarm 49:4625aaa408fc 375 status_tela="salvo_pos_certo_pega" ;}
amandarm 68:b36bb895c8c1 376 else if(tecla == 'B' && status_tela=="salvo_confirmacao_pega_agree"){
enricoan 71:c91c96bbed54 377 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 378 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 379 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 380 }
enricoan 80:3a69b08e062f 381 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 382 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 383 }
amandarm 68:b36bb895c8c1 384 wait(1);
enricoan 71:c91c96bbed54 385 funcao_salvo_agree2();
amandarm 68:b36bb895c8c1 386 programa = 1;
enricoan 71:c91c96bbed54 387 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 388 else if(tecla =='2' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 389 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 390 wait(3);
amandarm 68:b36bb895c8c1 391 status_tela = "salvo_confirmacao_solta_agree";
amandarm 68:b36bb895c8c1 392 }
Hiroball 70:85daa4aee916 393
Hiroball 70:85daa4aee916 394 //Ações para a tela confirmação_solta_agree
amandarm 68:b36bb895c8c1 395 if(tecla == 'A' && status_tela =="salvo_confirmacao_solta_agree"){
enricoan 67:ecd4feb40f94 396 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 397 mov_x_mais();
amandarm 65:5a759e3014dd 398 }
enricoan 67:ecd4feb40f94 399 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 400 mov_x_menos();
amandarm 65:5a759e3014dd 401 }
enricoan 67:ecd4feb40f94 402 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 403 mov_y_mais();
amandarm 65:5a759e3014dd 404 }
enricoan 67:ecd4feb40f94 405 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 406 mov_y_menos();
amandarm 65:5a759e3014dd 407 }
amandarm 35:a8256801e9ab 408 funcao_salvo_agree_pos_certo();
amandarm 68:b36bb895c8c1 409 status_tela = "salvo_pos_certo_solta";}
amandarm 68:b36bb895c8c1 410 else if(tecla == 'B' && status_tela=="salvo_confirmacao_solta_agree"){
amandarm 68:b36bb895c8c1 411 funcao_salvo1();
enricoan 80:3a69b08e062f 412 if(confirmacao_pos_pega[programa] !=0){
amandarm 79:b9e2d020240c 413 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 414 }
enricoan 80:3a69b08e062f 415 if(confirmacao_pos_pega[programa] !=0){
amandarm 79:b9e2d020240c 416 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 417 }
amandarm 68:b36bb895c8c1 418 wait(1);
amandarm 68:b36bb895c8c1 419 funcao_salvo2();
enricoan 80:3a69b08e062f 420 if(confirmacao_vol_pega[programa] !=0){
amandarm 79:b9e2d020240c 421 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 422 }
enricoan 80:3a69b08e062f 423 if(confirmacao_vol_pega[programa] !=0){
amandarm 79:b9e2d020240c 424 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 425 }
amandarm 68:b36bb895c8c1 426 programa = 1;
amandarm 68:b36bb895c8c1 427 status_tela = "salvo";}
amandarm 35:a8256801e9ab 428 else if(tecla =='3' && status_tela =="salvo_confirmacao"){
amandarm 65:5a759e3014dd 429 funcao_salvo_agree_pega_vol(); //Função que imprime na tela do usuário que ele deve dar entreda no volume
amandarm 65:5a759e3014dd 430 continuar = 1;
enricoan 67:ecd4feb40f94 431 multiplicador = 10;
enricoan 67:ecd4feb40f94 432 lcd.locate(6,1);
amandarm 65:5a759e3014dd 433 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 65:5a759e3014dd 434 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 435 tecla = pega_tecla();
amandarm 65:5a759e3014dd 436 wait(1);
amandarm 65:5a759e3014dd 437 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 70:85daa4aee916 438 volume = multiplicador*volume + ((int)tecla-48); //
amandarm 65:5a759e3014dd 439 lcd.printf("%c", tecla);
amandarm 65:5a759e3014dd 440 }
amandarm 65:5a759e3014dd 441 else if(tecla == 'A'){
enricoan 67:ecd4feb40f94 442 volume_pega[programa]=volume; //recebe o valor que o usuário colocou no volume.
amandarm 65:5a759e3014dd 443 lcd.locate(0,2);
amandarm 65:5a759e3014dd 444 printf("Volume inputado!");
amandarm 65:5a759e3014dd 445 continuar = 0;
amandarm 79:b9e2d020240c 446 confirmacao_vol_pega[programa]=1;
amandarm 65:5a759e3014dd 447 wait(1);
amandarm 65:5a759e3014dd 448 }
Hiroball 70:85daa4aee916 449 }
amandarm 65:5a759e3014dd 450 status_tela="salvo_conf_vol_pega";}
amandarm 35:a8256801e9ab 451 else if(tecla =='4' && status_tela =="salvo_confirmacao"){
amandarm 68:b36bb895c8c1 452 funcao_salvo_agree_solta_vol(); //volumes configurados por cada pipeta. (programa.vol_solta_pipeta)
enricoan 71:c91c96bbed54 453 lcd.locate(3,0);lcd.printf("%4.1f",volume_solta_1[programa]);
enricoan 71:c91c96bbed54 454 lcd.locate(8,0);lcd.printf("%4.1f",volume_solta_2[programa]);
enricoan 71:c91c96bbed54 455 lcd.locate(13,0);lcd.printf("%4.1f",volume_solta_3[programa]);
enricoan 71:c91c96bbed54 456 lcd.locate(3,1);lcd.printf("%4.1f",volume_solta_4[programa]);
enricoan 71:c91c96bbed54 457 lcd.locate(8,2);lcd.printf("%4.1f",volume_solta_5[programa]);
enricoan 71:c91c96bbed54 458 lcd.locate(13,3);lcd.printf("%4.1f",volume_solta_6[programa]);
enricoan 71:c91c96bbed54 459 lcd.locate(3,1);lcd.printf("%4.1f",volume_solta_7[programa]);
enricoan 71:c91c96bbed54 460 lcd.locate(8,2);lcd.printf("%4.1f",volume_solta_8[programa]);
enricoan 71:c91c96bbed54 461 lcd.locate(13,3);lcd.printf("%4.1f",volume_solta_9[programa]);
amandarm 35:a8256801e9ab 462 status_tela="salvo_conf_vol_solta";}
amandarm 35:a8256801e9ab 463 else if(tecla =='B' && status_tela =="salvo_confirmacao"){
amandarm 47:0d9c10a9f87d 464 funcao_salvo1();
enricoan 80:3a69b08e062f 465 if(confirmacao_pos_pega[programa] !=0){
amandarm 79:b9e2d020240c 466 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 467 }
enricoan 80:3a69b08e062f 468 if(confirmacao_pos_pega[programa] !=0){
amandarm 79:b9e2d020240c 469 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 470 }
amandarm 35:a8256801e9ab 471 wait(1);
amandarm 47:0d9c10a9f87d 472 funcao_salvo2();
enricoan 80:3a69b08e062f 473 if(confirmacao_vol_pega[programa] !=0){
amandarm 79:b9e2d020240c 474 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 475 }
enricoan 80:3a69b08e062f 476 if(confirmacao_vol_pega[programa] !=0){
amandarm 79:b9e2d020240c 477 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 478 }
amandarm 35:a8256801e9ab 479 programa = 1;
amandarm 35:a8256801e9ab 480 status_tela = "salvo";}
Hiroball 70:85daa4aee916 481
Hiroball 70:85daa4aee916 482 tecla = pega_tecla(); //Atualiza a variável tecla
Hiroball 70:85daa4aee916 483
Hiroball 70:85daa4aee916 484 //Ações para a tela de salvo_pos_certo_pega
amandarm 49:4625aaa408fc 485 if(tecla =='1' && status_tela =="salvo_pos_certo_pega"){
amandarm 79:b9e2d020240c 486 confirmacao_pos_pega[programa]=1;
amandarm 48:135139e2971f 487 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 488 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 489 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 490 }
enricoan 80:3a69b08e062f 491 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 492 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 493 }
amandarm 48:135139e2971f 494 wait(1);
amandarm 48:135139e2971f 495 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 496 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 497 }//salva essa posição como correta
amandarm 65:5a759e3014dd 498 else if(tecla =='2' && status_tela =="salvo_pos_certo_pega"){ //Caso o usuário queria ajustar o posicionamento
enricoan 67:ecd4feb40f94 499 lcd.cls();
enricoan 67:ecd4feb40f94 500 funcao_pega_pos_x();
enricoan 67:ecd4feb40f94 501 lcd.printf("Ponha a pega em x/y");
enricoan 67:ecd4feb40f94 502 lcd.locate(0,3);
enricoan 67:ecd4feb40f94 503 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 504 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 505 while(continuar){
amandarm 65:5a759e3014dd 506 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 507 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 508 lcd.cls();
amandarm 65:5a759e3014dd 509 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 510 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 511 lcd.cls();
amandarm 65:5a759e3014dd 512 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 513 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 514 lcd.cls();
amandarm 65:5a759e3014dd 515 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 516 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 517 lcd.cls();
amandarm 65:5a759e3014dd 518 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 519 if(tecla=='A'){
amandarm 65:5a759e3014dd 520 pos_x_pega[programa] = coord_x;
amandarm 65:5a759e3014dd 521 pos_y_pega[programa] = coord_y;
enricoan 67:ecd4feb40f94 522 lcd.cls();
amandarm 65:5a759e3014dd 523 lcd.printf("Posicao de x e y salva!");
Hiroball 70:85daa4aee916 524 lcd.locate(0,1);
Hiroball 70:85daa4aee916 525 lcd.printf("Posicao X: %4.1f", coord_x);
Hiroball 70:85daa4aee916 526 lcd.locate(0,2);
Hiroball 70:85daa4aee916 527 lcd.printf("Posicao Y: %4.1f", coord_y);
enricoan 67:ecd4feb40f94 528 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 529 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 530 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 531 }
enricoan 80:3a69b08e062f 532 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 533 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 534 }
enricoan 80:3a69b08e062f 535 wait(1);
enricoan 67:ecd4feb40f94 536 funcao_salvo_agree2();
enricoan 67:ecd4feb40f94 537 status_tela = "salvo_confirmacao";
Hiroball 70:85daa4aee916 538 continuar = 0;
amandarm 79:b9e2d020240c 539 confirmacao_pos_pega[programa]=1;
amandarm 65:5a759e3014dd 540 }
amandarm 65:5a759e3014dd 541 }
amandarm 65:5a759e3014dd 542 }
amandarm 49:4625aaa408fc 543 else if(tecla =='B' && status_tela =="salvo_pos_certo_pega"){
amandarm 35:a8256801e9ab 544 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 545 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 546 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 547 }
enricoan 80:3a69b08e062f 548 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 549 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 550 }
amandarm 35:a8256801e9ab 551 wait(1);
amandarm 35:a8256801e9ab 552 funcao_salvo_agree2();
amandarm 48:135139e2971f 553 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 554
Hiroball 70:85daa4aee916 555
Hiroball 70:85daa4aee916 556 //Ações para a tela salvo_conf_vol_pega
amandarm 52:dca562b09080 557 if(tecla =='A' && status_tela =="salvo_conf_vol_pega"){
amandarm 79:b9e2d020240c 558 confirmacao_vol_pega[programa]=1;
amandarm 52:dca562b09080 559 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 560 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 561 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 562 }
enricoan 80:3a69b08e062f 563 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 564 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 565 }
amandarm 52:dca562b09080 566 wait(1);
amandarm 52:dca562b09080 567 funcao_salvo_agree2();
amandarm 52:dca562b09080 568 lcd.locate(18,1);lcd.printf("OK");
enricoan 53:1d0bb62c117f 569 status_tela = "salvo_confirmacao";
amandarm 52:dca562b09080 570 }//salva essa posição como correta
amandarm 52:dca562b09080 571 else if(tecla =='B' && status_tela =="salvo_conf_vol_pega"){
amandarm 52:dca562b09080 572 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 573 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 574 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 575 }
enricoan 80:3a69b08e062f 576 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 577 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 578 }
amandarm 52:dca562b09080 579 wait(1);
amandarm 52:dca562b09080 580 funcao_salvo_agree2();
amandarm 52:dca562b09080 581 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 582
Hiroball 70:85daa4aee916 583 //Ações para a tela de salvo_pos_certo_solta
enricoan 71:c91c96bbed54 584 if(tecla =='1' && status_tela =="salvo_pos_certo_"){
amandarm 79:b9e2d020240c 585 confirmacao_vol_solta[programa]=1; //Tag que indica que o usuário confirmou a posição salva
amandarm 49:4625aaa408fc 586 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 587 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 588 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 589 }
enricoan 80:3a69b08e062f 590 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 591 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 592 }
amandarm 49:4625aaa408fc 593 wait(1);
amandarm 49:4625aaa408fc 594 funcao_salvo_agree2();
enricoan 53:1d0bb62c117f 595 status_tela = "salvo_confirmacao";
amandarm 49:4625aaa408fc 596 }//salva essa posição como correta
amandarm 65:5a759e3014dd 597 else if(tecla =='2' && status_tela =="salvo_pos_certo_solta"){
amandarm 68:b36bb895c8c1 598 lcd.cls();
amandarm 68:b36bb895c8c1 599 funcao_solta_pos_x();
amandarm 68:b36bb895c8c1 600 lcd.printf("Ponha a pega em x/y");
amandarm 68:b36bb895c8c1 601 lcd.locate(0,3);
amandarm 68:b36bb895c8c1 602 lcd.printf(" B-Voltar ");
amandarm 65:5a759e3014dd 603 continuar = 1; //Inicia o loop de posicionamento
amandarm 65:5a759e3014dd 604 while(continuar){
amandarm 65:5a759e3014dd 605 tecla = pega_tecla(); // pegla a tecla apertada pelo usuário para sair do loop
amandarm 65:5a759e3014dd 606 if(x_menos == 0){mov_x_menos(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 607 lcd.cls();
amandarm 65:5a759e3014dd 608 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 609 else if(x_mais == 0){mov_x_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 610 lcd.cls();
amandarm 65:5a759e3014dd 611 lcd.printf("X: %4.1f", coord_x);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 612 else if(y_menos == 0){mov_y_menos(); //Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 613 lcd.cls();
amandarm 65:5a759e3014dd 614 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 615 else if(y_mais == 0){mov_y_mais(); // Movimenta o eixo conforme o botão selecionado
amandarm 65:5a759e3014dd 616 lcd.cls();
amandarm 65:5a759e3014dd 617 lcd.printf("Y: %4.1f", coord_y);} //Printa para o usuário isso
amandarm 65:5a759e3014dd 618 if(tecla=='A'){
amandarm 68:b36bb895c8c1 619 pos_x_solta[programa] = coord_x;
amandarm 68:b36bb895c8c1 620 pos_y_solta[programa] = coord_y;
amandarm 68:b36bb895c8c1 621 lcd.cls();
amandarm 65:5a759e3014dd 622 lcd.printf("Posicao de x e y salva!");
Hiroball 70:85daa4aee916 623 lcd.locate(0,1);
Hiroball 70:85daa4aee916 624 lcd.printf("Posicao X: %4.1f", coord_x);
Hiroball 70:85daa4aee916 625 lcd.locate(0,2);
Hiroball 70:85daa4aee916 626 lcd.printf("Posicao Y: %4.1f", coord_y);
amandarm 68:b36bb895c8c1 627 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 628 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 629 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 630 }
enricoan 80:3a69b08e062f 631 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 632 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 633 }
amandarm 68:b36bb895c8c1 634 wait(1);
amandarm 68:b36bb895c8c1 635 funcao_salvo_agree2();
amandarm 68:b36bb895c8c1 636 status_tela = "salvo_confirmacao";
amandarm 79:b9e2d020240c 637 confirmacao_pos_solta[programa]=1; //Flag que mostra que o usuário setou a posição conforme ele queria e está confirmado.
Hiroball 70:85daa4aee916 638 continuar = 0;
amandarm 65:5a759e3014dd 639 }
amandarm 68:b36bb895c8c1 640 }
amandarm 65:5a759e3014dd 641 }
amandarm 49:4625aaa408fc 642 else if(tecla =='B' && status_tela =="salvo_pos_certo_solta"){
amandarm 49:4625aaa408fc 643 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 644 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 645 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 646 }
enricoan 80:3a69b08e062f 647 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 648 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 649 }
amandarm 49:4625aaa408fc 650 wait(1);
amandarm 49:4625aaa408fc 651 funcao_salvo_agree2();
amandarm 49:4625aaa408fc 652 status_tela = "salvo_confirmacao";}
Hiroball 70:85daa4aee916 653
Hiroball 70:85daa4aee916 654 //Ações para a tela salvo_conf_vol_solta
amandarm 52:dca562b09080 655 if(tecla =='A' && status_tela =="salvo_conf_vol_solta"){
amandarm 79:b9e2d020240c 656 confirmacao_vol_solta[programa]=1;
amandarm 48:135139e2971f 657 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 658 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 659 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 660 }
enricoan 80:3a69b08e062f 661 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 662 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 663 }
amandarm 48:135139e2971f 664 wait(1);
amandarm 48:135139e2971f 665 funcao_salvo_agree2();
amandarm 52:dca562b09080 666 lcd.locate(18,2);lcd.printf("OK");
enricoan 53:1d0bb62c117f 667 status_tela = "salvo_confirmacao";
amandarm 48:135139e2971f 668 }//salva essa posição como correta
amandarm 68:b36bb895c8c1 669 else if(tecla =='2' && status_tela =="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 670 funcao_salvo_vol_solta_modifica();
amandarm 68:b36bb895c8c1 671 wait(3);
amandarm 68:b36bb895c8c1 672 funcao_salvo_agree_solta_vol();
amandarm 79:b9e2d020240c 673 lcd.locate(3,0);lcd.printf("%4.1f",volume_solta_1[programa]);
amandarm 79:b9e2d020240c 674 lcd.locate(8,0);lcd.printf("%4.1f",volume_solta_2[programa]);
amandarm 79:b9e2d020240c 675 lcd.locate(13,0);lcd.printf("%4.1f",volume_solta_3[programa]);
amandarm 79:b9e2d020240c 676 lcd.locate(3,1);lcd.printf("%4.1f",volume_solta_4[programa]);
amandarm 79:b9e2d020240c 677 lcd.locate(8,2);lcd.printf("%4.1f",volume_solta_5[programa]);
amandarm 79:b9e2d020240c 678 lcd.locate(13,3);lcd.printf("%4.1f",volume_solta_6[programa]);
amandarm 79:b9e2d020240c 679 lcd.locate(3,1);lcd.printf("%4.1f",volume_solta_7[programa]);
amandarm 79:b9e2d020240c 680 lcd.locate(8,2);lcd.printf("%4.1f",volume_solta_8[programa]);
amandarm 79:b9e2d020240c 681 lcd.locate(13,3);lcd.printf("%4.1f",volume_solta_9[programa]);
amandarm 68:b36bb895c8c1 682 if(tecla=='1' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 683 continuar = 1;
amandarm 68:b36bb895c8c1 684 lcd.locate(3,0);
amandarm 68:b36bb895c8c1 685 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 686 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 687 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 688 wait(1);
amandarm 68:b36bb895c8c1 689 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 70:85daa4aee916 690 volume = multiplicador*volume + ((int)tecla-48);//((int)tecla-48) é o valor real da tecla pressionada em inteiro
amandarm 68:b36bb895c8c1 691 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 692 }
amandarm 68:b36bb895c8c1 693 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 694 volume_solta_1[programa]=volume;
amandarm 68:b36bb895c8c1 695 }
amandarm 68:b36bb895c8c1 696 }
amandarm 69:8c7e1da9d315 697 }
Hiroball 70:85daa4aee916 698 else if(tecla=='2' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 699 continuar = 1;
amandarm 68:b36bb895c8c1 700 multiplicador = 10;
amandarm 68:b36bb895c8c1 701 lcd.locate(8,0);
amandarm 68:b36bb895c8c1 702 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 703 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 704 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 705 wait(1);
amandarm 68:b36bb895c8c1 706 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 707 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 708 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 709 }
amandarm 68:b36bb895c8c1 710 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 711 volume_solta_2[programa]=volume;
amandarm 68:b36bb895c8c1 712 }
amandarm 68:b36bb895c8c1 713 }
amandarm 69:8c7e1da9d315 714 }
Hiroball 70:85daa4aee916 715 else if(tecla=='3' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 716 continuar = 1;
amandarm 68:b36bb895c8c1 717 multiplicador = 10;
amandarm 68:b36bb895c8c1 718 lcd.locate(13,0);
amandarm 68:b36bb895c8c1 719 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 720 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 721 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 722 wait(1);
amandarm 68:b36bb895c8c1 723 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 724 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 725 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 726 }
amandarm 68:b36bb895c8c1 727 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 728 volume_solta_3[programa]=volume;
amandarm 68:b36bb895c8c1 729 }
amandarm 68:b36bb895c8c1 730 }
amandarm 69:8c7e1da9d315 731 }
Hiroball 70:85daa4aee916 732 else if(tecla=='4' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 733 continuar = 1;
amandarm 68:b36bb895c8c1 734 multiplicador = 10;
amandarm 68:b36bb895c8c1 735 lcd.locate(3,1);
amandarm 68:b36bb895c8c1 736 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 737 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 738 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 739 wait(1);
amandarm 68:b36bb895c8c1 740 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 741 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 742 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 743 }
amandarm 68:b36bb895c8c1 744 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 745 volume_solta_4[programa]=volume;
amandarm 68:b36bb895c8c1 746 }
amandarm 68:b36bb895c8c1 747 }
amandarm 69:8c7e1da9d315 748 }
Hiroball 70:85daa4aee916 749 else if(tecla=='5' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 750 continuar = 1;
amandarm 68:b36bb895c8c1 751 multiplicador = 10;
amandarm 68:b36bb895c8c1 752 lcd.locate(8,1);
amandarm 68:b36bb895c8c1 753 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 754 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 755 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 756 wait(1);
amandarm 68:b36bb895c8c1 757 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 758 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 759 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 760 }
amandarm 68:b36bb895c8c1 761 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 762 volume_solta_5[programa]=volume;
amandarm 68:b36bb895c8c1 763 }
amandarm 68:b36bb895c8c1 764 }
amandarm 69:8c7e1da9d315 765 }
Hiroball 70:85daa4aee916 766 else if(tecla=='6' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 767 continuar = 1;
amandarm 68:b36bb895c8c1 768 multiplicador = 10;
amandarm 68:b36bb895c8c1 769 lcd.locate(13,1);
amandarm 68:b36bb895c8c1 770 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 771 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 772 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 773 wait(1);
amandarm 68:b36bb895c8c1 774 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 775 volume = multiplicador*volume + ((int)tecla-48);
amandarm 69:8c7e1da9d315 776 lcd.printf("%c", tecla);}
amandarm 68:b36bb895c8c1 777 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 778 volume_solta_6[programa]=volume;
amandarm 68:b36bb895c8c1 779 }
amandarm 68:b36bb895c8c1 780 }
amandarm 68:b36bb895c8c1 781 }
Hiroball 70:85daa4aee916 782 else if(tecla=='7' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 783 continuar = 1;
amandarm 68:b36bb895c8c1 784 multiplicador = 10;
amandarm 68:b36bb895c8c1 785 lcd.locate(3,2);
amandarm 68:b36bb895c8c1 786 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 787 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 788 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 789 wait(1);
amandarm 68:b36bb895c8c1 790 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 791 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 792 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 793 }
amandarm 68:b36bb895c8c1 794 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 795 volume_solta_7[programa]=volume;
amandarm 68:b36bb895c8c1 796 }
amandarm 68:b36bb895c8c1 797 }
amandarm 69:8c7e1da9d315 798 }
Hiroball 70:85daa4aee916 799 else if(tecla=='8' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 800 continuar = 1;
amandarm 68:b36bb895c8c1 801 multiplicador = 10;
amandarm 68:b36bb895c8c1 802 lcd.locate(8,2);
amandarm 68:b36bb895c8c1 803 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 804 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 805 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 806 wait(1);
amandarm 68:b36bb895c8c1 807 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 808 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 809 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 810 }
amandarm 68:b36bb895c8c1 811 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 812 volume_solta_8[programa]=volume;
amandarm 68:b36bb895c8c1 813 }
amandarm 68:b36bb895c8c1 814 }
amandarm 69:8c7e1da9d315 815 }
Hiroball 70:85daa4aee916 816 else if(tecla=='9' && status_tela=="salvo_conf_vol_solta"){
amandarm 68:b36bb895c8c1 817 continuar = 1;
amandarm 68:b36bb895c8c1 818 multiplicador = 10;
amandarm 68:b36bb895c8c1 819 lcd.locate(13,2);
amandarm 68:b36bb895c8c1 820 while(continuar){ // Pega o valor imputado pelo usuário
amandarm 68:b36bb895c8c1 821 printf("\n%c",pega_tecla());
amandarm 68:b36bb895c8c1 822 tecla = pega_tecla();
amandarm 68:b36bb895c8c1 823 wait(1);
amandarm 68:b36bb895c8c1 824 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 68:b36bb895c8c1 825 volume = multiplicador*volume + ((int)tecla-48);
amandarm 68:b36bb895c8c1 826 lcd.printf("%c", tecla);
amandarm 68:b36bb895c8c1 827 }
amandarm 68:b36bb895c8c1 828 else if(tecla == 'A'){
amandarm 68:b36bb895c8c1 829 volume_solta_9[programa]=volume;
amandarm 68:b36bb895c8c1 830 }
amandarm 68:b36bb895c8c1 831 }
amandarm 68:b36bb895c8c1 832 }
amandarm 79:b9e2d020240c 833 confirmacao_vol_solta[programa]=1;}
amandarm 48:135139e2971f 834 else if(tecla =='B' && status_tela =="salvo_conf_vol_solta"){
amandarm 48:135139e2971f 835 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 836 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 837 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 838 }
enricoan 80:3a69b08e062f 839 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 840 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 841 }
amandarm 48:135139e2971f 842 wait(1);
amandarm 48:135139e2971f 843 funcao_salvo_agree2();
amandarm 35:a8256801e9ab 844 status_tela = "salvo_confirmacao";}
amandarm 35:a8256801e9ab 845
amandarm 79:b9e2d020240c 846 tecla = pega_tecla();
Hiroball 70:85daa4aee916 847
enricoan 80:3a69b08e062f 848 if(confirmacao_vol_solta[programa]==1 && confirmacao_vol_pega[programa]==1 && confirmacao_pos_pega[programa]==1 && confirmacao_pos_solta[programa]==1){
amandarm 79:b9e2d020240c 849 funcao_acomp();
amandarm 79:b9e2d020240c 850 status_tela="acompanhamento";
amandarm 79:b9e2d020240c 851 }
Hiroball 70:85daa4aee916 852 //Ações para a tela novo
enricoan 32:2a9b30e1e7ab 853 if(tecla =='1' && status_tela =="novo"){
amandarm 26:4123b9462158 854 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 855 status_tela ="forma";}
amandarm 79:b9e2d020240c 856
enricoan 28:c4733814201a 857 else if(tecla =='2' && status_tela == "novo"){
enricoan 54:74a215a1f76b 858 volume = 0;
enricoan 54:74a215a1f76b 859 printf("\n%c",pega_tecla());
amandarm 65:5a759e3014dd 860 funcao_pega_volume(); // Função que permite a entreda do valor de volume pelo usuário
Hiroball 34:1b5a00c55376 861 status_tela = "volume";
enricoan 54:74a215a1f76b 862 continuar = 1;
enricoan 67:ecd4feb40f94 863 lcd.locate(6,1);
enricoan 54:74a215a1f76b 864 while(continuar){
enricoan 54:74a215a1f76b 865 printf("\n%c",pega_tecla());
enricoan 43:cfc3da0299ff 866 tecla = pega_tecla();
enricoan 54:74a215a1f76b 867 wait(1);
enricoan 54:74a215a1f76b 868 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 869 volume = multiplicador*volume + ((int)tecla-48);
Hiroball 61:be02d7d4e208 870 lcd.printf("%c", tecla);
Hiroball 34:1b5a00c55376 871 }
Hiroball 59:447534f1e4f5 872 else if(tecla == 'A'){
Hiroball 70:85daa4aee916 873 volume_pega[programa] = volume;
enricoan 53:1d0bb62c117f 874 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 875 printf("Volume inputado!");
Hiroball 34:1b5a00c55376 876 continuar = 0;
enricoan 54:74a215a1f76b 877 wait(1);
Hiroball 34:1b5a00c55376 878 }
Hiroball 59:447534f1e4f5 879 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 880 funcao_pega1();
amandarm 79:b9e2d020240c 881 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 882 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 883 }
amandarm 79:b9e2d020240c 884 if(volume_pega !=0){
amandarm 79:b9e2d020240c 885 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 886 }
Hiroball 59:447534f1e4f5 887 wait(1);
Hiroball 59:447534f1e4f5 888 funcao_pega2();
amandarm 79:b9e2d020240c 889 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 890 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 891 }
Hiroball 59:447534f1e4f5 892 status_tela = "novo";
Hiroball 61:be02d7d4e208 893 continuar = 0;
Hiroball 61:be02d7d4e208 894 }
Hiroball 34:1b5a00c55376 895 }
Hiroball 34:1b5a00c55376 896 }
enricoan 28:c4733814201a 897 else if(tecla == '3' && status_tela == "novo"){
amandarm 26:4123b9462158 898 funcao_pega_pos_x();
enricoan 80:3a69b08e062f 899 status_tela = "pos_x";
enricoan 63:32ba7c4becfc 900 continuar = 1;
enricoan 80:3a69b08e062f 901 while(continuar){
enricoan 80:3a69b08e062f 902 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 903 if(x_menos == 0){mov_x_menos();
enricoan 63:32ba7c4becfc 904 lcd.cls();
enricoan 63:32ba7c4becfc 905 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 906 else if(x_mais == 0){mov_x_mais();
enricoan 63:32ba7c4becfc 907 lcd.cls();
enricoan 63:32ba7c4becfc 908 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 909 if(tecla=='A'){
enricoan 80:3a69b08e062f 910 pos_x_pega[programa] = coord_x;
enricoan 63:32ba7c4becfc 911 continuar = 0;
enricoan 80:3a69b08e062f 912 printf("Posicao de y salva!");
enricoan 80:3a69b08e062f 913 printf("Posicao X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 914 }
enricoan 80:3a69b08e062f 915 }
enricoan 28:c4733814201a 916 else if(tecla == 'B' && status_tela == "novo"){
amandarm 26:4123b9462158 917 funcao_inicio();
enricoan 32:2a9b30e1e7ab 918 status_tela = "inicio";}
enricoan 28:c4733814201a 919 else if(tecla == '1' && status_tela == "salvo"){
amandarm 26:4123b9462158 920 funcao_salvo_agree1();
enricoan 80:3a69b08e062f 921 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 922 lcd.locate(18,1);lcd.printf("OK");
enricoan 80:3a69b08e062f 923 }
enricoan 80:3a69b08e062f 924 if(confirmacao_pos_pega[programa] != 0){
enricoan 80:3a69b08e062f 925 lcd.locate(18,2);lcd.printf("OK");
enricoan 80:3a69b08e062f 926 }
enricoan 32:2a9b30e1e7ab 927 status_tela = "confirmacao";}
enricoan 28:c4733814201a 928 else if(tecla =='2' && status_tela == "salvo"){
amandarm 26:4123b9462158 929 funcao_salvo_agree1();
enricoan 32:2a9b30e1e7ab 930 status_tela = "confirmacao";}
enricoan 28:c4733814201a 931 else if(tecla =='B' && status_tela == "salvo"){
amandarm 26:4123b9462158 932 funcao_inicio();
enricoan 32:2a9b30e1e7ab 933 status_tela = "inicio";}
amandarm 35:a8256801e9ab 934
enricoan 63:32ba7c4becfc 935 wait(0.5);
enricoan 43:cfc3da0299ff 936 tecla = pega_tecla();
Hiroball 70:85daa4aee916 937
Hiroball 70:85daa4aee916 938 //Ações para a tela forma (para definir o formato do recipiente de pega)
enricoan 28:c4733814201a 939 if(tecla == '1' && status_tela == "forma"){
amandarm 26:4123b9462158 940 funcao_pega_forma_quad();
enricoan 67:ecd4feb40f94 941 tipo_pega[programa] =1;
Hiroball 59:447534f1e4f5 942 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 943 wait(1);
Hiroball 61:be02d7d4e208 944 status_tela ="forma_quad";
Hiroball 59:447534f1e4f5 945 continuar = 1;
Hiroball 59:447534f1e4f5 946 comprimento_quad = 0;
enricoan 63:32ba7c4becfc 947 lcd.locate(0,2);
Hiroball 59:447534f1e4f5 948 while(continuar){
Hiroball 59:447534f1e4f5 949 printf("\n%c",pega_tecla());
Hiroball 59:447534f1e4f5 950 tecla = pega_tecla();
Hiroball 59:447534f1e4f5 951 wait(1);
Hiroball 59:447534f1e4f5 952 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
enricoan 60:e2c632e8dee1 953 comprimento_quad = multiplicador*comprimento_quad + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 954 lcd.printf("%c",tecla);
Hiroball 59:447534f1e4f5 955 }
Hiroball 59:447534f1e4f5 956 else if(tecla == 'A'){
Hiroball 59:447534f1e4f5 957 continuar = 0;
Hiroball 61:be02d7d4e208 958 printf("Comprimento inputado!");
Hiroball 61:be02d7d4e208 959 printf("\nComprimento: %d", comprimento_quad);
Hiroball 59:447534f1e4f5 960 }
Hiroball 59:447534f1e4f5 961 else if(tecla=='B'){
Hiroball 59:447534f1e4f5 962 funcao_pega_forma();
Hiroball 59:447534f1e4f5 963 status_tela = "forma";
Hiroball 59:447534f1e4f5 964 continuar = 0;}
Hiroball 59:447534f1e4f5 965 }
Hiroball 59:447534f1e4f5 966 }
enricoan 28:c4733814201a 967 else if(tecla == '2' && status_tela == "forma"){
amandarm 26:4123b9462158 968 funcao_pega_forma_red();
enricoan 67:ecd4feb40f94 969 tipo_pega[programa] = 2;
Hiroball 61:be02d7d4e208 970 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 971 wait(1);
Hiroball 61:be02d7d4e208 972 continuar = 1;
Hiroball 61:be02d7d4e208 973 diametro = 0;
Hiroball 61:be02d7d4e208 974 status_tela = "forma_red";
enricoan 63:32ba7c4becfc 975 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 976 while(continuar){
Hiroball 61:be02d7d4e208 977 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 978 wait(1);
Hiroball 61:be02d7d4e208 979 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 980 diametro = multiplicador*diametro + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 981 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 982 }
Hiroball 61:be02d7d4e208 983 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 984 continuar = 0;
Hiroball 61:be02d7d4e208 985 printf("Diametro inputado!");
Hiroball 61:be02d7d4e208 986 printf("Diametro: %d", diametro);
Hiroball 61:be02d7d4e208 987 }
Hiroball 61:be02d7d4e208 988 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 989 funcao_pega_forma();
Hiroball 61:be02d7d4e208 990 status_tela = "forma";
Hiroball 61:be02d7d4e208 991 continuar = 0;}
Hiroball 61:be02d7d4e208 992 }
Hiroball 61:be02d7d4e208 993 }
enricoan 28:c4733814201a 994 else if(tecla == 'B' && status_tela == "forma"){
enricoan 56:e748b9bd5e3c 995 funcao_pega1();
amandarm 79:b9e2d020240c 996 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 997 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 998 }
amandarm 79:b9e2d020240c 999 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1000 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 1001 }
enricoan 56:e748b9bd5e3c 1002 wait(1);
enricoan 56:e748b9bd5e3c 1003 funcao_pega2();
amandarm 79:b9e2d020240c 1004 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1005 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 1006 }
enricoan 32:2a9b30e1e7ab 1007 status_tela = "novo";}
amandarm 35:a8256801e9ab 1008
enricoan 43:cfc3da0299ff 1009 tecla = pega_tecla();
Hiroball 70:85daa4aee916 1010
Hiroball 70:85daa4aee916 1011 //Ações para a tela forma_quad, para detalhes sobre o formato quadrado
enricoan 28:c4733814201a 1012 if(tecla == 'A' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 1013 funcao_pega1();
enricoan 67:ecd4feb40f94 1014 medida_lado_pega[programa] = comprimento_quad;
amandarm 79:b9e2d020240c 1015 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1016 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1017 }
amandarm 79:b9e2d020240c 1018 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1019 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1020 }
enricoan 29:76d952358896 1021 wait(1);
amandarm 26:4123b9462158 1022 funcao_pega2();
amandarm 79:b9e2d020240c 1023 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1024 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1025 }
enricoan 56:e748b9bd5e3c 1026 status_tela ="novo";}
enricoan 28:c4733814201a 1027 else if(tecla == 'B' && status_tela == "forma_quad"){
amandarm 26:4123b9462158 1028 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 1029 status_tela = "forma";}
enricoan 28:c4733814201a 1030 else if(tecla == 'A' && status_tela == "forma_red"){
enricoan 67:ecd4feb40f94 1031 medida_lado_pega[programa] = diametro;
amandarm 26:4123b9462158 1032 funcao_pega1();
amandarm 79:b9e2d020240c 1033 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1034 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1035 }
amandarm 79:b9e2d020240c 1036 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1037 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1038 }
enricoan 29:76d952358896 1039 wait(1);
amandarm 26:4123b9462158 1040 funcao_pega2();
enricoan 58:d573b618f45a 1041 if(volume_pega !=0){
enricoan 58:d573b618f45a 1042 lcd.locate(18,0);lcd.printf("OK");
enricoan 58:d573b618f45a 1043 }
enricoan 56:e748b9bd5e3c 1044 status_tela ="novo";}
enricoan 28:c4733814201a 1045 else if(tecla == 'B' && status_tela == "forma_red"){
amandarm 26:4123b9462158 1046 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 1047 status_tela = "forma";}
enricoan 28:c4733814201a 1048 else if(tecla == 'A' && status_tela == "volume"){
amandarm 26:4123b9462158 1049 funcao_pega1();
enricoan 67:ecd4feb40f94 1050 volume_pega[programa] = 12;
amandarm 79:b9e2d020240c 1051 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1052 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1053 }
amandarm 79:b9e2d020240c 1054 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1055 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1056 }
enricoan 29:76d952358896 1057 wait(1);
amandarm 26:4123b9462158 1058 funcao_pega2();
amandarm 79:b9e2d020240c 1059 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1060 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1061 }
enricoan 56:e748b9bd5e3c 1062 status_tela ="novo";}
enricoan 28:c4733814201a 1063 else if( tecla == 'B' && status_tela == "volume"){
amandarm 26:4123b9462158 1064 funcao_pega_forma();
enricoan 32:2a9b30e1e7ab 1065 status_tela = "forma";}
amandarm 79:b9e2d020240c 1066 else if(tecla == 'A' && status_tela == "pos_x"){ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
enricoan 29:76d952358896 1067 funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y
enricoan 80:3a69b08e062f 1068 status_tela = "pos_y";
amandarm 79:b9e2d020240c 1069 continuar = 1;
enricoan 80:3a69b08e062f 1070 wait(1);
enricoan 80:3a69b08e062f 1071 while(continuar){
enricoan 80:3a69b08e062f 1072 tecla = pega_tecla();
amandarm 79:b9e2d020240c 1073 if(y_menos == 0){mov_y_menos();
amandarm 79:b9e2d020240c 1074 lcd.cls();
amandarm 79:b9e2d020240c 1075 lcd.printf("Y: %4.1f", coord_y);}
amandarm 79:b9e2d020240c 1076 else if(y_mais == 0){mov_y_mais();
amandarm 79:b9e2d020240c 1077 lcd.cls();
amandarm 79:b9e2d020240c 1078 lcd.printf("Y: %4.1f", coord_y);}
amandarm 79:b9e2d020240c 1079 if(tecla=='A'){
enricoan 80:3a69b08e062f 1080 pos_y_pega[programa] = coord_y;
enricoan 80:3a69b08e062f 1081 printf("Posicao de y salva!");
enricoan 80:3a69b08e062f 1082 printf("Posicao Y: %4.1f", coord_y);
enricoan 80:3a69b08e062f 1083 continuar = 0;}
amandarm 79:b9e2d020240c 1084 }
enricoan 63:32ba7c4becfc 1085 }
amandarm 79:b9e2d020240c 1086 else if(tecla == 'B' && status_tela == "pos_x"){ ///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
enricoan 63:32ba7c4becfc 1087 funcao_pega1();
amandarm 79:b9e2d020240c 1088 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1089 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 1090 }
amandarm 79:b9e2d020240c 1091 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1092 lcd.locate(18,2);lcd.printf("OK");
amandarm 79:b9e2d020240c 1093 }
enricoan 63:32ba7c4becfc 1094 wait(1);
enricoan 63:32ba7c4becfc 1095 funcao_pega2();
amandarm 79:b9e2d020240c 1096 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1097 lcd.locate(18,1);lcd.printf("OK");
amandarm 79:b9e2d020240c 1098 }
enricoan 63:32ba7c4becfc 1099 status_tela = "novo";}
amandarm 35:a8256801e9ab 1100
enricoan 63:32ba7c4becfc 1101 tecla = pega_tecla();
enricoan 80:3a69b08e062f 1102 // wait(0.5);
enricoan 63:32ba7c4becfc 1103 //passando direto
Hiroball 70:85daa4aee916 1104
Hiroball 70:85daa4aee916 1105 //Ações para a tela pos_y
enricoan 28:c4733814201a 1106 if(tecla == 'A' && status_tela == "pos_y"){
amandarm 26:4123b9462158 1107 funcao_pega1();
amandarm 79:b9e2d020240c 1108 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1109 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1110 }
amandarm 79:b9e2d020240c 1111 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1112 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1113 }
enricoan 29:76d952358896 1114 wait(1);
amandarm 26:4123b9462158 1115 funcao_pega2();
amandarm 79:b9e2d020240c 1116 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1117 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1118 }
enricoan 56:e748b9bd5e3c 1119 wait(1);
enricoan 56:e748b9bd5e3c 1120 status_tela ="novo";}
enricoan 80:3a69b08e062f 1121
enricoan 28:c4733814201a 1122 else if(tecla == 'B' && status_tela == "pos_y"){
enricoan 80:3a69b08e062f 1123 funcao_pega_pos_x();
enricoan 80:3a69b08e062f 1124 status_tela = "pos_x";
amandarm 79:b9e2d020240c 1125 continuar = 1;
enricoan 80:3a69b08e062f 1126 while(continuar){
enricoan 80:3a69b08e062f 1127 tecla = pega_tecla();
amandarm 79:b9e2d020240c 1128 if(x_menos == 0){mov_x_menos();
amandarm 79:b9e2d020240c 1129 lcd.cls();
amandarm 79:b9e2d020240c 1130 lcd.printf("X: %4.1f", coord_x);}
amandarm 79:b9e2d020240c 1131 else if(x_mais == 0){mov_x_mais();
amandarm 79:b9e2d020240c 1132 lcd.cls();
amandarm 79:b9e2d020240c 1133 lcd.printf("X: %4.1f", coord_x);}
amandarm 79:b9e2d020240c 1134 if(tecla=='A'){
amandarm 79:b9e2d020240c 1135 continuar = 0;
enricoan 80:3a69b08e062f 1136 printf("Posicao de x salva!");
amandarm 79:b9e2d020240c 1137 printf("Posicao X: %4.1f", coord_x);
amandarm 79:b9e2d020240c 1138 }
amandarm 79:b9e2d020240c 1139 }
enricoan 80:3a69b08e062f 1140 }
amandarm 55:4d071fb49f24 1141
amandarm 55:4d071fb49f24 1142 tecla=pega_tecla();
enricoan 71:c91c96bbed54 1143 if(pos_x_pega[programa]!=0 && pos_y_pega[programa]!=0 && medida_lado_pega[programa]!=0 && volume_pega[programa] !=0 && tipo_pega[programa]!=0 && status_tela == "novo"){
amandarm 55:4d071fb49f24 1144 funcao_solta1();
amandarm 55:4d071fb49f24 1145 wait(3);
amandarm 55:4d071fb49f24 1146 funcao_solta2();
amandarm 55:4d071fb49f24 1147 wait(3);
enricoan 56:e748b9bd5e3c 1148 status_tela="solta";}
amandarm 55:4d071fb49f24 1149
amandarm 55:4d071fb49f24 1150 tecla=pega_tecla();
Hiroball 70:85daa4aee916 1151
Hiroball 70:85daa4aee916 1152 //Ações para a tela "solta", para definir informações sobre os solta's
amandarm 55:4d071fb49f24 1153 if(tecla == '1' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1154 funcao_solta_dimensao();
Hiroball 61:be02d7d4e208 1155 continuar = 1;
Hiroball 61:be02d7d4e208 1156 diametro_solta = 0;
amandarm 55:4d071fb49f24 1157 status_tela="solta_dimensao";
Hiroball 61:be02d7d4e208 1158 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 1159 while(continuar){
Hiroball 61:be02d7d4e208 1160 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 1161 wait(1);
Hiroball 61:be02d7d4e208 1162 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 1163 diametro_solta = multiplicador*diametro_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 1164 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 1165 }
Hiroball 61:be02d7d4e208 1166 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 1167 printf("Diametro do solta inputado!");
Hiroball 61:be02d7d4e208 1168 printf("Diametro do solta: %d", diametro_solta);
Hiroball 61:be02d7d4e208 1169 continuar = 0;
Hiroball 61:be02d7d4e208 1170 }
Hiroball 61:be02d7d4e208 1171 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 1172 funcao_pega_forma();
Hiroball 61:be02d7d4e208 1173 status_tela = "solta";
Hiroball 61:be02d7d4e208 1174 funcao_solta1();
enricoan 71:c91c96bbed54 1175 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1176 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1177 }
enricoan 71:c91c96bbed54 1178 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1179 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1180 }
Hiroball 61:be02d7d4e208 1181 wait(3);
Hiroball 61:be02d7d4e208 1182 funcao_solta2();
enricoan 71:c91c96bbed54 1183 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1184 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1185 }
Hiroball 61:be02d7d4e208 1186 continuar = 0;}
Hiroball 61:be02d7d4e208 1187 }
Hiroball 61:be02d7d4e208 1188 }
Hiroball 61:be02d7d4e208 1189
amandarm 55:4d071fb49f24 1190 else if(tecla == '2' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1191 funcao_solta_vol();
Hiroball 61:be02d7d4e208 1192 volume_solta = 0;
Hiroball 61:be02d7d4e208 1193 continuar = 1;
amandarm 55:4d071fb49f24 1194 status_tela="solta_vol";
Hiroball 61:be02d7d4e208 1195 lcd.locate(0,2);
Hiroball 61:be02d7d4e208 1196 while(continuar){
Hiroball 61:be02d7d4e208 1197 tecla = pega_tecla();
Hiroball 61:be02d7d4e208 1198 wait(1);
Hiroball 61:be02d7d4e208 1199 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
Hiroball 61:be02d7d4e208 1200 volume_solta = multiplicador*volume_solta + ((int)tecla - 48);
Hiroball 61:be02d7d4e208 1201 lcd.printf("%c",tecla);
Hiroball 61:be02d7d4e208 1202 }
Hiroball 61:be02d7d4e208 1203 else if(tecla == 'A'){
Hiroball 61:be02d7d4e208 1204 printf("Volume solta inputado!");
Hiroball 61:be02d7d4e208 1205 printf("Volume: %d", volume_solta);
Hiroball 61:be02d7d4e208 1206 continuar = 0;
Hiroball 61:be02d7d4e208 1207 }
Hiroball 61:be02d7d4e208 1208 else if(tecla=='B'){
Hiroball 61:be02d7d4e208 1209 funcao_pega_forma();
Hiroball 61:be02d7d4e208 1210 status_tela = "solta";
Hiroball 61:be02d7d4e208 1211 continuar = 0;
Hiroball 61:be02d7d4e208 1212 funcao_solta1();
enricoan 71:c91c96bbed54 1213 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1214 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1215 }
amandarm 69:8c7e1da9d315 1216 if(dimensao_solta !=0){
amandarm 69:8c7e1da9d315 1217 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1218 }
Hiroball 61:be02d7d4e208 1219 wait(3);
Hiroball 61:be02d7d4e208 1220 funcao_solta2();
amandarm 69:8c7e1da9d315 1221 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1222 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1223 }
Hiroball 61:be02d7d4e208 1224 }
Hiroball 61:be02d7d4e208 1225 }
amandarm 55:4d071fb49f24 1226 }
amandarm 55:4d071fb49f24 1227 else if(tecla == '3' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1228 funcao_solta_pos_x();
amandarm 55:4d071fb49f24 1229 status_tela="solta_pos_x";
Hiroball 61:be02d7d4e208 1230 continuar = 1;
Hiroball 61:be02d7d4e208 1231 while(continuar){
enricoan 63:32ba7c4becfc 1232 tecla = pega_tecla();
enricoan 63:32ba7c4becfc 1233 if(x_menos == 0){mov_x_menos();
Hiroball 61:be02d7d4e208 1234 lcd.cls();
Hiroball 61:be02d7d4e208 1235 lcd.printf("X: %4.1f", coord_x);}
enricoan 63:32ba7c4becfc 1236 else if(x_mais == 0){mov_x_mais();
Hiroball 61:be02d7d4e208 1237 lcd.cls();
Hiroball 61:be02d7d4e208 1238 lcd.printf("X: %4.1f", coord_x);}
Hiroball 61:be02d7d4e208 1239 if(tecla=='A'){
Hiroball 61:be02d7d4e208 1240 continuar = 0;
Hiroball 61:be02d7d4e208 1241 printf("Posicao de x salva!");
Hiroball 61:be02d7d4e208 1242 printf("Posicao X: %4.1f", coord_x);
Hiroball 61:be02d7d4e208 1243 }
amandarm 55:4d071fb49f24 1244 }
Hiroball 61:be02d7d4e208 1245 }
amandarm 55:4d071fb49f24 1246 else if(tecla == 'B' && status_tela == "solta"){
amandarm 55:4d071fb49f24 1247 funcao_pega1();
amandarm 79:b9e2d020240c 1248 if(medida_lado_pega !=0){
amandarm 79:b9e2d020240c 1249 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1250 }
amandarm 79:b9e2d020240c 1251 if(volume_pega !=0){
amandarm 79:b9e2d020240c 1252 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1253 }
amandarm 55:4d071fb49f24 1254 wait(1);
amandarm 55:4d071fb49f24 1255 funcao_pega2();
amandarm 79:b9e2d020240c 1256 if(pos_y_pega[programa] !=0){
amandarm 79:b9e2d020240c 1257 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1258 }
enricoan 71:c91c96bbed54 1259 status_tela="novo";
amandarm 55:4d071fb49f24 1260 }
amandarm 55:4d071fb49f24 1261
amandarm 55:4d071fb49f24 1262 tecla=pega_tecla();
Hiroball 70:85daa4aee916 1263 //Ações para a tela solta_dimensao, para definir informações sobre a dimensão do solta
amandarm 55:4d071fb49f24 1264 if(tecla=='A' && status_tela=="solta_dimensao"){
enricoan 67:ecd4feb40f94 1265 dimensao_solta[programa] = 10;
amandarm 55:4d071fb49f24 1266 funcao_solta1();
enricoan 71:c91c96bbed54 1267 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1268 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1269 }
enricoan 71:c91c96bbed54 1270 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1271 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1272 }
amandarm 55:4d071fb49f24 1273 wait(3);
amandarm 55:4d071fb49f24 1274 funcao_solta2();
enricoan 71:c91c96bbed54 1275 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1276 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1277 }
amandarm 55:4d071fb49f24 1278 wait(3);
amandarm 55:4d071fb49f24 1279 status_tela="solta";
amandarm 55:4d071fb49f24 1280 }
amandarm 55:4d071fb49f24 1281 else if(tecla=='B' && status_tela=="solta_dimensao"){
amandarm 55:4d071fb49f24 1282 funcao_solta1();
enricoan 71:c91c96bbed54 1283 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1284 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1285 }
enricoan 71:c91c96bbed54 1286 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1287 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1288 }
amandarm 55:4d071fb49f24 1289 wait(3);
amandarm 55:4d071fb49f24 1290 funcao_solta2();
enricoan 71:c91c96bbed54 1291 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1292 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1293 }
amandarm 55:4d071fb49f24 1294 wait(3);
amandarm 55:4d071fb49f24 1295 status_tela="solta";
amandarm 55:4d071fb49f24 1296 }
amandarm 55:4d071fb49f24 1297 if(tecla=='1' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1298 funcao_solta_vol_igual();
amandarm 55:4d071fb49f24 1299 status_tela="solta_vol_igual";
amandarm 55:4d071fb49f24 1300 }
amandarm 55:4d071fb49f24 1301 else if(tecla=='2' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1302 funcao_solta_vol_cada();
amandarm 55:4d071fb49f24 1303 status_tela="solta_vol_dif";
amandarm 55:4d071fb49f24 1304 }
amandarm 55:4d071fb49f24 1305 else if(tecla=='B' && status_tela=="solta_vol"){
amandarm 55:4d071fb49f24 1306 funcao_solta1();
enricoan 71:c91c96bbed54 1307 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1308 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1309 }
amandarm 69:8c7e1da9d315 1310 if(dimensao_solta !=0){
enricoan 58:d573b618f45a 1311 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1312 }
amandarm 55:4d071fb49f24 1313 wait(3);
amandarm 55:4d071fb49f24 1314 funcao_solta2();
enricoan 71:c91c96bbed54 1315 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1316 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1317 }
amandarm 55:4d071fb49f24 1318 wait(3);
amandarm 55:4d071fb49f24 1319 status_tela="solta";
amandarm 55:4d071fb49f24 1320 }
enricoan 56:e748b9bd5e3c 1321 if(tecla=='A' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1322 funcao_solta_pos_y();
enricoan 67:ecd4feb40f94 1323 pos_x_solta[programa] = 10;
enricoan 56:e748b9bd5e3c 1324 status_tela="solta_pos_y";
amandarm 55:4d071fb49f24 1325 }
enricoan 56:e748b9bd5e3c 1326 else if(tecla=='B' && status_tela=="solta_pos_x"){
amandarm 55:4d071fb49f24 1327 funcao_solta1();
enricoan 71:c91c96bbed54 1328 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1329 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1330 }
enricoan 71:c91c96bbed54 1331 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1332 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1333 }
amandarm 55:4d071fb49f24 1334 wait(3);
amandarm 55:4d071fb49f24 1335 funcao_solta2();
enricoan 71:c91c96bbed54 1336 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1337 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1338 }
amandarm 55:4d071fb49f24 1339 wait(3);
amandarm 55:4d071fb49f24 1340 status_tela="solta";
amandarm 55:4d071fb49f24 1341 }
amandarm 55:4d071fb49f24 1342
amandarm 55:4d071fb49f24 1343 tecla=pega_tecla();
amandarm 55:4d071fb49f24 1344 if(tecla=='A' && status_tela=="solta_vol_igual"){
enricoan 67:ecd4feb40f94 1345 volume_solta_1[programa]=10;
enricoan 67:ecd4feb40f94 1346 volume_solta_2[programa]=10;
enricoan 67:ecd4feb40f94 1347 volume_solta_3[programa]=10;
enricoan 67:ecd4feb40f94 1348 volume_solta_4[programa]=10;
enricoan 67:ecd4feb40f94 1349 volume_solta_5[programa]=10;
enricoan 67:ecd4feb40f94 1350 volume_solta_6[programa]=10;
enricoan 67:ecd4feb40f94 1351 volume_solta_7[programa]=10;
enricoan 67:ecd4feb40f94 1352 volume_solta_8[programa]=10;
enricoan 67:ecd4feb40f94 1353 volume_solta_9[programa]=10;
amandarm 55:4d071fb49f24 1354
amandarm 55:4d071fb49f24 1355 funcao_solta1();
enricoan 71:c91c96bbed54 1356 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1357 lcd.locate(18,2);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1358 }
enricoan 71:c91c96bbed54 1359 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1360 lcd.locate(18,1);lcd.printf("OK");
amandarm 69:8c7e1da9d315 1361 }
amandarm 55:4d071fb49f24 1362 wait(3);
amandarm 55:4d071fb49f24 1363 funcao_solta2();
enricoan 71:c91c96bbed54 1364 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1365 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1366 }
amandarm 55:4d071fb49f24 1367 wait(3);
enricoan 56:e748b9bd5e3c 1368 status_tela="solta";}
amandarm 55:4d071fb49f24 1369 else if(tecla=='B' && status_tela=="solta_vol_igual"){
amandarm 55:4d071fb49f24 1370 funcao_solta_vol();
amandarm 55:4d071fb49f24 1371 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1372 }
amandarm 55:4d071fb49f24 1373 if(tecla=='1' && status_tela=="solta_vol_dif"){
enricoan 71:c91c96bbed54 1374 volume_solta_1[programa]=10;
enricoan 71:c91c96bbed54 1375 lcd.locate(12,0);lcd.printf("20");
amandarm 55:4d071fb49f24 1376 }
amandarm 55:4d071fb49f24 1377 if(tecla=='2' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1378 volume_solta_2[programa]=20;
enricoan 56:e748b9bd5e3c 1379 lcd.locate(15,0);lcd.printf("20");
amandarm 55:4d071fb49f24 1380 }
amandarm 55:4d071fb49f24 1381 if(tecla=='3' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1382 volume_solta_3[programa]=30;
enricoan 56:e748b9bd5e3c 1383 lcd.locate(18,0);lcd.printf("30");
amandarm 55:4d071fb49f24 1384 }
amandarm 55:4d071fb49f24 1385 if(tecla=='4' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1386 volume_solta_4[programa]=40;
enricoan 56:e748b9bd5e3c 1387 lcd.locate(12,1);lcd.printf("40");
amandarm 55:4d071fb49f24 1388 }
amandarm 55:4d071fb49f24 1389 if(tecla=='5' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1390 volume_solta_5[programa]=50;
enricoan 56:e748b9bd5e3c 1391 lcd.locate(15,1);lcd.printf("50");
amandarm 55:4d071fb49f24 1392 }
amandarm 55:4d071fb49f24 1393 if(tecla=='6' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1394 volume_solta_6[programa]=60;
enricoan 56:e748b9bd5e3c 1395 lcd.locate(18,1);lcd.printf("60");
amandarm 55:4d071fb49f24 1396 }
amandarm 55:4d071fb49f24 1397 if(tecla=='7' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1398 volume_solta_7[programa]=70;
enricoan 56:e748b9bd5e3c 1399 lcd.locate(12,2);lcd.printf("70");
amandarm 55:4d071fb49f24 1400 }
amandarm 55:4d071fb49f24 1401 if(tecla=='8' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1402 volume_solta_8[programa]=80;
enricoan 56:e748b9bd5e3c 1403 lcd.locate(15,2);lcd.printf("80");
amandarm 55:4d071fb49f24 1404 }
amandarm 55:4d071fb49f24 1405 if(tecla=='9' && status_tela=="solta_vol_dif"){
enricoan 67:ecd4feb40f94 1406 volume_solta_9[programa]=90;
enricoan 56:e748b9bd5e3c 1407 lcd.locate(18,2);lcd.printf("90");
amandarm 55:4d071fb49f24 1408 }
amandarm 55:4d071fb49f24 1409 if(tecla=='A' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1410 funcao_solta1();
enricoan 71:c91c96bbed54 1411 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1412 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1413 }
enricoan 71:c91c96bbed54 1414 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1415 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1416 }
amandarm 55:4d071fb49f24 1417 wait(3);
amandarm 55:4d071fb49f24 1418 funcao_solta2();
amandarm 69:8c7e1da9d315 1419 if(pos_y_solta !=0){
amandarm 69:8c7e1da9d315 1420 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1421 }
amandarm 55:4d071fb49f24 1422 wait(3);
amandarm 55:4d071fb49f24 1423 status_tela="solta";
amandarm 55:4d071fb49f24 1424 }
amandarm 55:4d071fb49f24 1425 else if(tecla=='B' && status_tela=="solta_vol_dif"){
amandarm 55:4d071fb49f24 1426 funcao_solta_vol();
amandarm 55:4d071fb49f24 1427 status_tela="solta_vol";
amandarm 55:4d071fb49f24 1428 }
enricoan 56:e748b9bd5e3c 1429 if(tecla=='A' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1430 funcao_solta1();
enricoan 71:c91c96bbed54 1431 if(volume_solta_9[programa] !=0){
amandarm 69:8c7e1da9d315 1432 lcd.locate(18,2);lcd.printf("OK");
enricoan 58:d573b618f45a 1433 }
enricoan 71:c91c96bbed54 1434 if(dimensao_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1435 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1436 }
amandarm 55:4d071fb49f24 1437 wait(3);
amandarm 55:4d071fb49f24 1438 funcao_solta2();
enricoan 71:c91c96bbed54 1439 if(pos_y_solta[programa] !=0){
amandarm 69:8c7e1da9d315 1440 lcd.locate(18,1);lcd.printf("OK");
enricoan 58:d573b618f45a 1441 }
enricoan 67:ecd4feb40f94 1442 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1443 wait(3);
amandarm 55:4d071fb49f24 1444 status_tela="solta";
amandarm 55:4d071fb49f24 1445 }
enricoan 56:e748b9bd5e3c 1446 else if(tecla=='B' && status_tela=="solta_pos_y"){
amandarm 55:4d071fb49f24 1447 funcao_solta1();
enricoan 71:c91c96bbed54 1448 if(volume_solta_9[programa] !=0){lcd.locate(18,2);lcd.printf("OK");}
enricoan 71:c91c96bbed54 1449 if(dimensao_solta[programa] !=0){lcd.locate(18,1);lcd.printf("OK");}
amandarm 55:4d071fb49f24 1450 funcao_solta2();
enricoan 71:c91c96bbed54 1451 if(pos_y_solta[programa] !=0){lcd.locate(18,1);lcd.printf("OK");}
enricoan 67:ecd4feb40f94 1452 pos_y_solta[programa] = 10;
amandarm 55:4d071fb49f24 1453 wait(3);
enricoan 71:c91c96bbed54 1454 status_tela="solta";}
Hiroball 72:aa3902facc8c 1455 //Ações para a tela acompanhamento (execução do programa)
Hiroball 72:aa3902facc8c 1456 //MAtriz 3x3 (6x6cm)
enricoan 80:3a69b08e062f 1457 int nome;
enricoan 80:3a69b08e062f 1458 pos_y_solta[programa] = 2;
enricoan 80:3a69b08e062f 1459 if(pos_x_solta[programa]!=0 && pos_y_solta[programa]!=0 && volume_solta_9[programa]!=0 && dimensao_solta[programa]!=0 && status_tela == "solta"){
enricoan 80:3a69b08e062f 1460 printf("rotina exec");
enricoan 80:3a69b08e062f 1461 funcao_nome_prog();
amandarm 79:b9e2d020240c 1462 status_tela="nome_programa";}
enricoan 80:3a69b08e062f 1463 if(tecla=='B' && status_tela=="nome_programa"){
amandarm 79:b9e2d020240c 1464 funcao_solta1();
amandarm 79:b9e2d020240c 1465 if(volume_solta_9[programa] !=0){lcd.locate(18,2);lcd.printf("OK");}
amandarm 79:b9e2d020240c 1466 if(dimensao_solta[programa] !=0){lcd.locate(18,1);lcd.printf("OK");}
amandarm 79:b9e2d020240c 1467 funcao_solta2();
amandarm 79:b9e2d020240c 1468 if(pos_y_solta[programa] !=0){lcd.locate(18,1);lcd.printf("OK");}
amandarm 79:b9e2d020240c 1469 pos_y_solta[programa] = 10;
amandarm 79:b9e2d020240c 1470 wait(3);
amandarm 79:b9e2d020240c 1471 status_tela="solta";
amandarm 79:b9e2d020240c 1472 }
enricoan 80:3a69b08e062f 1473 else if(tecla=='A' && status_tela=="nome_programa"){
amandarm 79:b9e2d020240c 1474 //!!!!!!!!!!!!!! colocar o códgio de pegar o valor do usuário
amandarm 79:b9e2d020240c 1475 nome=1;
amandarm 79:b9e2d020240c 1476 continuar=1;
amandarm 79:b9e2d020240c 1477 while(continuar){
amandarm 79:b9e2d020240c 1478 tecla = pega_tecla();
amandarm 79:b9e2d020240c 1479 wait(1);
amandarm 79:b9e2d020240c 1480 if(tecla!= 'A' && tecla!='B' && tecla!= 'k'){
amandarm 79:b9e2d020240c 1481 nome = multiplicador*nome + ((int)tecla - 48);
enricoan 80:3a69b08e062f 1482 lcd.cls();
enricoan 80:3a69b08e062f 1483 lcd.printf("%d",nome);
enricoan 80:3a69b08e062f 1484 lcd.locate(0,3);
enricoan 80:3a69b08e062f 1485 lcd.printf("A-Confirmar B-Volta");
amandarm 79:b9e2d020240c 1486 }
enricoan 80:3a69b08e062f 1487 else if(tecla == 'A'){
enricoan 80:3a69b08e062f 1488 printf("nome inserido");
enricoan 80:3a69b08e062f 1489 printf("nome: %d", nome);
enricoan 80:3a69b08e062f 1490 funcao_acomp();
enricoan 80:3a69b08e062f 1491 status_tela="acompanhamento";
enricoan 80:3a69b08e062f 1492 continuar = 0;
enricoan 80:3a69b08e062f 1493 nome_programa[programa]=nome;
enricoan 80:3a69b08e062f 1494 confirmacao_pos_pega[programa]=0;
enricoan 80:3a69b08e062f 1495 confirmacao_pos_solta[programa]=0;
enricoan 80:3a69b08e062f 1496 confirmacao_vol_pega[programa]=0;
enricoan 80:3a69b08e062f 1497 confirmacao_pos_solta[programa]=0;
amandarm 79:b9e2d020240c 1498 }
enricoan 80:3a69b08e062f 1499 }}
Hiroball 81:aa3f095fd82a 1500 if(confirmacao_pos_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && confirmacao_vol_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && status_tela == "acompanhamento"){
Hiroball 81:aa3f095fd82a 1501 int cont_pipeta = 0;
Hiroball 72:aa3902facc8c 1502 float altura;
Hiroball 72:aa3902facc8c 1503
Hiroball 72:aa3902facc8c 1504 float pos1[2] = {pos_x_solta[programa], pos_y_solta[programa]} ;
Hiroball 72:aa3902facc8c 1505 float pos2[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]} ;
Hiroball 72:aa3902facc8c 1506 float pos3[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]} ;
Hiroball 72:aa3902facc8c 1507 float pos4[2] = {pos_x_solta[programa], pos_y_solta[programa]+2} ;
Hiroball 72:aa3902facc8c 1508 float pos5[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+2} ;
Hiroball 72:aa3902facc8c 1509 float pos6[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+2} ;
Hiroball 72:aa3902facc8c 1510 float pos7[2] = {pos_x_solta[programa], pos_y_solta[programa]+4} ;
Hiroball 72:aa3902facc8c 1511 float pos8[2] = {pos_x_solta[programa]+2, pos_y_solta[programa]+4} ;
Hiroball 72:aa3902facc8c 1512 float pos9[2] = {pos_x_solta[programa]+4, pos_y_solta[programa]+4};
Hiroball 72:aa3902facc8c 1513
Hiroball 72:aa3902facc8c 1514 //Calcular a altura do pega com base no tipo do pega
Hiroball 72:aa3902facc8c 1515 for(int i; i<volume_solta_1[programa];i++){
Hiroball 72:aa3902facc8c 1516 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1517 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1518 wait(1);
Hiroball 72:aa3902facc8c 1519 go_to_z(altura);
Hiroball 72:aa3902facc8c 1520 wait(1);
Hiroball 72:aa3902facc8c 1521 pipeta = 0;
Hiroball 72:aa3902facc8c 1522 wait(1);
Hiroball 72:aa3902facc8c 1523 pipeta = 1;
Hiroball 72:aa3902facc8c 1524 wait(1);
Hiroball 72:aa3902facc8c 1525 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1526 wait(1);
Hiroball 72:aa3902facc8c 1527 go_to_posicao(pos1[0],pos1[1]);
Hiroball 72:aa3902facc8c 1528 wait(1);
Hiroball 72:aa3902facc8c 1529 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1530 wait(1);
Hiroball 72:aa3902facc8c 1531 pipeta = 0;
Hiroball 72:aa3902facc8c 1532 wait(1);
Hiroball 72:aa3902facc8c 1533 pipeta = 1;
Hiroball 72:aa3902facc8c 1534 wait(1);
Hiroball 72:aa3902facc8c 1535 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1536 wait(1);
Hiroball 72:aa3902facc8c 1537 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1538 }
Hiroball 72:aa3902facc8c 1539 for(int i; i<volume_solta_2[programa];i++){
Hiroball 72:aa3902facc8c 1540 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1541 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1542 wait(1);
Hiroball 72:aa3902facc8c 1543 go_to_z(altura);
Hiroball 72:aa3902facc8c 1544 wait(1);
Hiroball 72:aa3902facc8c 1545 pipeta = 0;
Hiroball 72:aa3902facc8c 1546 wait(1);
Hiroball 72:aa3902facc8c 1547 pipeta = 1;
Hiroball 72:aa3902facc8c 1548 wait(1);
Hiroball 72:aa3902facc8c 1549 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1550 wait(1);
Hiroball 72:aa3902facc8c 1551 go_to_posicao(pos2[0],pos2[1]);
Hiroball 72:aa3902facc8c 1552 wait(1);
Hiroball 72:aa3902facc8c 1553 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1554 wait(1);
Hiroball 72:aa3902facc8c 1555 pipeta = 0;
Hiroball 72:aa3902facc8c 1556 wait(1);
Hiroball 72:aa3902facc8c 1557 pipeta = 1;
Hiroball 72:aa3902facc8c 1558 wait(1);
Hiroball 72:aa3902facc8c 1559 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1560 wait(1);
Hiroball 72:aa3902facc8c 1561 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1562 }
Hiroball 72:aa3902facc8c 1563 for(int i; i<volume_solta_3[programa];i++){
Hiroball 72:aa3902facc8c 1564 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1565 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1566 wait(1);
Hiroball 72:aa3902facc8c 1567 go_to_z(altura);
Hiroball 72:aa3902facc8c 1568 wait(1);
Hiroball 72:aa3902facc8c 1569 pipeta = 0;
Hiroball 72:aa3902facc8c 1570 wait(1);
Hiroball 72:aa3902facc8c 1571 pipeta = 1;
Hiroball 72:aa3902facc8c 1572 wait(1);
Hiroball 72:aa3902facc8c 1573 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1574 wait(1);
Hiroball 72:aa3902facc8c 1575 go_to_posicao(pos3[0],pos3[1]);
Hiroball 72:aa3902facc8c 1576 wait(1);
Hiroball 72:aa3902facc8c 1577 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1578 wait(1);
Hiroball 72:aa3902facc8c 1579 pipeta = 0;
Hiroball 72:aa3902facc8c 1580 wait(1);
Hiroball 72:aa3902facc8c 1581 pipeta = 1;
Hiroball 72:aa3902facc8c 1582 wait(1);
Hiroball 72:aa3902facc8c 1583 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1584 wait(1);
Hiroball 72:aa3902facc8c 1585 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1586
Hiroball 72:aa3902facc8c 1587 }
Hiroball 72:aa3902facc8c 1588 for(int i; i<volume_solta_4[programa];i++){
Hiroball 72:aa3902facc8c 1589 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1590 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1591 go_to_z(altura);
Hiroball 72:aa3902facc8c 1592 pipeta = 0;
Hiroball 72:aa3902facc8c 1593 wait(1);
Hiroball 72:aa3902facc8c 1594 pipeta = 1;
Hiroball 72:aa3902facc8c 1595 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1596 go_to_posicao(pos4[0],pos4[1]);
Hiroball 72:aa3902facc8c 1597 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1598 pipeta = 0;
Hiroball 72:aa3902facc8c 1599 wait(1);
Hiroball 72:aa3902facc8c 1600 pipeta = 1;
Hiroball 72:aa3902facc8c 1601 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1602 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1603 }
Hiroball 72:aa3902facc8c 1604 for(int i; i<volume_solta_5[programa];i++){
Hiroball 72:aa3902facc8c 1605 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1606 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1607 go_to_z(altura);
Hiroball 72:aa3902facc8c 1608 pipeta = 0;
Hiroball 72:aa3902facc8c 1609 wait(1);
Hiroball 72:aa3902facc8c 1610 pipeta = 1;
Hiroball 72:aa3902facc8c 1611 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1612 go_to_posicao(pos5[0],pos5[1]);
Hiroball 72:aa3902facc8c 1613 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1614 pipeta = 0;
Hiroball 72:aa3902facc8c 1615 wait(1);
Hiroball 72:aa3902facc8c 1616 pipeta = 1;
Hiroball 72:aa3902facc8c 1617 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1618 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1619
Hiroball 72:aa3902facc8c 1620 }
Hiroball 72:aa3902facc8c 1621 for(int i; i<volume_solta_6[programa];i++){
Hiroball 72:aa3902facc8c 1622 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1623 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1624 go_to_z(altura);
Hiroball 72:aa3902facc8c 1625 pipeta = 0;
Hiroball 72:aa3902facc8c 1626 wait(1);
Hiroball 72:aa3902facc8c 1627 pipeta = 1;
Hiroball 72:aa3902facc8c 1628 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1629 go_to_posicao(pos6[0],pos6[1]);
Hiroball 72:aa3902facc8c 1630 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1631 pipeta = 0;
Hiroball 72:aa3902facc8c 1632 wait(1);
Hiroball 72:aa3902facc8c 1633 pipeta = 1;
Hiroball 72:aa3902facc8c 1634 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1635 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1636
Hiroball 72:aa3902facc8c 1637 }
Hiroball 72:aa3902facc8c 1638 for(int i; i<volume_solta_7[programa];i++){
Hiroball 72:aa3902facc8c 1639 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1640 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1641 go_to_z(altura);
Hiroball 72:aa3902facc8c 1642 pipeta = 0;
Hiroball 72:aa3902facc8c 1643 wait(1);
Hiroball 72:aa3902facc8c 1644 pipeta = 1;
Hiroball 72:aa3902facc8c 1645 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1646 go_to_posicao(pos7[0],pos7[1]);
Hiroball 72:aa3902facc8c 1647 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1648 pipeta = 0;
Hiroball 72:aa3902facc8c 1649 wait(1);
Hiroball 72:aa3902facc8c 1650 pipeta = 1;
Hiroball 72:aa3902facc8c 1651 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1652 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1653
Hiroball 72:aa3902facc8c 1654 }
Hiroball 72:aa3902facc8c 1655 for(int i; i<volume_solta_8[programa];i++){
Hiroball 72:aa3902facc8c 1656 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1657 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1658 go_to_z(altura);
Hiroball 72:aa3902facc8c 1659 pipeta = 0;
Hiroball 72:aa3902facc8c 1660 wait(1);
Hiroball 72:aa3902facc8c 1661 pipeta = 1;
Hiroball 72:aa3902facc8c 1662 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1663 go_to_posicao(pos8[0],pos8[1]);
Hiroball 72:aa3902facc8c 1664 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1665 pipeta = 0;
Hiroball 72:aa3902facc8c 1666 wait(1);
Hiroball 72:aa3902facc8c 1667 pipeta = 1;
Hiroball 72:aa3902facc8c 1668 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1669 cont_pipeta+=1;
Hiroball 72:aa3902facc8c 1670 }
Hiroball 72:aa3902facc8c 1671 for(int i; i<volume_solta_9[programa];i++){
Hiroball 72:aa3902facc8c 1672 altura = calcula_altura(tipo_pega[programa],medida_lado_pega[programa], volume_pega[programa], cont_pipeta);
Hiroball 72:aa3902facc8c 1673 go_to_posicao(pos_x_pega[programa], pos_y_pega[programa]);
Hiroball 72:aa3902facc8c 1674 go_to_z(altura);
Hiroball 72:aa3902facc8c 1675 pipeta = 0;
Hiroball 72:aa3902facc8c 1676 wait(1);
Hiroball 72:aa3902facc8c 1677 pipeta = 1;
Hiroball 72:aa3902facc8c 1678 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1679 go_to_posicao(pos9[0],pos9[1]);
Hiroball 72:aa3902facc8c 1680 go_to_z(altura_solta);
Hiroball 72:aa3902facc8c 1681 pipeta = 0;
Hiroball 72:aa3902facc8c 1682 wait(1);
Hiroball 72:aa3902facc8c 1683 pipeta = 1;
Hiroball 72:aa3902facc8c 1684 go_to_z(normal_z);
Hiroball 72:aa3902facc8c 1685 cont_pipeta+=1;
enricoan 80:3a69b08e062f 1686 }}
Hiroball 72:aa3902facc8c 1687
enricoan 80:3a69b08e062f 1688 }//fim do else if do meio do codigo
enricoan 80:3a69b08e062f 1689 }//fim do while(1)
enricoan 80:3a69b08e062f 1690 //fim do int main