testando

Dependencies:   mbed TextLCD2

Committer:
amandarm
Date:
Mon Jun 08 13:27:04 2020 +0000
Revision:
83:824e811b9f49
Parent:
82:b8b6374ce1e6
Child:
84:d6dd7bf705a1
sem erro no OK

Who changed what in which revision?

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