testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Wed Jun 03 22:44:40 2020 +0000
Revision:
75:5ed09d16ab1f
Parent:
74:53c345d557e8
Child:
78:e1dfd20407fc
tirando comando aleatorio de movimentacao no while principal

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