
Projeto Mecatronico Grupo: Pingos nos I's 2019
Dependencies: mbed Projeto_Mecatronico Projeto_Mecat_Pingos
main.cpp@0:61ea5c9ad2de, 2019-06-13 (annotated)
- Committer:
- ligeiro13
- Date:
- Thu Jun 13 19:46:46 2019 +0000
- Revision:
- 0:61ea5c9ad2de
entrega;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ligeiro13 | 0:61ea5c9ad2de | 1 | #include "mbed.h" |
ligeiro13 | 0:61ea5c9ad2de | 2 | #include "TextLCD.h" |
ligeiro13 | 0:61ea5c9ad2de | 3 | //#include "LinkedList.h" |
ligeiro13 | 0:61ea5c9ad2de | 4 | #define espera 100 |
ligeiro13 | 0:61ea5c9ad2de | 5 | #define vel_1 1000 |
ligeiro13 | 0:61ea5c9ad2de | 6 | #define vel_2 1000 |
ligeiro13 | 0:61ea5c9ad2de | 7 | //bibliteca segmento: TextLCD |
ligeiro13 | 0:61ea5c9ad2de | 8 | /* |
ligeiro13 | 0:61ea5c9ad2de | 9 | O QUE FAZER |
ligeiro13 | 0:61ea5c9ad2de | 10 | 1-aarrumar o print do COLA? qnd ponto modificado |
ligeiro13 | 0:61ea5c9ad2de | 11 | 2-arrrumar a listadecola quando ponto modificado |
ligeiro13 | 0:61ea5c9ad2de | 12 | */ |
ligeiro13 | 0:61ea5c9ad2de | 13 | |
ligeiro13 | 0:61ea5c9ad2de | 14 | |
ligeiro13 | 0:61ea5c9ad2de | 15 | //---------------------------------------------------------------------------------ENTRADAS E SAIDAS ANALOGICAS--------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 16 | //DigitalIn botaoC(PC_1);// //pino entrada botaoC |
ligeiro13 | 0:61ea5c9ad2de | 17 | //DigitalIn botaoA(PC_2); // //pino entrada botaoA colar pontos |
ligeiro13 | 0:61ea5c9ad2de | 18 | int botaoA=1; |
ligeiro13 | 0:61ea5c9ad2de | 19 | int botaoC=1; |
ligeiro13 | 0:61ea5c9ad2de | 20 | DigitalIn botao_analog(PC_12); |
ligeiro13 | 0:61ea5c9ad2de | 21 | //int botao_analog = 1; |
ligeiro13 | 0:61ea5c9ad2de | 22 | AnalogIn eixo_x(A0); |
ligeiro13 | 0:61ea5c9ad2de | 23 | AnalogIn eixo_y(A2); |
ligeiro13 | 0:61ea5c9ad2de | 24 | |
ligeiro13 | 0:61ea5c9ad2de | 25 | DigitalOut enable_x(PA_10);//motor x |
ligeiro13 | 0:61ea5c9ad2de | 26 | DigitalOut dir_x(PB_5);//motor x |
ligeiro13 | 0:61ea5c9ad2de | 27 | DigitalOut step_x(PB_3);//motor x |
ligeiro13 | 0:61ea5c9ad2de | 28 | DigitalIn FimCursoX(PA_6); //entrada fdc eixo x novo |
ligeiro13 | 0:61ea5c9ad2de | 29 | |
ligeiro13 | 0:61ea5c9ad2de | 30 | DigitalOut enable_y(PB_4);//motor y |
ligeiro13 | 0:61ea5c9ad2de | 31 | DigitalOut dir_y(PA_8);//motor y |
ligeiro13 | 0:61ea5c9ad2de | 32 | DigitalOut step_y(PB_10);//motor y |
ligeiro13 | 0:61ea5c9ad2de | 33 | DigitalIn FimCursoY(PC_8); //entrada fdc eixo y novo |
ligeiro13 | 0:61ea5c9ad2de | 34 | |
ligeiro13 | 0:61ea5c9ad2de | 35 | DigitalOut enable_z(PA_9);//motor z |
ligeiro13 | 0:61ea5c9ad2de | 36 | DigitalOut dir_z(PB_6);//motor z |
ligeiro13 | 0:61ea5c9ad2de | 37 | DigitalOut step_z(PC_7);//motor z |
ligeiro13 | 0:61ea5c9ad2de | 38 | |
ligeiro13 | 0:61ea5c9ad2de | 39 | DigitalIn FimCursoZ(PB_7); //entrada fdc eixo z novo |
ligeiro13 | 0:61ea5c9ad2de | 40 | |
ligeiro13 | 0:61ea5c9ad2de | 41 | DigitalIn botao_emergencia(PA_13); //entrada B.E. nova |
ligeiro13 | 0:61ea5c9ad2de | 42 | DigitalOut aciona_pneu(PC_3);//aciona pneumatica da cola PRESSAO |
ligeiro13 | 0:61ea5c9ad2de | 43 | DigitalOut aciona_pneu2(PC_2);//aciona pneumatica da cola VALVULA |
ligeiro13 | 0:61ea5c9ad2de | 44 | //----------------------------------IHM |
ligeiro13 | 0:61ea5c9ad2de | 45 | TextLCD lcd(PC_13, PA_15, PA_12, PA_11, PB_12, PB_11, TextLCD::LCD20x4); // rs, e , d4-d7 |
ligeiro13 | 0:61ea5c9ad2de | 46 | DigitalIn botao_cima(PB_2); |
ligeiro13 | 0:61ea5c9ad2de | 47 | DigitalIn botao_enter(PB_1); |
ligeiro13 | 0:61ea5c9ad2de | 48 | DigitalIn botao_baixo(PB_15); |
ligeiro13 | 0:61ea5c9ad2de | 49 | |
ligeiro13 | 0:61ea5c9ad2de | 50 | int menu = 1; // Aqui será a seleção dos menus do IHM |
ligeiro13 | 0:61ea5c9ad2de | 51 | int menu_enter = 0;//referenciando menu se refe =1 |
ligeiro13 | 0:61ea5c9ad2de | 52 | int menu_enter_2 = 0;//menu 2 ADICONAR PONTOS/ MODIFICAR PONTOS COLAR PONTOS |
ligeiro13 | 0:61ea5c9ad2de | 53 | int flag = 1; |
ligeiro13 | 0:61ea5c9ad2de | 54 | char strings_x[5]={0,0,0,0,0}; |
ligeiro13 | 0:61ea5c9ad2de | 55 | char ident_eixo; |
ligeiro13 | 0:61ea5c9ad2de | 56 | int i = 1; //contador de chars |
ligeiro13 | 0:61ea5c9ad2de | 57 | int linha = 0;//para descer o " >" |
ligeiro13 | 0:61ea5c9ad2de | 58 | int ponto = 0;//valor de um ponto |
ligeiro13 | 0:61ea5c9ad2de | 59 | int pontos[10];//numero de pontos |
ligeiro13 | 0:61ea5c9ad2de | 60 | int cola[10];//lista para saber se ira aplicar cola entre os pontos |
ligeiro13 | 0:61ea5c9ad2de | 61 | int i_c = 0;// indice da lista cola |
ligeiro13 | 0:61ea5c9ad2de | 62 | int i_p = 0; //loop i pontos |
ligeiro13 | 0:61ea5c9ad2de | 63 | int ultimo_p = 0; |
ligeiro13 | 0:61ea5c9ad2de | 64 | int lista_vel[]={1000,700,500};//lista velocidade dos motores |
ligeiro13 | 0:61ea5c9ad2de | 65 | int i_v = 0;//indice lista velocidade |
ligeiro13 | 0:61ea5c9ad2de | 66 | int vel = 0;//velocidade dos motores |
ligeiro13 | 0:61ea5c9ad2de | 67 | int mover_motores = 0;//permite permitir mover os motores |
ligeiro13 | 0:61ea5c9ad2de | 68 | int flag_mod = 0;//flag de modificar pontos para add pontos |
ligeiro13 | 0:61ea5c9ad2de | 69 | int flag_mod2 = 0;//flag de modificar pontos para add COLA |
ligeiro13 | 0:61ea5c9ad2de | 70 | int flag_emergencia = 0;// flag botao de emergencia |
ligeiro13 | 0:61ea5c9ad2de | 71 | int flag_emergencia2 = 0;// flag botao de emergencia 2 |
ligeiro13 | 0:61ea5c9ad2de | 72 | int vai_emergencia = 0;// variavel para ser usado a funcao " go to" |
ligeiro13 | 0:61ea5c9ad2de | 73 | |
ligeiro13 | 0:61ea5c9ad2de | 74 | Serial pc(USBTX , USBRX);// band rate é de 1152000 na Serial Port do Tera Term |
ligeiro13 | 0:61ea5c9ad2de | 75 | //------------------------------------------------------------------------------------------VARIÁVEIS-------------------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 76 | |
ligeiro13 | 0:61ea5c9ad2de | 77 | float passo = 1.8f; //1.8 graus por passo |
ligeiro13 | 0:61ea5c9ad2de | 78 | float x ; //valor do INPUT analog x |
ligeiro13 | 0:61ea5c9ad2de | 79 | float y ;//valor do INPUT analog Y |
ligeiro13 | 0:61ea5c9ad2de | 80 | bool refe; //selecionar a rotina de referenciamento |
ligeiro13 | 0:61ea5c9ad2de | 81 | bool troca_yz;//troca o eixo y/z |
ligeiro13 | 0:61ea5c9ad2de | 82 | int posicao_x; //Posicao do passo atual EIXO X |
ligeiro13 | 0:61ea5c9ad2de | 83 | int posicao_y;//Posicao do passo atual EIXO Y |
ligeiro13 | 0:61ea5c9ad2de | 84 | int posicao_z;//Posicao do passo atual EIXO Y |
ligeiro13 | 0:61ea5c9ad2de | 85 | int i_x = -1; // contador lista x |
ligeiro13 | 0:61ea5c9ad2de | 86 | int i_y = -1; // contador lista y |
ligeiro13 | 0:61ea5c9ad2de | 87 | int i_z = -1; // contador lista z |
ligeiro13 | 0:61ea5c9ad2de | 88 | int pontos_x[10]; //lista de pontos X |
ligeiro13 | 0:61ea5c9ad2de | 89 | int pontos_y[10];//lista de pontos Y |
ligeiro13 | 0:61ea5c9ad2de | 90 | int pontos_z[10];//lista de pontos Z |
ligeiro13 | 0:61ea5c9ad2de | 91 | int add; |
ligeiro13 | 0:61ea5c9ad2de | 92 | int pos; |
ligeiro13 | 0:61ea5c9ad2de | 93 | int guardar_pontos = 0;//flag para ir ao condicional "guardar pontos" |
ligeiro13 | 0:61ea5c9ad2de | 94 | int colar_pontos = 0;//flag para ir ao condicional "ir aos pontos" |
ligeiro13 | 0:61ea5c9ad2de | 95 | //LinkedList<float>pontos; |
ligeiro13 | 0:61ea5c9ad2de | 96 | |
ligeiro13 | 0:61ea5c9ad2de | 97 | //------------------------------------------------------------------------------------------DEFINICAO DAS FUNÇÕES--------------------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 98 | |
ligeiro13 | 0:61ea5c9ad2de | 99 | float passo_mm_xy (int passo_atual) |
ligeiro13 | 0:61ea5c9ad2de | 100 | { |
ligeiro13 | 0:61ea5c9ad2de | 101 | float conversao = (passo_atual*3)/200; |
ligeiro13 | 0:61ea5c9ad2de | 102 | return conversao; |
ligeiro13 | 0:61ea5c9ad2de | 103 | } |
ligeiro13 | 0:61ea5c9ad2de | 104 | float passo_mm_z (int passo_atual) |
ligeiro13 | 0:61ea5c9ad2de | 105 | { |
ligeiro13 | 0:61ea5c9ad2de | 106 | float conversao = (passo_atual*10)/200; |
ligeiro13 | 0:61ea5c9ad2de | 107 | return conversao; |
ligeiro13 | 0:61ea5c9ad2de | 108 | } |
ligeiro13 | 0:61ea5c9ad2de | 109 | |
ligeiro13 | 0:61ea5c9ad2de | 110 | |
ligeiro13 | 0:61ea5c9ad2de | 111 | void move_inicial(bool dir, float vel, bool fimcurso, int qual_eixo) //dir 0 ou 1 vel em [passos/s] fimcurso x/y qual_eixo x/y/z = 0/1/2 |
ligeiro13 | 0:61ea5c9ad2de | 112 | { |
ligeiro13 | 0:61ea5c9ad2de | 113 | //vel = (2*1000) / (vel); |
ligeiro13 | 0:61ea5c9ad2de | 114 | vel = 1000000 / (vel); |
ligeiro13 | 0:61ea5c9ad2de | 115 | vel = vel - espera; |
ligeiro13 | 0:61ea5c9ad2de | 116 | if (qual_eixo == 0) |
ligeiro13 | 0:61ea5c9ad2de | 117 | { |
ligeiro13 | 0:61ea5c9ad2de | 118 | while(FimCursoX == 0) |
ligeiro13 | 0:61ea5c9ad2de | 119 | { |
ligeiro13 | 0:61ea5c9ad2de | 120 | |
ligeiro13 | 0:61ea5c9ad2de | 121 | |
ligeiro13 | 0:61ea5c9ad2de | 122 | step_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 123 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 124 | step_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 125 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 126 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 127 | { |
ligeiro13 | 0:61ea5c9ad2de | 128 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 129 | break; |
ligeiro13 | 0:61ea5c9ad2de | 130 | } |
ligeiro13 | 0:61ea5c9ad2de | 131 | } |
ligeiro13 | 0:61ea5c9ad2de | 132 | }//qual eixo == 0 = X |
ligeiro13 | 0:61ea5c9ad2de | 133 | if (qual_eixo == 1) |
ligeiro13 | 0:61ea5c9ad2de | 134 | { |
ligeiro13 | 0:61ea5c9ad2de | 135 | while(FimCursoY == 0) |
ligeiro13 | 0:61ea5c9ad2de | 136 | { |
ligeiro13 | 0:61ea5c9ad2de | 137 | step_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 138 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 139 | step_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 140 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 141 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 142 | { |
ligeiro13 | 0:61ea5c9ad2de | 143 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 144 | break; |
ligeiro13 | 0:61ea5c9ad2de | 145 | } |
ligeiro13 | 0:61ea5c9ad2de | 146 | } |
ligeiro13 | 0:61ea5c9ad2de | 147 | }//qual eixo == 0 = Y |
ligeiro13 | 0:61ea5c9ad2de | 148 | if (qual_eixo == 2) |
ligeiro13 | 0:61ea5c9ad2de | 149 | { |
ligeiro13 | 0:61ea5c9ad2de | 150 | while(FimCursoZ == 0) |
ligeiro13 | 0:61ea5c9ad2de | 151 | { |
ligeiro13 | 0:61ea5c9ad2de | 152 | step_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 153 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 154 | step_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 155 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 156 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 157 | { |
ligeiro13 | 0:61ea5c9ad2de | 158 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 159 | break; |
ligeiro13 | 0:61ea5c9ad2de | 160 | } |
ligeiro13 | 0:61ea5c9ad2de | 161 | } |
ligeiro13 | 0:61ea5c9ad2de | 162 | }//qual eixo == 0 = Z |
ligeiro13 | 0:61ea5c9ad2de | 163 | } |
ligeiro13 | 0:61ea5c9ad2de | 164 | |
ligeiro13 | 0:61ea5c9ad2de | 165 | |
ligeiro13 | 0:61ea5c9ad2de | 166 | int move(bool dir, float vel,int posicao_xy, int qual_eixo) //dir 0 ou 1 vel em [passos/s] posicao, devolve os passos andados qual_eixo 0/1/2 x/y/z |
ligeiro13 | 0:61ea5c9ad2de | 167 | { |
ligeiro13 | 0:61ea5c9ad2de | 168 | int passos = 0; |
ligeiro13 | 0:61ea5c9ad2de | 169 | int ultimo_passo =0; |
ligeiro13 | 0:61ea5c9ad2de | 170 | int parada; |
ligeiro13 | 0:61ea5c9ad2de | 171 | //vel = (2*1000) / (vel); |
ligeiro13 | 0:61ea5c9ad2de | 172 | vel = 1000000 / (vel); |
ligeiro13 | 0:61ea5c9ad2de | 173 | vel = vel - espera; |
ligeiro13 | 0:61ea5c9ad2de | 174 | if (enable_x == 0 and qual_eixo == 0 ) //PARA EIXO X |
ligeiro13 | 0:61ea5c9ad2de | 175 | { |
ligeiro13 | 0:61ea5c9ad2de | 176 | ultimo_passo = posicao_xy; |
ligeiro13 | 0:61ea5c9ad2de | 177 | //while ((eixo_x.read() > 0.7 or eixo_x.read() < 0.3f) and posicao_x > -1 ) |
ligeiro13 | 0:61ea5c9ad2de | 178 | while ((eixo_x > 0.7 or eixo_x < 0.3f) and posicao_x > -1 ) |
ligeiro13 | 0:61ea5c9ad2de | 179 | { step_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 180 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 181 | step_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 182 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 183 | passos++; |
ligeiro13 | 0:61ea5c9ad2de | 184 | if (dir_x == 0) |
ligeiro13 | 0:61ea5c9ad2de | 185 | { |
ligeiro13 | 0:61ea5c9ad2de | 186 | parada = ultimo_passo + passos; |
ligeiro13 | 0:61ea5c9ad2de | 187 | // pc.printf("dir_x1 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 188 | } |
ligeiro13 | 0:61ea5c9ad2de | 189 | if (dir_x == 1) |
ligeiro13 | 0:61ea5c9ad2de | 190 | { |
ligeiro13 | 0:61ea5c9ad2de | 191 | parada = ultimo_passo - passos; |
ligeiro13 | 0:61ea5c9ad2de | 192 | // pc.printf("dir_x0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 193 | } |
ligeiro13 | 0:61ea5c9ad2de | 194 | if (parada == 0 or parada == 25000) |
ligeiro13 | 0:61ea5c9ad2de | 195 | { |
ligeiro13 | 0:61ea5c9ad2de | 196 | break; |
ligeiro13 | 0:61ea5c9ad2de | 197 | } |
ligeiro13 | 0:61ea5c9ad2de | 198 | |
ligeiro13 | 0:61ea5c9ad2de | 199 | } |
ligeiro13 | 0:61ea5c9ad2de | 200 | } |
ligeiro13 | 0:61ea5c9ad2de | 201 | if (enable_y == 0 and qual_eixo == 1 ) //PARA EIXO Y |
ligeiro13 | 0:61ea5c9ad2de | 202 | { |
ligeiro13 | 0:61ea5c9ad2de | 203 | ultimo_passo = posicao_xy; |
ligeiro13 | 0:61ea5c9ad2de | 204 | //while ((eixo_y.read() > 0.7 or eixo_y.read() < 0.3f) and posicao_y > -1 ) |
ligeiro13 | 0:61ea5c9ad2de | 205 | while ((eixo_y > 0.7 or eixo_y < 0.3f) and posicao_y > -1 ) |
ligeiro13 | 0:61ea5c9ad2de | 206 | { |
ligeiro13 | 0:61ea5c9ad2de | 207 | step_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 208 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 209 | step_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 210 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 211 | passos++; |
ligeiro13 | 0:61ea5c9ad2de | 212 | //pc.printf("%d \r\n",passos_y); |
ligeiro13 | 0:61ea5c9ad2de | 213 | if (dir_y == 0) |
ligeiro13 | 0:61ea5c9ad2de | 214 | { |
ligeiro13 | 0:61ea5c9ad2de | 215 | parada = ultimo_passo + passos; |
ligeiro13 | 0:61ea5c9ad2de | 216 | // pc.printf("dir_y1 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 217 | } |
ligeiro13 | 0:61ea5c9ad2de | 218 | if (dir_y == 1) |
ligeiro13 | 0:61ea5c9ad2de | 219 | { |
ligeiro13 | 0:61ea5c9ad2de | 220 | parada = ultimo_passo - passos; |
ligeiro13 | 0:61ea5c9ad2de | 221 | // pc.printf("dir_y0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 222 | } |
ligeiro13 | 0:61ea5c9ad2de | 223 | if (parada == 0 or parada == 26000) |
ligeiro13 | 0:61ea5c9ad2de | 224 | { |
ligeiro13 | 0:61ea5c9ad2de | 225 | break; |
ligeiro13 | 0:61ea5c9ad2de | 226 | } |
ligeiro13 | 0:61ea5c9ad2de | 227 | //pc.printf("ultimo passo:%d i: %d \r\n",parada,passos); |
ligeiro13 | 0:61ea5c9ad2de | 228 | } |
ligeiro13 | 0:61ea5c9ad2de | 229 | } |
ligeiro13 | 0:61ea5c9ad2de | 230 | if (enable_z == 0 and qual_eixo == 2 ) //PARA EIXO Z |
ligeiro13 | 0:61ea5c9ad2de | 231 | { |
ligeiro13 | 0:61ea5c9ad2de | 232 | ultimo_passo = posicao_xy; |
ligeiro13 | 0:61ea5c9ad2de | 233 | // while ((eixo_y.read() > 0.7 or eixo_y.read() < 0.3f) ) |
ligeiro13 | 0:61ea5c9ad2de | 234 | while ((eixo_y > 0.7 or eixo_y < 0.3f) ) |
ligeiro13 | 0:61ea5c9ad2de | 235 | { |
ligeiro13 | 0:61ea5c9ad2de | 236 | step_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 237 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 238 | step_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 239 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 240 | passos++; |
ligeiro13 | 0:61ea5c9ad2de | 241 | //pc.printf("%d \r\n",passos_y); |
ligeiro13 | 0:61ea5c9ad2de | 242 | if (dir_z == 0) |
ligeiro13 | 0:61ea5c9ad2de | 243 | { |
ligeiro13 | 0:61ea5c9ad2de | 244 | parada = ultimo_passo + passos; |
ligeiro13 | 0:61ea5c9ad2de | 245 | // pc.printf("dir_y1 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 246 | } |
ligeiro13 | 0:61ea5c9ad2de | 247 | if (dir_z == 1) |
ligeiro13 | 0:61ea5c9ad2de | 248 | { |
ligeiro13 | 0:61ea5c9ad2de | 249 | parada = ultimo_passo - passos; |
ligeiro13 | 0:61ea5c9ad2de | 250 | // pc.printf("dir_y0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 251 | } |
ligeiro13 | 0:61ea5c9ad2de | 252 | if (parada == 0 or parada == 2000) |
ligeiro13 | 0:61ea5c9ad2de | 253 | { |
ligeiro13 | 0:61ea5c9ad2de | 254 | break; |
ligeiro13 | 0:61ea5c9ad2de | 255 | } |
ligeiro13 | 0:61ea5c9ad2de | 256 | //pc.printf("ultimo passo:%d i: %d \r\n",parada,passos); |
ligeiro13 | 0:61ea5c9ad2de | 257 | } |
ligeiro13 | 0:61ea5c9ad2de | 258 | } |
ligeiro13 | 0:61ea5c9ad2de | 259 | return passos; |
ligeiro13 | 0:61ea5c9ad2de | 260 | } |
ligeiro13 | 0:61ea5c9ad2de | 261 | void para()//funçao para desativar o motor |
ligeiro13 | 0:61ea5c9ad2de | 262 | { |
ligeiro13 | 0:61ea5c9ad2de | 263 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 264 | } |
ligeiro13 | 0:61ea5c9ad2de | 265 | |
ligeiro13 | 0:61ea5c9ad2de | 266 | void para_()//funçao para desativar o motor |
ligeiro13 | 0:61ea5c9ad2de | 267 | { |
ligeiro13 | 0:61ea5c9ad2de | 268 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 269 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 270 | } |
ligeiro13 | 0:61ea5c9ad2de | 271 | |
ligeiro13 | 0:61ea5c9ad2de | 272 | int movepara(int dir, float vel, int passo_,int qual_eixo ) |
ligeiro13 | 0:61ea5c9ad2de | 273 | { |
ligeiro13 | 0:61ea5c9ad2de | 274 | vel = 1000000 / (vel); |
ligeiro13 | 0:61ea5c9ad2de | 275 | vel = vel - espera; |
ligeiro13 | 0:61ea5c9ad2de | 276 | int passo_atual = 0; |
ligeiro13 | 0:61ea5c9ad2de | 277 | // pc.printf("Passo_local %i, %i ", passo_atual, passo_ ); |
ligeiro13 | 0:61ea5c9ad2de | 278 | |
ligeiro13 | 0:61ea5c9ad2de | 279 | if (enable_x == 0 and qual_eixo == 0 ) //PARA EIXO X |
ligeiro13 | 0:61ea5c9ad2de | 280 | { |
ligeiro13 | 0:61ea5c9ad2de | 281 | while (passo_atual != abs(passo_)) |
ligeiro13 | 0:61ea5c9ad2de | 282 | { step_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 283 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 284 | step_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 285 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 286 | passo_atual++ ; |
ligeiro13 | 0:61ea5c9ad2de | 287 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 288 | { |
ligeiro13 | 0:61ea5c9ad2de | 289 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 290 | break; |
ligeiro13 | 0:61ea5c9ad2de | 291 | } |
ligeiro13 | 0:61ea5c9ad2de | 292 | // pc.printf("Passo_local %i, %i ", passo_atual, passo_ ); |
ligeiro13 | 0:61ea5c9ad2de | 293 | } |
ligeiro13 | 0:61ea5c9ad2de | 294 | } |
ligeiro13 | 0:61ea5c9ad2de | 295 | if (enable_y == 0 and qual_eixo == 1 ) //PARA EIXO Y |
ligeiro13 | 0:61ea5c9ad2de | 296 | { |
ligeiro13 | 0:61ea5c9ad2de | 297 | while (passo_atual != abs(passo_)) |
ligeiro13 | 0:61ea5c9ad2de | 298 | { step_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 299 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 300 | step_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 301 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 302 | passo_atual++ ; |
ligeiro13 | 0:61ea5c9ad2de | 303 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 304 | { |
ligeiro13 | 0:61ea5c9ad2de | 305 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 306 | break; |
ligeiro13 | 0:61ea5c9ad2de | 307 | } |
ligeiro13 | 0:61ea5c9ad2de | 308 | // pc.printf("Passo_local %i, %i ", passo_atual, passo_ ); |
ligeiro13 | 0:61ea5c9ad2de | 309 | } |
ligeiro13 | 0:61ea5c9ad2de | 310 | } |
ligeiro13 | 0:61ea5c9ad2de | 311 | if (enable_z == 0 and qual_eixo == 2 ) //PARA EIXO Z |
ligeiro13 | 0:61ea5c9ad2de | 312 | { |
ligeiro13 | 0:61ea5c9ad2de | 313 | while (passo_atual != abs(passo_)) |
ligeiro13 | 0:61ea5c9ad2de | 314 | { step_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 315 | wait_us(espera); |
ligeiro13 | 0:61ea5c9ad2de | 316 | step_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 317 | wait_us(vel); |
ligeiro13 | 0:61ea5c9ad2de | 318 | passo_atual++ ; |
ligeiro13 | 0:61ea5c9ad2de | 319 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 320 | { |
ligeiro13 | 0:61ea5c9ad2de | 321 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 322 | break; |
ligeiro13 | 0:61ea5c9ad2de | 323 | } |
ligeiro13 | 0:61ea5c9ad2de | 324 | // pc.printf("Passo_local %i, %i ", passo_atual, passo_ ); |
ligeiro13 | 0:61ea5c9ad2de | 325 | } |
ligeiro13 | 0:61ea5c9ad2de | 326 | } |
ligeiro13 | 0:61ea5c9ad2de | 327 | return passo_atual; |
ligeiro13 | 0:61ea5c9ad2de | 328 | } |
ligeiro13 | 0:61ea5c9ad2de | 329 | |
ligeiro13 | 0:61ea5c9ad2de | 330 | //----------------------------------------------------------------------------------------------MAIN------------------------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 331 | int main() |
ligeiro13 | 0:61ea5c9ad2de | 332 | { |
ligeiro13 | 0:61ea5c9ad2de | 333 | lcd.setCursor(TextLCD::CurOff_BlkOff);//desliga o cursor |
ligeiro13 | 0:61ea5c9ad2de | 334 | posicao_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 335 | posicao_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 336 | posicao_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 337 | refe = 0 ; //0 ou 1 1= REFERENCIAMENTO 0 = MOVIMENTO DOS EIXOS |
ligeiro13 | 0:61ea5c9ad2de | 338 | troca_yz = 0; // 0 ou 1 0 = EIXO Y 1 = EIXO Z |
ligeiro13 | 0:61ea5c9ad2de | 339 | pos = 0; |
ligeiro13 | 0:61ea5c9ad2de | 340 | pc.baud(115200); |
ligeiro13 | 0:61ea5c9ad2de | 341 | pc.printf("hello WORLD!\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 342 | enable_x = 1;//desliga os drivers |
ligeiro13 | 0:61ea5c9ad2de | 343 | enable_y = 1;//desliga os drivers |
ligeiro13 | 0:61ea5c9ad2de | 344 | enable_z = 1;//desliga os drivers |
ligeiro13 | 0:61ea5c9ad2de | 345 | aciona_pneu2 = 1 ; //desliga pneu |
ligeiro13 | 0:61ea5c9ad2de | 346 | aciona_pneu = 1 ; //desliga pneu |
ligeiro13 | 0:61ea5c9ad2de | 347 | vel = lista_vel[0];//velocidade inicial |
ligeiro13 | 0:61ea5c9ad2de | 348 | wait(0.25); |
ligeiro13 | 0:61ea5c9ad2de | 349 | while(1) |
ligeiro13 | 0:61ea5c9ad2de | 350 | { |
ligeiro13 | 0:61ea5c9ad2de | 351 | |
ligeiro13 | 0:61ea5c9ad2de | 352 | if (botao_emergencia == 1) |
ligeiro13 | 0:61ea5c9ad2de | 353 | { |
ligeiro13 | 0:61ea5c9ad2de | 354 | if (flag_emergencia == 1) |
ligeiro13 | 0:61ea5c9ad2de | 355 | { |
ligeiro13 | 0:61ea5c9ad2de | 356 | lcd.setCursor(TextLCD::CurOff_BlkOff);//desliga o cursor |
ligeiro13 | 0:61ea5c9ad2de | 357 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 358 | menu = 0; |
ligeiro13 | 0:61ea5c9ad2de | 359 | menu = 1; |
ligeiro13 | 0:61ea5c9ad2de | 360 | menu_enter_2 = 0 ; |
ligeiro13 | 0:61ea5c9ad2de | 361 | flag_emergencia = 0; |
ligeiro13 | 0:61ea5c9ad2de | 362 | } |
ligeiro13 | 0:61ea5c9ad2de | 363 | if (menu == 1 ) |
ligeiro13 | 0:61ea5c9ad2de | 364 | { |
ligeiro13 | 0:61ea5c9ad2de | 365 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 366 | lcd.printf(" -Referenciamento\n"); |
ligeiro13 | 0:61ea5c9ad2de | 367 | lcd.printf(" -Limpar Bico Ejetor"); |
ligeiro13 | 0:61ea5c9ad2de | 368 | lcd.printf(" -Aplicar Cola\n"); |
ligeiro13 | 0:61ea5c9ad2de | 369 | lcd.printf(" -Configuracoes\n"); |
ligeiro13 | 0:61ea5c9ad2de | 370 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 371 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 372 | |
ligeiro13 | 0:61ea5c9ad2de | 373 | menu = 0; |
ligeiro13 | 0:61ea5c9ad2de | 374 | }// if menu = 1 |
ligeiro13 | 0:61ea5c9ad2de | 375 | if (botao_cima == 1 and menu ==0) |
ligeiro13 | 0:61ea5c9ad2de | 376 | { |
ligeiro13 | 0:61ea5c9ad2de | 377 | pc.printf("menu %d \r\n",menu); |
ligeiro13 | 0:61ea5c9ad2de | 378 | pc.printf("botao_cima \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 379 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 380 | lcd.printf(" -Referenciamento\n"); |
ligeiro13 | 0:61ea5c9ad2de | 381 | lcd.printf(" -Limpar Bico Ejetor"); |
ligeiro13 | 0:61ea5c9ad2de | 382 | lcd.printf(" -Aplicar Cola\n"); |
ligeiro13 | 0:61ea5c9ad2de | 383 | lcd.printf(" -Configuracoes\n"); |
ligeiro13 | 0:61ea5c9ad2de | 384 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 385 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 386 | if (linha < 0) |
ligeiro13 | 0:61ea5c9ad2de | 387 | { |
ligeiro13 | 0:61ea5c9ad2de | 388 | linha = 3; |
ligeiro13 | 0:61ea5c9ad2de | 389 | } |
ligeiro13 | 0:61ea5c9ad2de | 390 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 391 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 392 | |
ligeiro13 | 0:61ea5c9ad2de | 393 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 394 | }//IF botao_cima |
ligeiro13 | 0:61ea5c9ad2de | 395 | //-------------------------------------------------------------------------------------BOTAO BAIXO MENU = 1 ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 396 | if (botao_baixo == 1 and menu ==0) |
ligeiro13 | 0:61ea5c9ad2de | 397 | { |
ligeiro13 | 0:61ea5c9ad2de | 398 | pc.printf("menu %d\r\n",menu); |
ligeiro13 | 0:61ea5c9ad2de | 399 | pc.printf("botao_baixo \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 400 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 401 | lcd.printf(" -Referenciamento\n"); |
ligeiro13 | 0:61ea5c9ad2de | 402 | lcd.printf(" -Limpar Bico Ejetor"); |
ligeiro13 | 0:61ea5c9ad2de | 403 | lcd.printf(" -Aplicar Cola\n"); |
ligeiro13 | 0:61ea5c9ad2de | 404 | lcd.printf(" -Configuracoes\n"); |
ligeiro13 | 0:61ea5c9ad2de | 405 | if (linha > 2) |
ligeiro13 | 0:61ea5c9ad2de | 406 | { |
ligeiro13 | 0:61ea5c9ad2de | 407 | linha = -1; |
ligeiro13 | 0:61ea5c9ad2de | 408 | } |
ligeiro13 | 0:61ea5c9ad2de | 409 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 410 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 411 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 412 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 413 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 414 | }// if botao_baixo |
ligeiro13 | 0:61ea5c9ad2de | 415 | |
ligeiro13 | 0:61ea5c9ad2de | 416 | |
ligeiro13 | 0:61ea5c9ad2de | 417 | if (botao_enter == 1 and menu==0) |
ligeiro13 | 0:61ea5c9ad2de | 418 | { |
ligeiro13 | 0:61ea5c9ad2de | 419 | pc.printf("botao_enter \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 420 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 421 | |
ligeiro13 | 0:61ea5c9ad2de | 422 | if (linha ==0) |
ligeiro13 | 0:61ea5c9ad2de | 423 | { |
ligeiro13 | 0:61ea5c9ad2de | 424 | menu_enter =1; // REFERERENCIAMENTO |
ligeiro13 | 0:61ea5c9ad2de | 425 | refe = 1; |
ligeiro13 | 0:61ea5c9ad2de | 426 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 427 | } |
ligeiro13 | 0:61ea5c9ad2de | 428 | if (linha == 1) |
ligeiro13 | 0:61ea5c9ad2de | 429 | { |
ligeiro13 | 0:61ea5c9ad2de | 430 | menu_enter = 2;//LIMPAR BI EJETOR |
ligeiro13 | 0:61ea5c9ad2de | 431 | } |
ligeiro13 | 0:61ea5c9ad2de | 432 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 433 | { |
ligeiro13 | 0:61ea5c9ad2de | 434 | menu_enter = 3;//Aplicar COla |
ligeiro13 | 0:61ea5c9ad2de | 435 | linha =0; |
ligeiro13 | 0:61ea5c9ad2de | 436 | } |
ligeiro13 | 0:61ea5c9ad2de | 437 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 438 | { |
ligeiro13 | 0:61ea5c9ad2de | 439 | menu_enter = 5;//Aplicar COla |
ligeiro13 | 0:61ea5c9ad2de | 440 | linha =0; |
ligeiro13 | 0:61ea5c9ad2de | 441 | } |
ligeiro13 | 0:61ea5c9ad2de | 442 | |
ligeiro13 | 0:61ea5c9ad2de | 443 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 444 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 445 | }// if bbotao_enter\ |
ligeiro13 | 0:61ea5c9ad2de | 446 | //-------------------------------------------------------------------------------------LIMPAR BICO EJETOR ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 447 | if (menu_enter == 2) |
ligeiro13 | 0:61ea5c9ad2de | 448 | { |
ligeiro13 | 0:61ea5c9ad2de | 449 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 450 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 451 | aciona_pneu = 0;// liga pneumatica pressao |
ligeiro13 | 0:61ea5c9ad2de | 452 | lcd.printf(" Limpando.\n"); |
ligeiro13 | 0:61ea5c9ad2de | 453 | aciona_pneu2 = 0;// liga pneumatica pressao |
ligeiro13 | 0:61ea5c9ad2de | 454 | wait(0.5); |
ligeiro13 | 0:61ea5c9ad2de | 455 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 456 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 457 | lcd.printf(" Limpando..\n"); |
ligeiro13 | 0:61ea5c9ad2de | 458 | aciona_pneu2 = 1;// liga pneumatica pressao |
ligeiro13 | 0:61ea5c9ad2de | 459 | wait(0.5); |
ligeiro13 | 0:61ea5c9ad2de | 460 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 461 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 462 | lcd.printf(" Limpando...\n"); |
ligeiro13 | 0:61ea5c9ad2de | 463 | aciona_pneu2 = 0;// liga pneumatica pressao |
ligeiro13 | 0:61ea5c9ad2de | 464 | wait(1); |
ligeiro13 | 0:61ea5c9ad2de | 465 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 466 | aciona_pneu2 = 1;// liga pneumatica pressao |
ligeiro13 | 0:61ea5c9ad2de | 467 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 468 | lcd.printf(" Bico Limpo!\n"); |
ligeiro13 | 0:61ea5c9ad2de | 469 | wait(2); |
ligeiro13 | 0:61ea5c9ad2de | 470 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 471 | menu = 1; |
ligeiro13 | 0:61ea5c9ad2de | 472 | menu_enter = 0; |
ligeiro13 | 0:61ea5c9ad2de | 473 | |
ligeiro13 | 0:61ea5c9ad2de | 474 | } |
ligeiro13 | 0:61ea5c9ad2de | 475 | |
ligeiro13 | 0:61ea5c9ad2de | 476 | //-------------------------------------------------------------------------------------APLICAR COLA MENU_ENTER = 3 ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 477 | if (menu_enter == 3) |
ligeiro13 | 0:61ea5c9ad2de | 478 | { |
ligeiro13 | 0:61ea5c9ad2de | 479 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 480 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 481 | lcd.printf(" -Adicionar Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 482 | lcd.printf(" -Mod./Ver Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 483 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 484 | lcd.printf(" Voltar Colar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 485 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 486 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 487 | menu = 2; |
ligeiro13 | 0:61ea5c9ad2de | 488 | menu_enter = 4;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 489 | pc.printf("menu %d\r\n",menu); |
ligeiro13 | 0:61ea5c9ad2de | 490 | }// Aplicar Cola |
ligeiro13 | 0:61ea5c9ad2de | 491 | //-------------------------------------------------------------------------------------BOTAO CIMA ------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 492 | if (botao_cima == 1) |
ligeiro13 | 0:61ea5c9ad2de | 493 | { |
ligeiro13 | 0:61ea5c9ad2de | 494 | if (menu == 2) |
ligeiro13 | 0:61ea5c9ad2de | 495 | { |
ligeiro13 | 0:61ea5c9ad2de | 496 | pc.printf("menu %d\r\n",menu); |
ligeiro13 | 0:61ea5c9ad2de | 497 | pc.printf("botao_cima menu 2\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 498 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 499 | lcd.printf(" -Adicionar Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 500 | lcd.printf(" -Mod./Ver Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 501 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 502 | lcd.printf(" Voltar Colar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 503 | menu = 2; |
ligeiro13 | 0:61ea5c9ad2de | 504 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 505 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 506 | if (linha < 0) |
ligeiro13 | 0:61ea5c9ad2de | 507 | { |
ligeiro13 | 0:61ea5c9ad2de | 508 | linha = 4; |
ligeiro13 | 0:61ea5c9ad2de | 509 | lcd.locate(0,0); |
ligeiro13 | 0:61ea5c9ad2de | 510 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 511 | lcd.locate(14,linha); |
ligeiro13 | 0:61ea5c9ad2de | 512 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 513 | } |
ligeiro13 | 0:61ea5c9ad2de | 514 | if(linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 515 | { |
ligeiro13 | 0:61ea5c9ad2de | 516 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 517 | } |
ligeiro13 | 0:61ea5c9ad2de | 518 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 519 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 520 | if (linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 521 | { |
ligeiro13 | 0:61ea5c9ad2de | 522 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 523 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 524 | lcd.locate(14,linha); |
ligeiro13 | 0:61ea5c9ad2de | 525 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 526 | } |
ligeiro13 | 0:61ea5c9ad2de | 527 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 528 | |
ligeiro13 | 0:61ea5c9ad2de | 529 | } |
ligeiro13 | 0:61ea5c9ad2de | 530 | if (menu == 3 or menu == 4)//-----------------------------------------------------------------add pontos-BB------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 531 | { |
ligeiro13 | 0:61ea5c9ad2de | 532 | |
ligeiro13 | 0:61ea5c9ad2de | 533 | menu_enter_2 = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 534 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 535 | if (linha == 1) |
ligeiro13 | 0:61ea5c9ad2de | 536 | { |
ligeiro13 | 0:61ea5c9ad2de | 537 | linha = 3; |
ligeiro13 | 0:61ea5c9ad2de | 538 | } |
ligeiro13 | 0:61ea5c9ad2de | 539 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 540 | { |
ligeiro13 | 0:61ea5c9ad2de | 541 | lcd.locate(0,linha + 1); |
ligeiro13 | 0:61ea5c9ad2de | 542 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 543 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 544 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 545 | } |
ligeiro13 | 0:61ea5c9ad2de | 546 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 547 | { |
ligeiro13 | 0:61ea5c9ad2de | 548 | lcd.locate(0,linha - 1); |
ligeiro13 | 0:61ea5c9ad2de | 549 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 550 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 551 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 552 | } |
ligeiro13 | 0:61ea5c9ad2de | 553 | |
ligeiro13 | 0:61ea5c9ad2de | 554 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 555 | } |
ligeiro13 | 0:61ea5c9ad2de | 556 | if (menu == 5)//-----------------------------------------------------------------Modificando Pontos---BC----------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 557 | { |
ligeiro13 | 0:61ea5c9ad2de | 558 | if (i_p == 0) |
ligeiro13 | 0:61ea5c9ad2de | 559 | { |
ligeiro13 | 0:61ea5c9ad2de | 560 | |
ligeiro13 | 0:61ea5c9ad2de | 561 | |
ligeiro13 | 0:61ea5c9ad2de | 562 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 563 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 564 | if (linha == 1) |
ligeiro13 | 0:61ea5c9ad2de | 565 | { |
ligeiro13 | 0:61ea5c9ad2de | 566 | lcd.locate(10,linha+1); |
ligeiro13 | 0:61ea5c9ad2de | 567 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 568 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 569 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 570 | linha = 4; |
ligeiro13 | 0:61ea5c9ad2de | 571 | } |
ligeiro13 | 0:61ea5c9ad2de | 572 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 573 | { |
ligeiro13 | 0:61ea5c9ad2de | 574 | lcd.locate(10,linha + 1); |
ligeiro13 | 0:61ea5c9ad2de | 575 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 576 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 577 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 578 | } |
ligeiro13 | 0:61ea5c9ad2de | 579 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 580 | { |
ligeiro13 | 0:61ea5c9ad2de | 581 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 582 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 583 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 584 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 585 | } |
ligeiro13 | 0:61ea5c9ad2de | 586 | |
ligeiro13 | 0:61ea5c9ad2de | 587 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 588 | } |
ligeiro13 | 0:61ea5c9ad2de | 589 | if (i_p != 0 and i_p != ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 590 | { |
ligeiro13 | 0:61ea5c9ad2de | 591 | |
ligeiro13 | 0:61ea5c9ad2de | 592 | |
ligeiro13 | 0:61ea5c9ad2de | 593 | |
ligeiro13 | 0:61ea5c9ad2de | 594 | |
ligeiro13 | 0:61ea5c9ad2de | 595 | |
ligeiro13 | 0:61ea5c9ad2de | 596 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 597 | printf("linha %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 598 | if (linha == 1)// |
ligeiro13 | 0:61ea5c9ad2de | 599 | { |
ligeiro13 | 0:61ea5c9ad2de | 600 | lcd.locate(10,linha+1); |
ligeiro13 | 0:61ea5c9ad2de | 601 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 602 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 603 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 604 | linha = 5; |
ligeiro13 | 0:61ea5c9ad2de | 605 | } |
ligeiro13 | 0:61ea5c9ad2de | 606 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 607 | { |
ligeiro13 | 0:61ea5c9ad2de | 608 | lcd.locate(10,linha + 1); |
ligeiro13 | 0:61ea5c9ad2de | 609 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 610 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 611 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 612 | } |
ligeiro13 | 0:61ea5c9ad2de | 613 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 614 | { |
ligeiro13 | 0:61ea5c9ad2de | 615 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 616 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 617 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 618 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 619 | } |
ligeiro13 | 0:61ea5c9ad2de | 620 | if (linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 621 | { |
ligeiro13 | 0:61ea5c9ad2de | 622 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 623 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 624 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 625 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 626 | } |
ligeiro13 | 0:61ea5c9ad2de | 627 | |
ligeiro13 | 0:61ea5c9ad2de | 628 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 629 | } |
ligeiro13 | 0:61ea5c9ad2de | 630 | if (i_p != 0 and i_p == ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 631 | { |
ligeiro13 | 0:61ea5c9ad2de | 632 | |
ligeiro13 | 0:61ea5c9ad2de | 633 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 634 | pc.printf("linha %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 635 | |
ligeiro13 | 0:61ea5c9ad2de | 636 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 637 | { |
ligeiro13 | 0:61ea5c9ad2de | 638 | lcd.locate(10,linha + 1); |
ligeiro13 | 0:61ea5c9ad2de | 639 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 640 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 641 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 642 | linha = 5; |
ligeiro13 | 0:61ea5c9ad2de | 643 | } |
ligeiro13 | 0:61ea5c9ad2de | 644 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 645 | { |
ligeiro13 | 0:61ea5c9ad2de | 646 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 647 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 648 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 649 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 650 | } |
ligeiro13 | 0:61ea5c9ad2de | 651 | if (linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 652 | { |
ligeiro13 | 0:61ea5c9ad2de | 653 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 654 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 655 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 656 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 657 | } |
ligeiro13 | 0:61ea5c9ad2de | 658 | |
ligeiro13 | 0:61ea5c9ad2de | 659 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 660 | } |
ligeiro13 | 0:61ea5c9ad2de | 661 | } |
ligeiro13 | 0:61ea5c9ad2de | 662 | if(menu == 6)//-----------------------------------------------------------------Configuracoes-------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 663 | { |
ligeiro13 | 0:61ea5c9ad2de | 664 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 665 | |
ligeiro13 | 0:61ea5c9ad2de | 666 | |
ligeiro13 | 0:61ea5c9ad2de | 667 | |
ligeiro13 | 0:61ea5c9ad2de | 668 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 669 | { |
ligeiro13 | 0:61ea5c9ad2de | 670 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 671 | } |
ligeiro13 | 0:61ea5c9ad2de | 672 | linha--; |
ligeiro13 | 0:61ea5c9ad2de | 673 | |
ligeiro13 | 0:61ea5c9ad2de | 674 | if (linha == -1) |
ligeiro13 | 0:61ea5c9ad2de | 675 | { |
ligeiro13 | 0:61ea5c9ad2de | 676 | lcd.locate(0,0); |
ligeiro13 | 0:61ea5c9ad2de | 677 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 678 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 679 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 680 | linha = 3; |
ligeiro13 | 0:61ea5c9ad2de | 681 | } |
ligeiro13 | 0:61ea5c9ad2de | 682 | if (linha == 0) |
ligeiro13 | 0:61ea5c9ad2de | 683 | { |
ligeiro13 | 0:61ea5c9ad2de | 684 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 685 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 686 | lcd.locate(0,0); |
ligeiro13 | 0:61ea5c9ad2de | 687 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 688 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 689 | } |
ligeiro13 | 0:61ea5c9ad2de | 690 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 691 | } |
ligeiro13 | 0:61ea5c9ad2de | 692 | }//IF botao_cima |
ligeiro13 | 0:61ea5c9ad2de | 693 | //-------------------------------------------------------------------------------------BOTAO BAIXO MENU = 2 ----BB------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 694 | if (botao_baixo == 1) |
ligeiro13 | 0:61ea5c9ad2de | 695 | { |
ligeiro13 | 0:61ea5c9ad2de | 696 | if (menu == 2) |
ligeiro13 | 0:61ea5c9ad2de | 697 | { |
ligeiro13 | 0:61ea5c9ad2de | 698 | pc.printf("menu %d\r\n",menu); |
ligeiro13 | 0:61ea5c9ad2de | 699 | pc.printf("botao_baixo menu 2\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 700 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 701 | lcd.printf(" -Adicionar Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 702 | lcd.printf(" -Mod./Ver Pontos \n"); |
ligeiro13 | 0:61ea5c9ad2de | 703 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 704 | lcd.printf(" Voltar Colar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 705 | menu = 2; |
ligeiro13 | 0:61ea5c9ad2de | 706 | |
ligeiro13 | 0:61ea5c9ad2de | 707 | if (linha > 3) |
ligeiro13 | 0:61ea5c9ad2de | 708 | { |
ligeiro13 | 0:61ea5c9ad2de | 709 | linha = -1; |
ligeiro13 | 0:61ea5c9ad2de | 710 | } |
ligeiro13 | 0:61ea5c9ad2de | 711 | |
ligeiro13 | 0:61ea5c9ad2de | 712 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 713 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 714 | if(linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 715 | { |
ligeiro13 | 0:61ea5c9ad2de | 716 | linha = 3; |
ligeiro13 | 0:61ea5c9ad2de | 717 | } |
ligeiro13 | 0:61ea5c9ad2de | 718 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 719 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 720 | if (linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 721 | { |
ligeiro13 | 0:61ea5c9ad2de | 722 | lcd.locate(0,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 723 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 724 | lcd.locate(14,linha); |
ligeiro13 | 0:61ea5c9ad2de | 725 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 726 | } |
ligeiro13 | 0:61ea5c9ad2de | 727 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 728 | } |
ligeiro13 | 0:61ea5c9ad2de | 729 | if (menu == 3 or menu == 4)//-----------------------------------------------------------------add pontos-BB------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 730 | { |
ligeiro13 | 0:61ea5c9ad2de | 731 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 732 | { |
ligeiro13 | 0:61ea5c9ad2de | 733 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 734 | } |
ligeiro13 | 0:61ea5c9ad2de | 735 | menu_enter_2 = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 736 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 737 | pc.printf("Botao Baixo\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 738 | pc.printf("menu%d linha=%d\r\n",menu,linha); |
ligeiro13 | 0:61ea5c9ad2de | 739 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 740 | { |
ligeiro13 | 0:61ea5c9ad2de | 741 | lcd.locate(0,linha - 1); |
ligeiro13 | 0:61ea5c9ad2de | 742 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 743 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 744 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 745 | } |
ligeiro13 | 0:61ea5c9ad2de | 746 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 747 | { |
ligeiro13 | 0:61ea5c9ad2de | 748 | lcd.locate(0,linha +1); |
ligeiro13 | 0:61ea5c9ad2de | 749 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 750 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 751 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 752 | } |
ligeiro13 | 0:61ea5c9ad2de | 753 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 754 | } |
ligeiro13 | 0:61ea5c9ad2de | 755 | if (menu == 5)//-----------------------------------------------------------------Modificando Pontos---BB----------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 756 | { |
ligeiro13 | 0:61ea5c9ad2de | 757 | if (i_p == 0) |
ligeiro13 | 0:61ea5c9ad2de | 758 | { |
ligeiro13 | 0:61ea5c9ad2de | 759 | if (linha > 3) |
ligeiro13 | 0:61ea5c9ad2de | 760 | { |
ligeiro13 | 0:61ea5c9ad2de | 761 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 762 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 763 | lcd.locate(10,2); |
ligeiro13 | 0:61ea5c9ad2de | 764 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 765 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 766 | } |
ligeiro13 | 0:61ea5c9ad2de | 767 | |
ligeiro13 | 0:61ea5c9ad2de | 768 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 769 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 770 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 771 | { |
ligeiro13 | 0:61ea5c9ad2de | 772 | lcd.locate(10,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 773 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 774 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 775 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 776 | } |
ligeiro13 | 0:61ea5c9ad2de | 777 | if (linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 778 | { |
ligeiro13 | 0:61ea5c9ad2de | 779 | lcd.locate(10,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 780 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 781 | lcd.locate(0,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 782 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 783 | } |
ligeiro13 | 0:61ea5c9ad2de | 784 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 785 | } |
ligeiro13 | 0:61ea5c9ad2de | 786 | if (i_p != 0 and i_p != ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 787 | { |
ligeiro13 | 0:61ea5c9ad2de | 788 | if (linha > 4)//"proximo" |
ligeiro13 | 0:61ea5c9ad2de | 789 | { |
ligeiro13 | 0:61ea5c9ad2de | 790 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 791 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 792 | lcd.locate(10,2); |
ligeiro13 | 0:61ea5c9ad2de | 793 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 794 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 795 | } |
ligeiro13 | 0:61ea5c9ad2de | 796 | |
ligeiro13 | 0:61ea5c9ad2de | 797 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 798 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 799 | if (linha == 3)//"Modificar" |
ligeiro13 | 0:61ea5c9ad2de | 800 | { |
ligeiro13 | 0:61ea5c9ad2de | 801 | lcd.locate(10,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 802 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 803 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 804 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 805 | } |
ligeiro13 | 0:61ea5c9ad2de | 806 | if (linha == 4)//"voltarr" |
ligeiro13 | 0:61ea5c9ad2de | 807 | { |
ligeiro13 | 0:61ea5c9ad2de | 808 | lcd.locate(10,3); |
ligeiro13 | 0:61ea5c9ad2de | 809 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 810 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 811 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 812 | } |
ligeiro13 | 0:61ea5c9ad2de | 813 | if (linha == 5)//"Anterior" |
ligeiro13 | 0:61ea5c9ad2de | 814 | { |
ligeiro13 | 0:61ea5c9ad2de | 815 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 816 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 817 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 818 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 819 | } |
ligeiro13 | 0:61ea5c9ad2de | 820 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 821 | } |
ligeiro13 | 0:61ea5c9ad2de | 822 | if (i_p != 0 and i_p == ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 823 | { |
ligeiro13 | 0:61ea5c9ad2de | 824 | if (linha == 5) |
ligeiro13 | 0:61ea5c9ad2de | 825 | { |
ligeiro13 | 0:61ea5c9ad2de | 826 | linha = 2; |
ligeiro13 | 0:61ea5c9ad2de | 827 | } |
ligeiro13 | 0:61ea5c9ad2de | 828 | |
ligeiro13 | 0:61ea5c9ad2de | 829 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 830 | if (linha == 3)//"Modificar" |
ligeiro13 | 0:61ea5c9ad2de | 831 | { |
ligeiro13 | 0:61ea5c9ad2de | 832 | lcd.locate(0,linha-1); |
ligeiro13 | 0:61ea5c9ad2de | 833 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 834 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 835 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 836 | } |
ligeiro13 | 0:61ea5c9ad2de | 837 | if (linha == 4)//"voltarr" |
ligeiro13 | 0:61ea5c9ad2de | 838 | { |
ligeiro13 | 0:61ea5c9ad2de | 839 | lcd.locate(10,3); |
ligeiro13 | 0:61ea5c9ad2de | 840 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 841 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 842 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 843 | } |
ligeiro13 | 0:61ea5c9ad2de | 844 | |
ligeiro13 | 0:61ea5c9ad2de | 845 | if (linha == 5)//"Anterior" |
ligeiro13 | 0:61ea5c9ad2de | 846 | { |
ligeiro13 | 0:61ea5c9ad2de | 847 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 848 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 849 | lcd.locate(0,2); |
ligeiro13 | 0:61ea5c9ad2de | 850 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 851 | } |
ligeiro13 | 0:61ea5c9ad2de | 852 | |
ligeiro13 | 0:61ea5c9ad2de | 853 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 854 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 855 | } |
ligeiro13 | 0:61ea5c9ad2de | 856 | } |
ligeiro13 | 0:61ea5c9ad2de | 857 | if(menu == 6)//-----------------------------------------------------------------Configuracoes--BB------------------------------------------------------------ |
ligeiro13 | 0:61ea5c9ad2de | 858 | { |
ligeiro13 | 0:61ea5c9ad2de | 859 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 860 | |
ligeiro13 | 0:61ea5c9ad2de | 861 | |
ligeiro13 | 0:61ea5c9ad2de | 862 | if (linha == 0) |
ligeiro13 | 0:61ea5c9ad2de | 863 | { |
ligeiro13 | 0:61ea5c9ad2de | 864 | linha = 2; |
ligeiro13 | 0:61ea5c9ad2de | 865 | } |
ligeiro13 | 0:61ea5c9ad2de | 866 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 867 | { |
ligeiro13 | 0:61ea5c9ad2de | 868 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 869 | } |
ligeiro13 | 0:61ea5c9ad2de | 870 | linha++; |
ligeiro13 | 0:61ea5c9ad2de | 871 | |
ligeiro13 | 0:61ea5c9ad2de | 872 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 873 | { |
ligeiro13 | 0:61ea5c9ad2de | 874 | lcd.locate(0,0); |
ligeiro13 | 0:61ea5c9ad2de | 875 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 876 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 877 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 878 | } |
ligeiro13 | 0:61ea5c9ad2de | 879 | if (linha == 1) |
ligeiro13 | 0:61ea5c9ad2de | 880 | { |
ligeiro13 | 0:61ea5c9ad2de | 881 | lcd.locate(0,3); |
ligeiro13 | 0:61ea5c9ad2de | 882 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 883 | lcd.locate(0,0); |
ligeiro13 | 0:61ea5c9ad2de | 884 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 885 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 886 | } |
ligeiro13 | 0:61ea5c9ad2de | 887 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 888 | } |
ligeiro13 | 0:61ea5c9ad2de | 889 | }// if botao_baixo |
ligeiro13 | 0:61ea5c9ad2de | 890 | //-------------------------------------------------------------------------------------BOTAO ENTER MENU = 2 --BE--------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 891 | if (botao_enter == 1 ) |
ligeiro13 | 0:61ea5c9ad2de | 892 | { |
ligeiro13 | 0:61ea5c9ad2de | 893 | pc.printf("menu%d linha %d\r\n",menu,linha); |
ligeiro13 | 0:61ea5c9ad2de | 894 | |
ligeiro13 | 0:61ea5c9ad2de | 895 | if (menu == 2) |
ligeiro13 | 0:61ea5c9ad2de | 896 | { |
ligeiro13 | 0:61ea5c9ad2de | 897 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 898 | if (linha ==0) |
ligeiro13 | 0:61ea5c9ad2de | 899 | { |
ligeiro13 | 0:61ea5c9ad2de | 900 | //pc.printf("vai para PONTOS\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 901 | menu_enter_2 =1; // ADICIONAR PONTOS |
ligeiro13 | 0:61ea5c9ad2de | 902 | menu = 0; |
ligeiro13 | 0:61ea5c9ad2de | 903 | mover_motores = 1; |
ligeiro13 | 0:61ea5c9ad2de | 904 | } |
ligeiro13 | 0:61ea5c9ad2de | 905 | if (linha ==1) |
ligeiro13 | 0:61ea5c9ad2de | 906 | { |
ligeiro13 | 0:61ea5c9ad2de | 907 | menu_enter_2 = 4; // MODIFICAR PONTOS |
ligeiro13 | 0:61ea5c9ad2de | 908 | i_p = 0;//zerar |
ligeiro13 | 0:61ea5c9ad2de | 909 | } |
ligeiro13 | 0:61ea5c9ad2de | 910 | if (linha == 4)//COLAR PONTOS |
ligeiro13 | 0:61ea5c9ad2de | 911 | { |
ligeiro13 | 0:61ea5c9ad2de | 912 | pc.printf("Vai para funcao COlar Pontos\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 913 | menu = 2;//tela de "aplicar pontas" |
ligeiro13 | 0:61ea5c9ad2de | 914 | colar_pontos = 1;//menu colar pontos |
ligeiro13 | 0:61ea5c9ad2de | 915 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 916 | } |
ligeiro13 | 0:61ea5c9ad2de | 917 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 918 | { |
ligeiro13 | 0:61ea5c9ad2de | 919 | menu = 1 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 920 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 921 | } |
ligeiro13 | 0:61ea5c9ad2de | 922 | pc.printf(" %d\r\n",linha); |
ligeiro13 | 0:61ea5c9ad2de | 923 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 924 | } |
ligeiro13 | 0:61ea5c9ad2de | 925 | if (menu == 3)//Adicionado os pontos |
ligeiro13 | 0:61ea5c9ad2de | 926 | { |
ligeiro13 | 0:61ea5c9ad2de | 927 | if (linha == 2)//confirmar ponto |
ligeiro13 | 0:61ea5c9ad2de | 928 | { |
ligeiro13 | 0:61ea5c9ad2de | 929 | |
ligeiro13 | 0:61ea5c9ad2de | 930 | if ( flag_mod == 0) |
ligeiro13 | 0:61ea5c9ad2de | 931 | { |
ligeiro13 | 0:61ea5c9ad2de | 932 | pc.printf("flag_mod = 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 933 | i_p++; |
ligeiro13 | 0:61ea5c9ad2de | 934 | guardar_pontos = 1;// vai para o condicional "guardar Pontos" |
ligeiro13 | 0:61ea5c9ad2de | 935 | wait(0.1); |
ligeiro13 | 0:61ea5c9ad2de | 936 | } |
ligeiro13 | 0:61ea5c9ad2de | 937 | |
ligeiro13 | 0:61ea5c9ad2de | 938 | |
ligeiro13 | 0:61ea5c9ad2de | 939 | ultimo_p = i_p; |
ligeiro13 | 0:61ea5c9ad2de | 940 | menu_enter_2 = 1 ;//Ponto Adicionado! |
ligeiro13 | 0:61ea5c9ad2de | 941 | |
ligeiro13 | 0:61ea5c9ad2de | 942 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 943 | ponto = ponto + 10; |
ligeiro13 | 0:61ea5c9ad2de | 944 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 945 | if( i_p > 1) |
ligeiro13 | 0:61ea5c9ad2de | 946 | { |
ligeiro13 | 0:61ea5c9ad2de | 947 | menu_enter_2 = 2; |
ligeiro13 | 0:61ea5c9ad2de | 948 | } |
ligeiro13 | 0:61ea5c9ad2de | 949 | if ( flag_mod == 1) |
ligeiro13 | 0:61ea5c9ad2de | 950 | { |
ligeiro13 | 0:61ea5c9ad2de | 951 | pc.printf("flag_mod = 1 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 952 | pontos_x[i_p] = posicao_x; |
ligeiro13 | 0:61ea5c9ad2de | 953 | pontos_y[i_p] = posicao_y; |
ligeiro13 | 0:61ea5c9ad2de | 954 | pontos_z[i_p] = posicao_z; |
ligeiro13 | 0:61ea5c9ad2de | 955 | pc.printf(" Pontos X[%i]=%i Pontos Y[%i]=%i Pontos Z[%i]=%i \r\n",i_p, pontos_x[i_p],i_p, pontos_y[i_p ],i_p, pontos_z[i_p]); |
ligeiro13 | 0:61ea5c9ad2de | 956 | flag_mod = 0;//tira flag de modificar pontos |
ligeiro13 | 0:61ea5c9ad2de | 957 | menu_enter_2 = 2; |
ligeiro13 | 0:61ea5c9ad2de | 958 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 959 | |
ligeiro13 | 0:61ea5c9ad2de | 960 | } |
ligeiro13 | 0:61ea5c9ad2de | 961 | |
ligeiro13 | 0:61ea5c9ad2de | 962 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 963 | } |
ligeiro13 | 0:61ea5c9ad2de | 964 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 965 | { |
ligeiro13 | 0:61ea5c9ad2de | 966 | menu_enter = 3 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 967 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 968 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 969 | } |
ligeiro13 | 0:61ea5c9ad2de | 970 | }//menu = 3 |
ligeiro13 | 0:61ea5c9ad2de | 971 | if (menu == 4)//------------------COla-BE |
ligeiro13 | 0:61ea5c9ad2de | 972 | { |
ligeiro13 | 0:61ea5c9ad2de | 973 | pc.printf(" -->COLA-BE: flag_mod2 = %d\r\n",flag_mod2); |
ligeiro13 | 0:61ea5c9ad2de | 974 | if (flag_mod2 == 0) |
ligeiro13 | 0:61ea5c9ad2de | 975 | { |
ligeiro13 | 0:61ea5c9ad2de | 976 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 977 | { |
ligeiro13 | 0:61ea5c9ad2de | 978 | pc.printf(" COla[%d] = 1\r\n",i_c); |
ligeiro13 | 0:61ea5c9ad2de | 979 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 980 | cola[i_c] = 1; |
ligeiro13 | 0:61ea5c9ad2de | 981 | } |
ligeiro13 | 0:61ea5c9ad2de | 982 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 983 | { |
ligeiro13 | 0:61ea5c9ad2de | 984 | pc.printf(" COla[%d] = 0\r\n",i_c); |
ligeiro13 | 0:61ea5c9ad2de | 985 | menu_enter_2 = 1 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 986 | |
ligeiro13 | 0:61ea5c9ad2de | 987 | cola[i_c] = 0; |
ligeiro13 | 0:61ea5c9ad2de | 988 | } |
ligeiro13 | 0:61ea5c9ad2de | 989 | } |
ligeiro13 | 0:61ea5c9ad2de | 990 | if (flag_mod2 == 1) |
ligeiro13 | 0:61ea5c9ad2de | 991 | { |
ligeiro13 | 0:61ea5c9ad2de | 992 | pc.printf(" menu_enter = 3\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 993 | if (linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 994 | { |
ligeiro13 | 0:61ea5c9ad2de | 995 | pc.printf(" COla[%d] = 1\r\n",i_p-1); |
ligeiro13 | 0:61ea5c9ad2de | 996 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 997 | cola[i_p-1] = 1; |
ligeiro13 | 0:61ea5c9ad2de | 998 | } |
ligeiro13 | 0:61ea5c9ad2de | 999 | if (linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 1000 | { |
ligeiro13 | 0:61ea5c9ad2de | 1001 | pc.printf(" COla[%d] = 0\r\n",i_p-1); |
ligeiro13 | 0:61ea5c9ad2de | 1002 | menu_enter_2 = 1 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 1003 | |
ligeiro13 | 0:61ea5c9ad2de | 1004 | cola[i_p-1] = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1005 | } |
ligeiro13 | 0:61ea5c9ad2de | 1006 | menu_enter = 3;//volta para a tela de "add pontos" |
ligeiro13 | 0:61ea5c9ad2de | 1007 | wait(0.1); |
ligeiro13 | 0:61ea5c9ad2de | 1008 | } |
ligeiro13 | 0:61ea5c9ad2de | 1009 | flag_mod2 = 0;//tira flag de modificar pontos |
ligeiro13 | 0:61ea5c9ad2de | 1010 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1011 | flag_mod = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1012 | i_c++; |
ligeiro13 | 0:61ea5c9ad2de | 1013 | }//menu = 4 |
ligeiro13 | 0:61ea5c9ad2de | 1014 | if (menu == 5) //MODIFICANDO OS PONTOS-BE |
ligeiro13 | 0:61ea5c9ad2de | 1015 | { |
ligeiro13 | 0:61ea5c9ad2de | 1016 | |
ligeiro13 | 0:61ea5c9ad2de | 1017 | if (i_p != 0) |
ligeiro13 | 0:61ea5c9ad2de | 1018 | { |
ligeiro13 | 0:61ea5c9ad2de | 1019 | if ( linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 1020 | { |
ligeiro13 | 0:61ea5c9ad2de | 1021 | i_p++; |
ligeiro13 | 0:61ea5c9ad2de | 1022 | menu_enter_2 = 4; |
ligeiro13 | 0:61ea5c9ad2de | 1023 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1024 | } |
ligeiro13 | 0:61ea5c9ad2de | 1025 | if ( linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 1026 | { |
ligeiro13 | 0:61ea5c9ad2de | 1027 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1028 | flag_mod = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1029 | flag_mod2= 1; |
ligeiro13 | 0:61ea5c9ad2de | 1030 | pc.printf("Mod!"); |
ligeiro13 | 0:61ea5c9ad2de | 1031 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1032 | } |
ligeiro13 | 0:61ea5c9ad2de | 1033 | if ( linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 1034 | { |
ligeiro13 | 0:61ea5c9ad2de | 1035 | pc.printf("voltar!"); |
ligeiro13 | 0:61ea5c9ad2de | 1036 | menu_enter = 3 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 1037 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1038 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1039 | } |
ligeiro13 | 0:61ea5c9ad2de | 1040 | if ( linha == 5) |
ligeiro13 | 0:61ea5c9ad2de | 1041 | { |
ligeiro13 | 0:61ea5c9ad2de | 1042 | i_p--; |
ligeiro13 | 0:61ea5c9ad2de | 1043 | menu_enter_2 = 4; |
ligeiro13 | 0:61ea5c9ad2de | 1044 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1045 | } |
ligeiro13 | 0:61ea5c9ad2de | 1046 | } |
ligeiro13 | 0:61ea5c9ad2de | 1047 | if (i_p == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1048 | { |
ligeiro13 | 0:61ea5c9ad2de | 1049 | if ( linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 1050 | { |
ligeiro13 | 0:61ea5c9ad2de | 1051 | i_p++; |
ligeiro13 | 0:61ea5c9ad2de | 1052 | menu_enter_2 = 4; |
ligeiro13 | 0:61ea5c9ad2de | 1053 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1054 | } |
ligeiro13 | 0:61ea5c9ad2de | 1055 | if ( linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 1056 | { |
ligeiro13 | 0:61ea5c9ad2de | 1057 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1058 | pc.printf("Mod!"); |
ligeiro13 | 0:61ea5c9ad2de | 1059 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1060 | } |
ligeiro13 | 0:61ea5c9ad2de | 1061 | if ( linha == 4) |
ligeiro13 | 0:61ea5c9ad2de | 1062 | { |
ligeiro13 | 0:61ea5c9ad2de | 1063 | pc.printf("Mod!"); |
ligeiro13 | 0:61ea5c9ad2de | 1064 | menu_enter = 3 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 1065 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1066 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1067 | } |
ligeiro13 | 0:61ea5c9ad2de | 1068 | } |
ligeiro13 | 0:61ea5c9ad2de | 1069 | } |
ligeiro13 | 0:61ea5c9ad2de | 1070 | if (menu == 6)//-----------------------------------------------------------------Configuracoes-------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1071 | { |
ligeiro13 | 0:61ea5c9ad2de | 1072 | if ( linha == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1073 | { |
ligeiro13 | 0:61ea5c9ad2de | 1074 | i_v++; |
ligeiro13 | 0:61ea5c9ad2de | 1075 | if (i_v == 3) |
ligeiro13 | 0:61ea5c9ad2de | 1076 | { |
ligeiro13 | 0:61ea5c9ad2de | 1077 | i_v = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1078 | } |
ligeiro13 | 0:61ea5c9ad2de | 1079 | vel = lista_vel[i_v]; |
ligeiro13 | 0:61ea5c9ad2de | 1080 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1081 | menu_enter = 5; |
ligeiro13 | 0:61ea5c9ad2de | 1082 | |
ligeiro13 | 0:61ea5c9ad2de | 1083 | |
ligeiro13 | 0:61ea5c9ad2de | 1084 | } |
ligeiro13 | 0:61ea5c9ad2de | 1085 | if ( linha == 2) |
ligeiro13 | 0:61ea5c9ad2de | 1086 | { |
ligeiro13 | 0:61ea5c9ad2de | 1087 | lcd.locate(2,2); |
ligeiro13 | 0:61ea5c9ad2de | 1088 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 1089 | lcd.locate(3,2); |
ligeiro13 | 0:61ea5c9ad2de | 1090 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 1091 | lcd.locate(4,2); |
ligeiro13 | 0:61ea5c9ad2de | 1092 | lcd.putc(' '); |
ligeiro13 | 0:61ea5c9ad2de | 1093 | lcd.locate(2,2); |
ligeiro13 | 0:61ea5c9ad2de | 1094 | lcd.putc('N'); |
ligeiro13 | 0:61ea5c9ad2de | 1095 | lcd.locate(3,2); |
ligeiro13 | 0:61ea5c9ad2de | 1096 | lcd.putc('a'); |
ligeiro13 | 0:61ea5c9ad2de | 1097 | lcd.locate(4,2); |
ligeiro13 | 0:61ea5c9ad2de | 1098 | lcd.putc('o'); |
ligeiro13 | 0:61ea5c9ad2de | 1099 | } |
ligeiro13 | 0:61ea5c9ad2de | 1100 | if ( linha == 3) |
ligeiro13 | 0:61ea5c9ad2de | 1101 | { |
ligeiro13 | 0:61ea5c9ad2de | 1102 | pc.printf("Mod!"); |
ligeiro13 | 0:61ea5c9ad2de | 1103 | menu = 1 ;//VOltar |
ligeiro13 | 0:61ea5c9ad2de | 1104 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1105 | wait(0.2); |
ligeiro13 | 0:61ea5c9ad2de | 1106 | } |
ligeiro13 | 0:61ea5c9ad2de | 1107 | |
ligeiro13 | 0:61ea5c9ad2de | 1108 | } |
ligeiro13 | 0:61ea5c9ad2de | 1109 | |
ligeiro13 | 0:61ea5c9ad2de | 1110 | }// if bbotao_enter\ |
ligeiro13 | 0:61ea5c9ad2de | 1111 | //-------------------------------------------------------------------------------------ADICIONAR PONTOS ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1112 | if (menu_enter_2 == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1113 | { |
ligeiro13 | 0:61ea5c9ad2de | 1114 | pc.printf("ADICIONAR PONTOS\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1115 | pc.printf("i_p = %d ", i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1116 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1117 | linha = 2; |
ligeiro13 | 0:61ea5c9ad2de | 1118 | pontos[i_p] = ponto; |
ligeiro13 | 0:61ea5c9ad2de | 1119 | pc.printf("Ponto %d \r\n",i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1120 | pc.printf("X:%d Y:%d Z:%d \r\n",posicao_x,posicao_y,posicao_z); |
ligeiro13 | 0:61ea5c9ad2de | 1121 | float posicao_x_f = passo_mm_xy(posicao_x); |
ligeiro13 | 0:61ea5c9ad2de | 1122 | float posicao_y_f = passo_mm_xy(posicao_y); |
ligeiro13 | 0:61ea5c9ad2de | 1123 | float posicao_z_f = passo_mm_z(posicao_z); |
ligeiro13 | 0:61ea5c9ad2de | 1124 | lcd.printf("Pontos %d \n",i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1125 | lcd.printf("X:%.0f Y:%.0f Z:%.0f\n",posicao_x_f,posicao_y_f,posicao_z_f); |
ligeiro13 | 0:61ea5c9ad2de | 1126 | lcd.printf(" Confirmar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1127 | lcd.printf(" Voltar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1128 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1129 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1130 | |
ligeiro13 | 0:61ea5c9ad2de | 1131 | |
ligeiro13 | 0:61ea5c9ad2de | 1132 | |
ligeiro13 | 0:61ea5c9ad2de | 1133 | menu = 3; |
ligeiro13 | 0:61ea5c9ad2de | 1134 | menu_enter_2 = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 1135 | }// Adiciona Pontos |
ligeiro13 | 0:61ea5c9ad2de | 1136 | //-------------------------------------------------------------------------------------Cola nos pontos? ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1137 | if (menu_enter_2 == 2) |
ligeiro13 | 0:61ea5c9ad2de | 1138 | { |
ligeiro13 | 0:61ea5c9ad2de | 1139 | pc.printf("Cola pontos?\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1140 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1141 | linha = 2; |
ligeiro13 | 0:61ea5c9ad2de | 1142 | lcd.printf("Colar entre?\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1143 | pc.printf("flag_mod2 = %d\r\n",flag_mod2); |
ligeiro13 | 0:61ea5c9ad2de | 1144 | if ( flag_mod2 == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1145 | { |
ligeiro13 | 0:61ea5c9ad2de | 1146 | lcd.printf(" P%i e P%i\n",i_p - 2,i_p - 1); |
ligeiro13 | 0:61ea5c9ad2de | 1147 | } |
ligeiro13 | 0:61ea5c9ad2de | 1148 | if ( flag_mod2 == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1149 | { |
ligeiro13 | 0:61ea5c9ad2de | 1150 | lcd.printf(" P%i e P%i\n",i_p - 1,i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1151 | } |
ligeiro13 | 0:61ea5c9ad2de | 1152 | lcd.printf(" Sim\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1153 | lcd.printf(" Nao\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1154 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1155 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1156 | |
ligeiro13 | 0:61ea5c9ad2de | 1157 | |
ligeiro13 | 0:61ea5c9ad2de | 1158 | menu = 4; |
ligeiro13 | 0:61ea5c9ad2de | 1159 | menu_enter_2 = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 1160 | }// Adiciona Pontos |
ligeiro13 | 0:61ea5c9ad2de | 1161 | //-------------------------------------------------------------------------------------MODIFICAR PONTOS ----------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1162 | if (menu_enter_2 == 4) |
ligeiro13 | 0:61ea5c9ad2de | 1163 | { |
ligeiro13 | 0:61ea5c9ad2de | 1164 | |
ligeiro13 | 0:61ea5c9ad2de | 1165 | pc.printf("Modificar Pontos\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1166 | pc.printf("i_p = %d ", i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1167 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1168 | linha = 2; |
ligeiro13 | 0:61ea5c9ad2de | 1169 | pontos[i_p] = ponto; |
ligeiro13 | 0:61ea5c9ad2de | 1170 | pc.printf("Pontos %d\r\n",i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1171 | pc.printf("X:%d Y:%d Z:%d \r\n",pontos_x[i_p],pontos_y[i_p],pontos_z[i_p]); |
ligeiro13 | 0:61ea5c9ad2de | 1172 | float posicao_x_f = passo_mm_xy(pontos_x[i_p]); |
ligeiro13 | 0:61ea5c9ad2de | 1173 | float posicao_y_f = passo_mm_xy(pontos_y[i_p]); |
ligeiro13 | 0:61ea5c9ad2de | 1174 | float posicao_z_f = passo_mm_z(pontos_z[i_p]); |
ligeiro13 | 0:61ea5c9ad2de | 1175 | if (i_p != 0) |
ligeiro13 | 0:61ea5c9ad2de | 1176 | { |
ligeiro13 | 0:61ea5c9ad2de | 1177 | pc.printf("i_c = %d ", i_c); |
ligeiro13 | 0:61ea5c9ad2de | 1178 | if ( cola[i_p - 1] == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1179 | { |
ligeiro13 | 0:61ea5c9ad2de | 1180 | lcd.printf("Ponto %d P%d->P%d=S",i_p,i_p-1 ,i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1181 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1182 | lcd.printf("X:%.0f Y:%.0f Z:%.0f\n",posicao_x_f,posicao_y_f,posicao_z_f); |
ligeiro13 | 0:61ea5c9ad2de | 1183 | } |
ligeiro13 | 0:61ea5c9ad2de | 1184 | if ( cola[i_p - 1] == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1185 | { |
ligeiro13 | 0:61ea5c9ad2de | 1186 | lcd.printf("Ponto %d P%d->P%d=N",i_p,i_p-1 ,i_p); |
ligeiro13 | 0:61ea5c9ad2de | 1187 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1188 | lcd.printf("X:%.0f Y:%.0f Z:%.0f\n",posicao_x_f,posicao_y_f,posicao_z_f); |
ligeiro13 | 0:61ea5c9ad2de | 1189 | } |
ligeiro13 | 0:61ea5c9ad2de | 1190 | } |
ligeiro13 | 0:61ea5c9ad2de | 1191 | |
ligeiro13 | 0:61ea5c9ad2de | 1192 | if ( i_p == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1193 | { |
ligeiro13 | 0:61ea5c9ad2de | 1194 | |
ligeiro13 | 0:61ea5c9ad2de | 1195 | lcd.printf("Ponto 0 "); |
ligeiro13 | 0:61ea5c9ad2de | 1196 | lcd.printf("\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1197 | lcd.printf("X:%.0f Y:%.0f Z:%.0f\n",posicao_x_f,posicao_y_f,posicao_z_f); |
ligeiro13 | 0:61ea5c9ad2de | 1198 | lcd.printf(" Proximo\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1199 | lcd.printf(" Voltar Modificar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1200 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1201 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1202 | } |
ligeiro13 | 0:61ea5c9ad2de | 1203 | if (i_p != 0 and i_p != ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 1204 | { |
ligeiro13 | 0:61ea5c9ad2de | 1205 | lcd.printf(" Anterior Proximo\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1206 | lcd.printf(" Voltar Modificar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1207 | lcd.locate(10,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1208 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1209 | } |
ligeiro13 | 0:61ea5c9ad2de | 1210 | pc.printf("ultimo_p = %d \r\n",ultimo_p); |
ligeiro13 | 0:61ea5c9ad2de | 1211 | if (i_p != 0 and i_p == ultimo_p -1) |
ligeiro13 | 0:61ea5c9ad2de | 1212 | { |
ligeiro13 | 0:61ea5c9ad2de | 1213 | lcd.printf(" Anterior \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1214 | lcd.printf(" Voltar Modificar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1215 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1216 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1217 | linha = 5; |
ligeiro13 | 0:61ea5c9ad2de | 1218 | } |
ligeiro13 | 0:61ea5c9ad2de | 1219 | |
ligeiro13 | 0:61ea5c9ad2de | 1220 | menu = 5; |
ligeiro13 | 0:61ea5c9ad2de | 1221 | menu_enter_2 = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 1222 | }// Adiciona Pontos |
ligeiro13 | 0:61ea5c9ad2de | 1223 | //----------------------------------------------------------------------------------------------Configuracoes-------------------------------------------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1224 | if ( menu_enter == 5) |
ligeiro13 | 0:61ea5c9ad2de | 1225 | { |
ligeiro13 | 0:61ea5c9ad2de | 1226 | pc.printf("Configuracoes\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1227 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1228 | linha = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1229 | lcd.printf(" -Vel:%d[mm/s]\n",vel); |
ligeiro13 | 0:61ea5c9ad2de | 1230 | //lcd.printf(" -Cola nos Pontos?\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1231 | //lcd.printf(" Sim \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1232 | lcd.printf(" \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1233 | lcd.printf(" \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1234 | lcd.printf(" Voltar\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1235 | lcd.locate(0,linha); |
ligeiro13 | 0:61ea5c9ad2de | 1236 | lcd.putc('~'); |
ligeiro13 | 0:61ea5c9ad2de | 1237 | |
ligeiro13 | 0:61ea5c9ad2de | 1238 | |
ligeiro13 | 0:61ea5c9ad2de | 1239 | menu = 6; |
ligeiro13 | 0:61ea5c9ad2de | 1240 | menu_enter = 0;//para o refresh rate |
ligeiro13 | 0:61ea5c9ad2de | 1241 | wait(0.1); |
ligeiro13 | 0:61ea5c9ad2de | 1242 | } |
ligeiro13 | 0:61ea5c9ad2de | 1243 | |
ligeiro13 | 0:61ea5c9ad2de | 1244 | //-----------------------------------REFERENCIANDO-----------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1245 | if(refe== 1) //comeca referenciamento roda uma vez |
ligeiro13 | 0:61ea5c9ad2de | 1246 | { |
ligeiro13 | 0:61ea5c9ad2de | 1247 | |
ligeiro13 | 0:61ea5c9ad2de | 1248 | //pc.printf("refe == 1 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1249 | enable_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1250 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1251 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1252 | dir_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1253 | //---------------IHM---------- |
ligeiro13 | 0:61ea5c9ad2de | 1254 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1255 | lcd.printf(" Referenciando...\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1256 | wait(0.25); |
ligeiro13 | 0:61ea5c9ad2de | 1257 | //----------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1258 | |
ligeiro13 | 0:61ea5c9ad2de | 1259 | move_inicial(dir_x,600,FimCursoX,0); |
ligeiro13 | 0:61ea5c9ad2de | 1260 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1261 | // wait(2); |
ligeiro13 | 0:61ea5c9ad2de | 1262 | if (FimCursoX == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1263 | { |
ligeiro13 | 0:61ea5c9ad2de | 1264 | pc.printf("Fim de Curso 1 X \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1265 | // refe X |
ligeiro13 | 0:61ea5c9ad2de | 1266 | enable_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1267 | dir_x = !dir_x ; |
ligeiro13 | 0:61ea5c9ad2de | 1268 | movepara(dir_x,600,200,0); |
ligeiro13 | 0:61ea5c9ad2de | 1269 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1270 | posicao_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1271 | pc.printf("Fim de Curso 2 X \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1272 | } |
ligeiro13 | 0:61ea5c9ad2de | 1273 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1274 | enable_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1275 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1276 | dir_y =1; |
ligeiro13 | 0:61ea5c9ad2de | 1277 | move_inicial(dir_y,600,FimCursoY,1); |
ligeiro13 | 0:61ea5c9ad2de | 1278 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1279 | if (FimCursoY == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1280 | { |
ligeiro13 | 0:61ea5c9ad2de | 1281 | pc.printf("Fim de Curso 1 Y \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1282 | // refe Y |
ligeiro13 | 0:61ea5c9ad2de | 1283 | enable_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1284 | dir_y = !dir_y ; |
ligeiro13 | 0:61ea5c9ad2de | 1285 | movepara(dir_y,vel,200,1); |
ligeiro13 | 0:61ea5c9ad2de | 1286 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1287 | refe= 0; |
ligeiro13 | 0:61ea5c9ad2de | 1288 | posicao_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1289 | pc.printf("Fim de Curso 2 Y \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1290 | } |
ligeiro13 | 0:61ea5c9ad2de | 1291 | |
ligeiro13 | 0:61ea5c9ad2de | 1292 | dir_z =1; |
ligeiro13 | 0:61ea5c9ad2de | 1293 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1294 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1295 | enable_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1296 | move_inicial(dir_z,450,FimCursoZ,2); |
ligeiro13 | 0:61ea5c9ad2de | 1297 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1298 | |
ligeiro13 | 0:61ea5c9ad2de | 1299 | if (FimCursoZ == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1300 | { |
ligeiro13 | 0:61ea5c9ad2de | 1301 | pc.printf("Fim de Curso 1 Z \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1302 | // refe Y |
ligeiro13 | 0:61ea5c9ad2de | 1303 | enable_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1304 | dir_z = !dir_z ; |
ligeiro13 | 0:61ea5c9ad2de | 1305 | movepara(dir_z,450,200,2); |
ligeiro13 | 0:61ea5c9ad2de | 1306 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1307 | refe= 0; |
ligeiro13 | 0:61ea5c9ad2de | 1308 | posicao_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1309 | pc.printf("Fim de Curso 2 Z \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1310 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1311 | //---------------IHM---------- |
ligeiro13 | 0:61ea5c9ad2de | 1312 | lcd.printf("Referenciamento\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1313 | lcd.printf("Concluido!\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1314 | wait(1); |
ligeiro13 | 0:61ea5c9ad2de | 1315 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1316 | menu = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1317 | //----------------------------- |
ligeiro13 | 0:61ea5c9ad2de | 1318 | } |
ligeiro13 | 0:61ea5c9ad2de | 1319 | } |
ligeiro13 | 0:61ea5c9ad2de | 1320 | |
ligeiro13 | 0:61ea5c9ad2de | 1321 | //---------------------------------------------------------------------------Drivers-------------------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1322 | //---------------------------------------------------------------------------LOOP DA MAQUINA-------------------------------------------------------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1323 | if (mover_motores == 1 and menu == 3 and flag_emergencia2 == 0) //fica preso no loop |
ligeiro13 | 0:61ea5c9ad2de | 1324 | { |
ligeiro13 | 0:61ea5c9ad2de | 1325 | |
ligeiro13 | 0:61ea5c9ad2de | 1326 | //pc.printf("refe == 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1327 | //Lendo JoyStick Analogico |
ligeiro13 | 0:61ea5c9ad2de | 1328 | x = eixo_x.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1329 | y = eixo_y.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1330 | //pc.printf("Posicao/Vel X: %f Y: %f.\r\n", x, y); |
ligeiro13 | 0:61ea5c9ad2de | 1331 | //Acionamento motor de Passo via Joystick |
ligeiro13 | 0:61ea5c9ad2de | 1332 | //-----------------------------------------JOYSTICK X------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1333 | |
ligeiro13 | 0:61ea5c9ad2de | 1334 | while (x < 0.3f and flag_emergencia2 == 0)// X+ |
ligeiro13 | 0:61ea5c9ad2de | 1335 | { enable_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1336 | dir_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1337 | //wait(espera); |
ligeiro13 | 0:61ea5c9ad2de | 1338 | x = eixo_x.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1339 | //pc.printf("x> \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1340 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1341 | { |
ligeiro13 | 0:61ea5c9ad2de | 1342 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1343 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1344 | } |
ligeiro13 | 0:61ea5c9ad2de | 1345 | if (dir_x == 0 and posicao_x < 25000) |
ligeiro13 | 0:61ea5c9ad2de | 1346 | { |
ligeiro13 | 0:61ea5c9ad2de | 1347 | posicao_x = posicao_x + move(dir_x, vel,posicao_x,0) ; |
ligeiro13 | 0:61ea5c9ad2de | 1348 | // menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1349 | |
ligeiro13 | 0:61ea5c9ad2de | 1350 | } |
ligeiro13 | 0:61ea5c9ad2de | 1351 | pc.printf("Posicao Passo X: %d. \r\n",posicao_x); |
ligeiro13 | 0:61ea5c9ad2de | 1352 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1353 | } |
ligeiro13 | 0:61ea5c9ad2de | 1354 | while ( x > 0.7f and flag_emergencia2 == 0) //X- |
ligeiro13 | 0:61ea5c9ad2de | 1355 | { enable_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1356 | dir_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1357 | x = eixo_x.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1358 | // pc.printf("x < \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1359 | // pc.printf("dir_x = %B \r\n",dir_x); |
ligeiro13 | 0:61ea5c9ad2de | 1360 | if (botao_emergencia == 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1361 | { |
ligeiro13 | 0:61ea5c9ad2de | 1362 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1363 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1364 | } |
ligeiro13 | 0:61ea5c9ad2de | 1365 | if (dir_x == 1 and posicao_x > 0) |
ligeiro13 | 0:61ea5c9ad2de | 1366 | { |
ligeiro13 | 0:61ea5c9ad2de | 1367 | posicao_x = posicao_x - move(dir_x, vel, posicao_x,0) ; |
ligeiro13 | 0:61ea5c9ad2de | 1368 | } |
ligeiro13 | 0:61ea5c9ad2de | 1369 | pc.printf("Posicao Passo X: %d. \r\n",posicao_x); |
ligeiro13 | 0:61ea5c9ad2de | 1370 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1371 | } |
ligeiro13 | 0:61ea5c9ad2de | 1372 | if ( x > 0.3f and x < 0.73f) |
ligeiro13 | 0:61ea5c9ad2de | 1373 | { |
ligeiro13 | 0:61ea5c9ad2de | 1374 | para(); |
ligeiro13 | 0:61ea5c9ad2de | 1375 | // menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1376 | } |
ligeiro13 | 0:61ea5c9ad2de | 1377 | //-----------------------------------------JOYSTICK Y-------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1378 | if (troca_yz == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1379 | { |
ligeiro13 | 0:61ea5c9ad2de | 1380 | while (y < 0.3f and flag_emergencia2 == 0) //Y+ |
ligeiro13 | 0:61ea5c9ad2de | 1381 | { |
ligeiro13 | 0:61ea5c9ad2de | 1382 | enable_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1383 | dir_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1384 | y = eixo_y.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1385 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1386 | { |
ligeiro13 | 0:61ea5c9ad2de | 1387 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1388 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1389 | } |
ligeiro13 | 0:61ea5c9ad2de | 1390 | if (dir_y == 0 and posicao_y <26000) |
ligeiro13 | 0:61ea5c9ad2de | 1391 | { |
ligeiro13 | 0:61ea5c9ad2de | 1392 | posicao_y = posicao_y + move(dir_y, vel,posicao_y,1) ; |
ligeiro13 | 0:61ea5c9ad2de | 1393 | } |
ligeiro13 | 0:61ea5c9ad2de | 1394 | pc.printf("Posicao Passo Y: %d. \r\n",posicao_y); |
ligeiro13 | 0:61ea5c9ad2de | 1395 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1396 | } |
ligeiro13 | 0:61ea5c9ad2de | 1397 | while ( y > 0.7f and flag_emergencia2 == 0)//Y- |
ligeiro13 | 0:61ea5c9ad2de | 1398 | { |
ligeiro13 | 0:61ea5c9ad2de | 1399 | enable_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1400 | dir_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1401 | y = eixo_y.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1402 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1403 | { |
ligeiro13 | 0:61ea5c9ad2de | 1404 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1405 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1406 | } |
ligeiro13 | 0:61ea5c9ad2de | 1407 | if (dir_y == 1 and posicao_y > 0) |
ligeiro13 | 0:61ea5c9ad2de | 1408 | { |
ligeiro13 | 0:61ea5c9ad2de | 1409 | posicao_y = posicao_y - move(dir_y, vel, posicao_y,1) ; |
ligeiro13 | 0:61ea5c9ad2de | 1410 | } |
ligeiro13 | 0:61ea5c9ad2de | 1411 | pc.printf("Posicao Passo Y: %d. \r\n",posicao_y); |
ligeiro13 | 0:61ea5c9ad2de | 1412 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1413 | |
ligeiro13 | 0:61ea5c9ad2de | 1414 | } |
ligeiro13 | 0:61ea5c9ad2de | 1415 | if ( y > 0.3f and y < 0.7f) |
ligeiro13 | 0:61ea5c9ad2de | 1416 | { |
ligeiro13 | 0:61ea5c9ad2de | 1417 | para_(); |
ligeiro13 | 0:61ea5c9ad2de | 1418 | // menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1419 | } |
ligeiro13 | 0:61ea5c9ad2de | 1420 | } |
ligeiro13 | 0:61ea5c9ad2de | 1421 | //-----------------------------------------JOYSTICK Y PARA MEXER O Z------------------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1422 | if ( troca_yz == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1423 | { |
ligeiro13 | 0:61ea5c9ad2de | 1424 | while (y < 0.3f and flag_emergencia2 == 0) //Z- |
ligeiro13 | 0:61ea5c9ad2de | 1425 | { |
ligeiro13 | 0:61ea5c9ad2de | 1426 | enable_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1427 | dir_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1428 | y = eixo_y.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1429 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1430 | { |
ligeiro13 | 0:61ea5c9ad2de | 1431 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1432 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1433 | } |
ligeiro13 | 0:61ea5c9ad2de | 1434 | if (dir_z == 1 and posicao_z > 0) |
ligeiro13 | 0:61ea5c9ad2de | 1435 | { |
ligeiro13 | 0:61ea5c9ad2de | 1436 | posicao_z = posicao_z - move(dir_z, 500,posicao_z,2) ; |
ligeiro13 | 0:61ea5c9ad2de | 1437 | } |
ligeiro13 | 0:61ea5c9ad2de | 1438 | pc.printf("Posicao Passo Z: %d. \r\n",posicao_z); |
ligeiro13 | 0:61ea5c9ad2de | 1439 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1440 | } |
ligeiro13 | 0:61ea5c9ad2de | 1441 | while ( y > 0.7f and flag_emergencia2 == 0)//Z+ |
ligeiro13 | 0:61ea5c9ad2de | 1442 | { |
ligeiro13 | 0:61ea5c9ad2de | 1443 | enable_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1444 | dir_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1445 | y = eixo_y.read(); |
ligeiro13 | 0:61ea5c9ad2de | 1446 | if (botao_emergencia == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1447 | { |
ligeiro13 | 0:61ea5c9ad2de | 1448 | flag_emergencia2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1449 | break; |
ligeiro13 | 0:61ea5c9ad2de | 1450 | } |
ligeiro13 | 0:61ea5c9ad2de | 1451 | if (dir_z == 0 and posicao_z < 2000) |
ligeiro13 | 0:61ea5c9ad2de | 1452 | { |
ligeiro13 | 0:61ea5c9ad2de | 1453 | posicao_z = posicao_z + move(dir_z, 500, posicao_z,2) ; |
ligeiro13 | 0:61ea5c9ad2de | 1454 | } |
ligeiro13 | 0:61ea5c9ad2de | 1455 | pc.printf("Posicao Passo Z: %d. \r\n",posicao_z); |
ligeiro13 | 0:61ea5c9ad2de | 1456 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1457 | |
ligeiro13 | 0:61ea5c9ad2de | 1458 | } |
ligeiro13 | 0:61ea5c9ad2de | 1459 | if ( y > 0.3f and y < 0.7f) |
ligeiro13 | 0:61ea5c9ad2de | 1460 | { |
ligeiro13 | 0:61ea5c9ad2de | 1461 | para_(); |
ligeiro13 | 0:61ea5c9ad2de | 1462 | //menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1463 | } |
ligeiro13 | 0:61ea5c9ad2de | 1464 | }//fim troca_yz |
ligeiro13 | 0:61ea5c9ad2de | 1465 | //-----------------------------------------BOTAO ANALOGICO PARA TROCAR O EIXO Z/Y --------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1466 | |
ligeiro13 | 0:61ea5c9ad2de | 1467 | if (botao_analog == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1468 | { troca_yz = !troca_yz; //troca Y/Z |
ligeiro13 | 0:61ea5c9ad2de | 1469 | |
ligeiro13 | 0:61ea5c9ad2de | 1470 | pc.printf("ZY"); |
ligeiro13 | 0:61ea5c9ad2de | 1471 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1472 | if (troca_yz == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1473 | { |
ligeiro13 | 0:61ea5c9ad2de | 1474 | lcd.printf(" Eixo Z Selecionado \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1475 | } |
ligeiro13 | 0:61ea5c9ad2de | 1476 | if (troca_yz == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1477 | { |
ligeiro13 | 0:61ea5c9ad2de | 1478 | lcd.printf(" Eixo Y Selecionado \n"); |
ligeiro13 | 0:61ea5c9ad2de | 1479 | } |
ligeiro13 | 0:61ea5c9ad2de | 1480 | wait(0.8); |
ligeiro13 | 0:61ea5c9ad2de | 1481 | menu_enter_2 = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1482 | } |
ligeiro13 | 0:61ea5c9ad2de | 1483 | |
ligeiro13 | 0:61ea5c9ad2de | 1484 | //-----------------------------------------GUARDAR PONTOS (BOTAO) --------------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1485 | if ((guardar_pontos == 1 or botaoC == 0) and posicao_x >= 0 and posicao_y >= 0 and posicao_z >= 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1486 | { //-------------------------------------------------X--------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1487 | |
ligeiro13 | 0:61ea5c9ad2de | 1488 | pc.printf("GUARDAR PONTOS\r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1489 | if ( i_x != 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1490 | { |
ligeiro13 | 0:61ea5c9ad2de | 1491 | pontos_x[i_x] = posicao_x; |
ligeiro13 | 0:61ea5c9ad2de | 1492 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_x,pontos_x[i_x]); |
ligeiro13 | 0:61ea5c9ad2de | 1493 | i_x++; |
ligeiro13 | 0:61ea5c9ad2de | 1494 | } |
ligeiro13 | 0:61ea5c9ad2de | 1495 | if ( i_x == 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1496 | { |
ligeiro13 | 0:61ea5c9ad2de | 1497 | pontos_x[i_x] = posicao_x; |
ligeiro13 | 0:61ea5c9ad2de | 1498 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_x,pontos_x[i_x]); |
ligeiro13 | 0:61ea5c9ad2de | 1499 | i_x++; |
ligeiro13 | 0:61ea5c9ad2de | 1500 | } |
ligeiro13 | 0:61ea5c9ad2de | 1501 | |
ligeiro13 | 0:61ea5c9ad2de | 1502 | /*if (posicao_x != pontos_x[i_x-1]) |
ligeiro13 | 0:61ea5c9ad2de | 1503 | { |
ligeiro13 | 0:61ea5c9ad2de | 1504 | pontos_x[i_x] = posicao_x; |
ligeiro13 | 0:61ea5c9ad2de | 1505 | // pc.printf(" Ponto[%i] Passo: %i \r\n",i_x,pontos_x[i_x]); |
ligeiro13 | 0:61ea5c9ad2de | 1506 | i_x++; |
ligeiro13 | 0:61ea5c9ad2de | 1507 | }*/ |
ligeiro13 | 0:61ea5c9ad2de | 1508 | |
ligeiro13 | 0:61ea5c9ad2de | 1509 | //-------------------------------------------------Y--------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1510 | |
ligeiro13 | 0:61ea5c9ad2de | 1511 | if ( i_y != 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1512 | { |
ligeiro13 | 0:61ea5c9ad2de | 1513 | pontos_y[i_y] = posicao_y; |
ligeiro13 | 0:61ea5c9ad2de | 1514 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_y,pontos_y[i_y]); |
ligeiro13 | 0:61ea5c9ad2de | 1515 | i_y++; |
ligeiro13 | 0:61ea5c9ad2de | 1516 | } |
ligeiro13 | 0:61ea5c9ad2de | 1517 | if ( i_y == 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1518 | { |
ligeiro13 | 0:61ea5c9ad2de | 1519 | pontos_y[i_y] = posicao_y; |
ligeiro13 | 0:61ea5c9ad2de | 1520 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_y,pontos_y[i_y]); |
ligeiro13 | 0:61ea5c9ad2de | 1521 | i_y++; |
ligeiro13 | 0:61ea5c9ad2de | 1522 | } |
ligeiro13 | 0:61ea5c9ad2de | 1523 | /*if (posicao_y != pontos_y[i_y-1]) |
ligeiro13 | 0:61ea5c9ad2de | 1524 | { |
ligeiro13 | 0:61ea5c9ad2de | 1525 | pontos_y[i_y] = posicao_y; |
ligeiro13 | 0:61ea5c9ad2de | 1526 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_y,pontos_y[i_y]); |
ligeiro13 | 0:61ea5c9ad2de | 1527 | i_y++; |
ligeiro13 | 0:61ea5c9ad2de | 1528 | }*/ |
ligeiro13 | 0:61ea5c9ad2de | 1529 | // pc.printf(" Pontos X[%i] Y[%i] Passo X: %i Passo Y: %i\r\n",i_x,i_y, pontos_x[i_x -1],pontos_y[i_y -1]); |
ligeiro13 | 0:61ea5c9ad2de | 1530 | |
ligeiro13 | 0:61ea5c9ad2de | 1531 | //-------------------------------------------------Z--------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1532 | |
ligeiro13 | 0:61ea5c9ad2de | 1533 | if ( i_z != 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1534 | { |
ligeiro13 | 0:61ea5c9ad2de | 1535 | pontos_z[i_z] = posicao_z; |
ligeiro13 | 0:61ea5c9ad2de | 1536 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_z,pontos_y[i_z]); |
ligeiro13 | 0:61ea5c9ad2de | 1537 | i_z++; |
ligeiro13 | 0:61ea5c9ad2de | 1538 | } |
ligeiro13 | 0:61ea5c9ad2de | 1539 | if ( i_z == 0 ) |
ligeiro13 | 0:61ea5c9ad2de | 1540 | { |
ligeiro13 | 0:61ea5c9ad2de | 1541 | pontos_z[i_z] = posicao_z; |
ligeiro13 | 0:61ea5c9ad2de | 1542 | // pc.printf(" Ponto[%i] Passo: %i \r\n",i_z,pontos_z[i_z]); |
ligeiro13 | 0:61ea5c9ad2de | 1543 | i_z++; |
ligeiro13 | 0:61ea5c9ad2de | 1544 | } |
ligeiro13 | 0:61ea5c9ad2de | 1545 | /* if (posicao_z != pontos_z[i_z-1]) |
ligeiro13 | 0:61ea5c9ad2de | 1546 | { |
ligeiro13 | 0:61ea5c9ad2de | 1547 | pontos_y[i_z] = posicao_z; |
ligeiro13 | 0:61ea5c9ad2de | 1548 | //pc.printf(" Ponto[%i] Passo: %i \r\n",i_z,pontos_y[i_z]); |
ligeiro13 | 0:61ea5c9ad2de | 1549 | i_z++; |
ligeiro13 | 0:61ea5c9ad2de | 1550 | }*/ |
ligeiro13 | 0:61ea5c9ad2de | 1551 | pc.printf(" Pontos X[%i]=%i Pontos Y[%i]=%i Pontos Z[%i]=%i \r\n",i_x, pontos_x[i_x -1],i_y, pontos_y[i_y -1],i_z, pontos_z[i_z -1]); |
ligeiro13 | 0:61ea5c9ad2de | 1552 | guardar_pontos = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1553 | wait(0.5); |
ligeiro13 | 0:61ea5c9ad2de | 1554 | } |
ligeiro13 | 0:61ea5c9ad2de | 1555 | }//end mover_motores == 1 and menu == 3 |
ligeiro13 | 0:61ea5c9ad2de | 1556 | |
ligeiro13 | 0:61ea5c9ad2de | 1557 | if (mover_motores == 1 and menu == 2) |
ligeiro13 | 0:61ea5c9ad2de | 1558 | { |
ligeiro13 | 0:61ea5c9ad2de | 1559 | //-----------------------------------------IR PARA OS PONTOS GUARDADOS (BOTAO) -----------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1560 | |
ligeiro13 | 0:61ea5c9ad2de | 1561 | if (colar_pontos == 1 or botaoA == 0) |
ligeiro13 | 0:61ea5c9ad2de | 1562 | { |
ligeiro13 | 0:61ea5c9ad2de | 1563 | |
ligeiro13 | 0:61ea5c9ad2de | 1564 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1565 | lcd.printf("Aplicando Cola!\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1566 | pc.printf("colar pontos funcao! \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1567 | aciona_pneu = 0;//liga a pressao da valvula |
ligeiro13 | 0:61ea5c9ad2de | 1568 | for(int h = 0; h < (i_z); h++) |
ligeiro13 | 0:61ea5c9ad2de | 1569 | { |
ligeiro13 | 0:61ea5c9ad2de | 1570 | |
ligeiro13 | 0:61ea5c9ad2de | 1571 | //-----------------------------------------Aciona a pneumatica -----------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1572 | if (cola[h - 1] == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1573 | { |
ligeiro13 | 0:61ea5c9ad2de | 1574 | aciona_pneu2 = 0;//abre valvula |
ligeiro13 | 0:61ea5c9ad2de | 1575 | |
ligeiro13 | 0:61ea5c9ad2de | 1576 | } |
ligeiro13 | 0:61ea5c9ad2de | 1577 | |
ligeiro13 | 0:61ea5c9ad2de | 1578 | wait(1); |
ligeiro13 | 0:61ea5c9ad2de | 1579 | pc.printf(" Indo para os Pontos \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1580 | //-----------------------------------------pontos X -----------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1581 | pc.printf(" Pontos X \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1582 | |
ligeiro13 | 0:61ea5c9ad2de | 1583 | int set_point_x = pontos_x[h] - posicao_x; //o quanto de passos que o motor ira dar para chegar ao ponto desejado |
ligeiro13 | 0:61ea5c9ad2de | 1584 | //pc.printf("SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point, pontos_x[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1585 | if (set_point_x != 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1586 | { |
ligeiro13 | 0:61ea5c9ad2de | 1587 | enable_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1588 | |
ligeiro13 | 0:61ea5c9ad2de | 1589 | } |
ligeiro13 | 0:61ea5c9ad2de | 1590 | |
ligeiro13 | 0:61ea5c9ad2de | 1591 | if (set_point_x == 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1592 | { |
ligeiro13 | 0:61ea5c9ad2de | 1593 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1594 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1595 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1596 | } |
ligeiro13 | 0:61ea5c9ad2de | 1597 | if (set_point_x > 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1598 | { // pc.printf("maior q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1599 | // pc.printf(" SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point, pontos_x[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1600 | dir_x = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1601 | posicao_x = posicao_x + movepara(dir_x,vel,set_point_x,0); |
ligeiro13 | 0:61ea5c9ad2de | 1602 | } |
ligeiro13 | 0:61ea5c9ad2de | 1603 | |
ligeiro13 | 0:61ea5c9ad2de | 1604 | if (set_point_x < 0) // o ponto atual esta a frente do desejado |
ligeiro13 | 0:61ea5c9ad2de | 1605 | { // pc.printf("menor q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1606 | // pc.printf(" SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point, pontos_x[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1607 | dir_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1608 | posicao_x = posicao_x - movepara(dir_x,vel,set_point_x,0); |
ligeiro13 | 0:61ea5c9ad2de | 1609 | } |
ligeiro13 | 0:61ea5c9ad2de | 1610 | //enable_x = 1 ;//desligar o motor na espera |
ligeiro13 | 0:61ea5c9ad2de | 1611 | //pc.printf("Posicao Passo: %d. \r\n",posicao_x); |
ligeiro13 | 0:61ea5c9ad2de | 1612 | // wait(1); //espera para ir ao proximo ponto |
ligeiro13 | 0:61ea5c9ad2de | 1613 | |
ligeiro13 | 0:61ea5c9ad2de | 1614 | //-----------------------------------------pontos y -----------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1615 | pc.printf(" Pontos Y \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1616 | int set_point_y = pontos_y[h] - posicao_y; //o quanto de passos que o motor ira dar para chegar ao ponto desejado |
ligeiro13 | 0:61ea5c9ad2de | 1617 | |
ligeiro13 | 0:61ea5c9ad2de | 1618 | //pc.printf("SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point_y, pontos_y[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1619 | if (set_point_y != 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1620 | { |
ligeiro13 | 0:61ea5c9ad2de | 1621 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1622 | enable_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1623 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1624 | } |
ligeiro13 | 0:61ea5c9ad2de | 1625 | if (set_point_y == 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1626 | { |
ligeiro13 | 0:61ea5c9ad2de | 1627 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1628 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1629 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1630 | } |
ligeiro13 | 0:61ea5c9ad2de | 1631 | if (set_point_y > 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1632 | { //pc.printf("maior q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1633 | // pc.printf(" SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point_y, pontos_y[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1634 | dir_y = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1635 | posicao_y = posicao_y + movepara(dir_y,vel,set_point_y,1); |
ligeiro13 | 0:61ea5c9ad2de | 1636 | } |
ligeiro13 | 0:61ea5c9ad2de | 1637 | |
ligeiro13 | 0:61ea5c9ad2de | 1638 | if (set_point_y < 0) // o ponto atual esta a frente do desejado |
ligeiro13 | 0:61ea5c9ad2de | 1639 | { // pc.printf("menor q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1640 | //pc.printf(" SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point_y, pontos_y[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1641 | dir_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1642 | posicao_y = posicao_y - movepara(dir_y,vel,set_point_y,1); |
ligeiro13 | 0:61ea5c9ad2de | 1643 | } |
ligeiro13 | 0:61ea5c9ad2de | 1644 | //enable_y = 1 ;//desligar o motor na espera |
ligeiro13 | 0:61ea5c9ad2de | 1645 | // pc.printf("Posicao Passo X: %d Passo Y: %d . \r\n",posicao_x,posicao_y); |
ligeiro13 | 0:61ea5c9ad2de | 1646 | // wait(1); //espera 2 segundos para ir ao proximo ponto |
ligeiro13 | 0:61ea5c9ad2de | 1647 | //-----------------------------------------pontos z -----------------------------------------/ |
ligeiro13 | 0:61ea5c9ad2de | 1648 | pc.printf(" Pontos Z \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1649 | |
ligeiro13 | 0:61ea5c9ad2de | 1650 | int set_point_z = pontos_z[h] - posicao_z; //o quanto de passos que o motor ira dar para chegar ao ponto desejado |
ligeiro13 | 0:61ea5c9ad2de | 1651 | //pc.printf("SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point_y, pontos_y[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1652 | if (set_point_z != 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1653 | { |
ligeiro13 | 0:61ea5c9ad2de | 1654 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1655 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1656 | enable_z = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1657 | } |
ligeiro13 | 0:61ea5c9ad2de | 1658 | if (set_point_z == 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1659 | { |
ligeiro13 | 0:61ea5c9ad2de | 1660 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1661 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1662 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1663 | } |
ligeiro13 | 0:61ea5c9ad2de | 1664 | if (set_point_z > 0) //o ponto atual é menor do que o desejado |
ligeiro13 | 0:61ea5c9ad2de | 1665 | { //pc.printf("maior q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1666 | // pc.printf(" SetPoint:%i pontos_z[h]:%i h:%i \r\n",set_point_z, pontos_z[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1667 | dir_z = 0; //vai para baixo |
ligeiro13 | 0:61ea5c9ad2de | 1668 | posicao_z = posicao_z + movepara(dir_z,vel,set_point_z,2); |
ligeiro13 | 0:61ea5c9ad2de | 1669 | } |
ligeiro13 | 0:61ea5c9ad2de | 1670 | |
ligeiro13 | 0:61ea5c9ad2de | 1671 | if (set_point_z < 0) // o ponto atual esta a frente do desejado |
ligeiro13 | 0:61ea5c9ad2de | 1672 | { // pc.printf("menor q 0 \r\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1673 | //pc.printf(" SetPoint:%i pontos_x[h]:%i h:%i \r\n",set_point_y, pontos_y[h],h); |
ligeiro13 | 0:61ea5c9ad2de | 1674 | |
ligeiro13 | 0:61ea5c9ad2de | 1675 | dir_z = 1; //vai para cima |
ligeiro13 | 0:61ea5c9ad2de | 1676 | posicao_z = posicao_z - movepara(dir_z,vel,set_point_z,2); |
ligeiro13 | 0:61ea5c9ad2de | 1677 | } |
ligeiro13 | 0:61ea5c9ad2de | 1678 | //enable_y = 1 ;//desligar o motor na espera |
ligeiro13 | 0:61ea5c9ad2de | 1679 | pc.printf("Posicao[%d] Passo X: %d Passo Y: %d Passo Z: %d. \r\n",h,posicao_x,posicao_y,posicao_z); |
ligeiro13 | 0:61ea5c9ad2de | 1680 | colar_pontos = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1681 | |
ligeiro13 | 0:61ea5c9ad2de | 1682 | // wait(1); //espera 2 segundos para ir ao proximo ponto |
ligeiro13 | 0:61ea5c9ad2de | 1683 | |
ligeiro13 | 0:61ea5c9ad2de | 1684 | aciona_pneu2 = 1;//fecha valvula |
ligeiro13 | 0:61ea5c9ad2de | 1685 | |
ligeiro13 | 0:61ea5c9ad2de | 1686 | |
ligeiro13 | 0:61ea5c9ad2de | 1687 | }//loop for |
ligeiro13 | 0:61ea5c9ad2de | 1688 | enable_x = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1689 | enable_y = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1690 | enable_z = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1691 | aciona_pneu = 1;//desliga a pressao da valvula |
ligeiro13 | 0:61ea5c9ad2de | 1692 | pc.printf("Acabou rotina aplicador de cola\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1693 | if (botao_emergencia == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1694 | { |
ligeiro13 | 0:61ea5c9ad2de | 1695 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1696 | lcd.printf("Finalizado!\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1697 | wait(1); |
ligeiro13 | 0:61ea5c9ad2de | 1698 | menu_enter = 3;//volta para o menu |
ligeiro13 | 0:61ea5c9ad2de | 1699 | linha = 3; |
ligeiro13 | 0:61ea5c9ad2de | 1700 | } |
ligeiro13 | 0:61ea5c9ad2de | 1701 | }//if botaoA |
ligeiro13 | 0:61ea5c9ad2de | 1702 | |
ligeiro13 | 0:61ea5c9ad2de | 1703 | }// end mover_motores == 1 and menu == 2 |
ligeiro13 | 0:61ea5c9ad2de | 1704 | |
ligeiro13 | 0:61ea5c9ad2de | 1705 | }//if botao emergencia == 1 |
ligeiro13 | 0:61ea5c9ad2de | 1706 | if ((botao_emergencia == 0 and flag_emergencia == 0) or flag_emergencia2 == 1) |
ligeiro13 | 0:61ea5c9ad2de | 1707 | { |
ligeiro13 | 0:61ea5c9ad2de | 1708 | lcd.cls(); |
ligeiro13 | 0:61ea5c9ad2de | 1709 | lcd.printf("Botao Emergencia!\n"); |
ligeiro13 | 0:61ea5c9ad2de | 1710 | lcd.setCursor(TextLCD::CurOff_BlkOff);//desliga o cursor |
ligeiro13 | 0:61ea5c9ad2de | 1711 | refe = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1712 | flag_emergencia = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1713 | flag_emergencia2 = 0; |
ligeiro13 | 0:61ea5c9ad2de | 1714 | linha = 1; |
ligeiro13 | 0:61ea5c9ad2de | 1715 | } |
ligeiro13 | 0:61ea5c9ad2de | 1716 | }//while 1 |
ligeiro13 | 0:61ea5c9ad2de | 1717 | }//main |