testando

Dependencies:   mbed TextLCD2

Committer:
amandarm
Date:
Mon Jun 08 13:33:36 2020 +0000
Revision:
84:d6dd7bf705a1
Parent:
83:824e811b9f49
Child:
85:10dec681c389
Child:
86:88cf423a33eb
funcao retorna o nome do programa

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