testando

Dependencies:   mbed TextLCD2

Committer:
Hiroball
Date:
Mon Jun 08 15:10:34 2020 +0000
Revision:
85:10dec681c389
Parent:
84:d6dd7bf705a1
Child:
87:6bba4ab5a623
Coloquei todos os loops nas trocas de T3L4

Who changed what in which revision?

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