testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Sat Jun 06 23:31:33 2020 +0000
Revision:
80:3a69b08e062f
Parent:
79:b9e2d020240c
Child:
81:aa3f095fd82a
manutencao

Who changed what in which revision?

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