testando

Dependencies:   mbed TextLCD2

Committer:
amandarm
Date:
Sat Jun 06 21:34:03 2020 +0000
Revision:
79:b9e2d020240c
Parent:
78:e1dfd20407fc
Child:
80:3a69b08e062f
arrumar erros do codigo (ok, posy)

Who changed what in which revision?

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