testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Mon Jun 08 16:20:55 2020 +0000
Revision:
86:88cf423a33eb
Parent:
84:d6dd7bf705a1
e

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