Projeto Mecatrônico - 2020 - G3 / Mbed 2 deprecated Movimentacao

Dependencies:   mbed

Committer:
terhorst
Date:
Mon Jun 22 01:01:47 2020 +0000
Revision:
0:92a99259dafa
Child:
1:2e9e37f35e3f
.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
terhorst 0:92a99259dafa 1
terhorst 0:92a99259dafa 2 int PosicaoRecipiente[3];
terhorst 0:92a99259dafa 3 PosicaoRecipiente[0] = 40;
terhorst 0:92a99259dafa 4 PosicaoRecipiente[1] = 35;
terhorst 0:92a99259dafa 5 PosicaoRecipiente[2] = 10;
terhorst 0:92a99259dafa 6
terhorst 0:92a99259dafa 7 void ativa_pipeta() {
terhorst 0:92a99259dafa 8 }
terhorst 0:92a99259dafa 9
terhorst 0:92a99259dafa 10 void recebe_comandos(){
terhorst 0:92a99259dafa 11
terhorst 0:92a99259dafa 12 }
terhorst 0:92a99259dafa 13
terhorst 0:92a99259dafa 14 void avaliar_distancia(){ //Função para detectar e movimentar a pipeta até o local da pega
terhorst 0:92a99259dafa 15 int x = 0;
terhorst 0:92a99259dafa 16 int y = 0;
terhorst 0:92a99259dafa 17 int z = 0;
terhorst 0:92a99259dafa 18
terhorst 0:92a99259dafa 19 int x_2 = 0;
terhorst 0:92a99259dafa 20 int y_2 = 0;
terhorst 0:92a99259dafa 21 int z_2 = 0;
terhorst 0:92a99259dafa 22
terhorst 0:92a99259dafa 23 while (x == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 24 if (Posicao_inicial[0] < PosicaoFrasco[0]) {
terhorst 0:92a99259dafa 25 Fase_M1_A = 1;
terhorst 0:92a99259dafa 26 wait(tempo);
terhorst 0:92a99259dafa 27 Fase_M1_A = 0;
terhorst 0:92a99259dafa 28 Fase_M1_B = 1;
terhorst 0:92a99259dafa 29 wait(tempo);
terhorst 0:92a99259dafa 30 Fase_M1_B = 0;
terhorst 0:92a99259dafa 31 Fase_M1_C = 1;
terhorst 0:92a99259dafa 32 wait(tempo);
terhorst 0:92a99259dafa 33 Fase_M1_C = 0;
terhorst 0:92a99259dafa 34 Fase_M1_D = 1;
terhorst 0:92a99259dafa 35 wait(tempo);
terhorst 0:92a99259dafa 36 Fase_M1_D = 0;
terhorst 0:92a99259dafa 37 Posicao_inicial[0] = Posicao_inicial[0] + 5;
terhorst 0:92a99259dafa 38
terhorst 0:92a99259dafa 39 }
terhorst 0:92a99259dafa 40
terhorst 0:92a99259dafa 41 if (Posicao_inicial[0] > PosicaoFrasco[0]) {
terhorst 0:92a99259dafa 42 Fase_M1_D = 1;
terhorst 0:92a99259dafa 43 wait(tempo);
terhorst 0:92a99259dafa 44 Fase_M1_D = 0;
terhorst 0:92a99259dafa 45 Fase_M1_C = 1;
terhorst 0:92a99259dafa 46 wait(tempo);
terhorst 0:92a99259dafa 47 Fase_M1_C = 0;
terhorst 0:92a99259dafa 48 Fase_M1_B = 1;
terhorst 0:92a99259dafa 49 wait(tempo);
terhorst 0:92a99259dafa 50 Fase_M1_B = 0;
terhorst 0:92a99259dafa 51 Fase_M1_A = 1;
terhorst 0:92a99259dafa 52 wait(tempo);
terhorst 0:92a99259dafa 53 Fase_M1_A = 0;
terhorst 0:92a99259dafa 54 Posicao_inicial[0] = Posicao_inicial[0] - 5;
terhorst 0:92a99259dafa 55
terhorst 0:92a99259dafa 56 }
terhorst 0:92a99259dafa 57
terhorst 0:92a99259dafa 58 if (Posicao_inicial[0] == PosicaoFrasco[0]) {
terhorst 0:92a99259dafa 59 x = 1;
terhorst 0:92a99259dafa 60 }
terhorst 0:92a99259dafa 61 }
terhorst 0:92a99259dafa 62
terhorst 0:92a99259dafa 63 while (y == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 64 if (Posicao_inicial[1] < PosicaoFrasco[1]) {
terhorst 0:92a99259dafa 65 Fase_M2_A = 1;
terhorst 0:92a99259dafa 66 wait(tempo);
terhorst 0:92a99259dafa 67 Fase_M2_A = 0;
terhorst 0:92a99259dafa 68 Fase_M2_B = 1;
terhorst 0:92a99259dafa 69 wait(tempo);
terhorst 0:92a99259dafa 70 Fase_M2_B = 0;
terhorst 0:92a99259dafa 71 Fase_M2_C = 1;
terhorst 0:92a99259dafa 72 wait(tempo);
terhorst 0:92a99259dafa 73 Fase_M2_C = 0;
terhorst 0:92a99259dafa 74 Fase_M2_D = 1;
terhorst 0:92a99259dafa 75 wait(tempo);
terhorst 0:92a99259dafa 76 Fase_M2_D = 0;
terhorst 0:92a99259dafa 77 Posicao_inicial[1] = Posicao_inicial[1] + 5;
terhorst 0:92a99259dafa 78
terhorst 0:92a99259dafa 79 }
terhorst 0:92a99259dafa 80
terhorst 0:92a99259dafa 81 if (Posicao_inicial[1] > PosicaoFrasco[1]) {
terhorst 0:92a99259dafa 82 Fase_M2_D = 1;
terhorst 0:92a99259dafa 83 wait(tempo);
terhorst 0:92a99259dafa 84 Fase_M2_D = 0;
terhorst 0:92a99259dafa 85 Fase_M2_C = 1;
terhorst 0:92a99259dafa 86 wait(tempo);
terhorst 0:92a99259dafa 87 Fase_M2_C = 0;
terhorst 0:92a99259dafa 88 Fase_M2_B = 1;
terhorst 0:92a99259dafa 89 wait(tempo);
terhorst 0:92a99259dafa 90 Fase_M2_B = 0;
terhorst 0:92a99259dafa 91 Fase_M2_A = 1;
terhorst 0:92a99259dafa 92 wait(tempo);
terhorst 0:92a99259dafa 93 Fase_M2_A = 0;
terhorst 0:92a99259dafa 94 Posicao_inicial[1] = Posicao_inicial[1] - 5;
terhorst 0:92a99259dafa 95
terhorst 0:92a99259dafa 96 }
terhorst 0:92a99259dafa 97
terhorst 0:92a99259dafa 98 if (Posicao_inicial[1] == PosicaoFrasco[1]) {
terhorst 0:92a99259dafa 99 y = 1;
terhorst 0:92a99259dafa 100 }
terhorst 0:92a99259dafa 101 }
terhorst 0:92a99259dafa 102
terhorst 0:92a99259dafa 103 while (z == 0){ // Checa se a pipeta está na posição de pega, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 104 if (Posicao_inicial[2] < PosicaoFrasco[2]) {
terhorst 0:92a99259dafa 105 Fase_M3_A = 1;
terhorst 0:92a99259dafa 106 wait(tempo);
terhorst 0:92a99259dafa 107 Fase_M3_A = 0;
terhorst 0:92a99259dafa 108 Fase_M3_B = 1;
terhorst 0:92a99259dafa 109 wait(tempo);
terhorst 0:92a99259dafa 110 Fase_M3_B = 0;
terhorst 0:92a99259dafa 111 Fase_M3_C = 1;
terhorst 0:92a99259dafa 112 wait(tempo);
terhorst 0:92a99259dafa 113 Fase_M3_C = 0;
terhorst 0:92a99259dafa 114 Fase_M3_D = 1;
terhorst 0:92a99259dafa 115 wait(tempo);
terhorst 0:92a99259dafa 116 Fase_M3_D = 0;
terhorst 0:92a99259dafa 117 Posicao_inicial[2] = Posicao_inicial[2] + 5;
terhorst 0:92a99259dafa 118
terhorst 0:92a99259dafa 119 }
terhorst 0:92a99259dafa 120
terhorst 0:92a99259dafa 121 if (Posicao_inicial[2] > PosicaoFrasco[2]) {
terhorst 0:92a99259dafa 122 Fase_M3_D = 1;
terhorst 0:92a99259dafa 123 wait(tempo);
terhorst 0:92a99259dafa 124 Fase_M3_D = 0;
terhorst 0:92a99259dafa 125 Fase_M3_C = 1;
terhorst 0:92a99259dafa 126 wait(tempo);
terhorst 0:92a99259dafa 127 Fase_M3_C = 0;
terhorst 0:92a99259dafa 128 Fase_M3_B = 1;
terhorst 0:92a99259dafa 129 wait(tempo);
terhorst 0:92a99259dafa 130 Fase_M3_B = 0;
terhorst 0:92a99259dafa 131 Fase_M3_A = 1;
terhorst 0:92a99259dafa 132 wait(tempo);
terhorst 0:92a99259dafa 133 Fase_M3_A = 0;
terhorst 0:92a99259dafa 134 Posicao_inicial[2] = Posicao_inicial[2] - 5;
terhorst 0:92a99259dafa 135
terhorst 0:92a99259dafa 136 }
terhorst 0:92a99259dafa 137
terhorst 0:92a99259dafa 138 if (Posicao_inicial[2] == PosicaoFrasco[2]) {
terhorst 0:92a99259dafa 139 z = 1;
terhorst 0:92a99259dafa 140 }
terhorst 0:92a99259dafa 141 }
terhorst 0:92a99259dafa 142
terhorst 0:92a99259dafa 143 ativa_pipeta();
terhorst 0:92a99259dafa 144
terhorst 0:92a99259dafa 145 while (Posicao_inicial[2] != 0) { //Depois de sugar o líquido a pipeta é levada para cima para evitar possíveis colisões
terhorst 0:92a99259dafa 146 Fase_M3_D = 1;
terhorst 0:92a99259dafa 147 wait(tempo);
terhorst 0:92a99259dafa 148 Fase_M3_D = 0;
terhorst 0:92a99259dafa 149 Fase_M3_C = 1;
terhorst 0:92a99259dafa 150 wait(tempo);
terhorst 0:92a99259dafa 151 Fase_M3_C = 0;
terhorst 0:92a99259dafa 152 Fase_M3_B = 1;
terhorst 0:92a99259dafa 153 wait(tempo);
terhorst 0:92a99259dafa 154 Fase_M3_B = 0;
terhorst 0:92a99259dafa 155 Fase_M3_A = 1;
terhorst 0:92a99259dafa 156 wait(tempo);
terhorst 0:92a99259dafa 157 Fase_M3_A = 0;
terhorst 0:92a99259dafa 158 Posicao_inicial[2] = Posicao_inicial[2] - 5;
terhorst 0:92a99259dafa 159 }
terhorst 0:92a99259dafa 160
terhorst 0:92a99259dafa 161 while (x_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 162 if (Posicao_inicial[0] < PosicaoRecipiente[0]) {
terhorst 0:92a99259dafa 163 Fase_M1_A = 1;
terhorst 0:92a99259dafa 164 wait(tempo);
terhorst 0:92a99259dafa 165 Fase_M1_A = 0;
terhorst 0:92a99259dafa 166 Fase_M1_B = 1;
terhorst 0:92a99259dafa 167 wait(tempo);
terhorst 0:92a99259dafa 168 Fase_M1_B = 0;
terhorst 0:92a99259dafa 169 Fase_M1_C = 1;
terhorst 0:92a99259dafa 170 wait(tempo);
terhorst 0:92a99259dafa 171 Fase_M1_C = 0;
terhorst 0:92a99259dafa 172 Fase_M1_D = 1;
terhorst 0:92a99259dafa 173 wait(tempo);
terhorst 0:92a99259dafa 174 Fase_M1_D = 0;
terhorst 0:92a99259dafa 175 Posicao_inicial[0] = Posicao_inicial[0] + 5;
terhorst 0:92a99259dafa 176
terhorst 0:92a99259dafa 177 }
terhorst 0:92a99259dafa 178
terhorst 0:92a99259dafa 179 if (Posicao_inicial[0] > PosicaoRecipiente[0]) {
terhorst 0:92a99259dafa 180 Fase_M1_D = 1;
terhorst 0:92a99259dafa 181 wait(tempo);
terhorst 0:92a99259dafa 182 Fase_M1_D = 0;
terhorst 0:92a99259dafa 183 Fase_M1_C = 1;
terhorst 0:92a99259dafa 184 wait(tempo);
terhorst 0:92a99259dafa 185 Fase_M1_C = 0;
terhorst 0:92a99259dafa 186 Fase_M1_B = 1;
terhorst 0:92a99259dafa 187 wait(tempo);
terhorst 0:92a99259dafa 188 Fase_M1_B = 0;
terhorst 0:92a99259dafa 189 Fase_M1_A = 1;
terhorst 0:92a99259dafa 190 wait(tempo);
terhorst 0:92a99259dafa 191 Fase_M1_A = 0;
terhorst 0:92a99259dafa 192 Posicao_inicial[0] = Posicao_inicial[0] - 5;
terhorst 0:92a99259dafa 193
terhorst 0:92a99259dafa 194 }
terhorst 0:92a99259dafa 195
terhorst 0:92a99259dafa 196 if (Posicao_inicial[0] == PosicaoRecipiente[0]) {
terhorst 0:92a99259dafa 197 x_2 = 1;
terhorst 0:92a99259dafa 198 }
terhorst 0:92a99259dafa 199 }
terhorst 0:92a99259dafa 200
terhorst 0:92a99259dafa 201 while (y_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 202 if (Posicao_inicial[1] < PosicaoRecipiente[1]) {
terhorst 0:92a99259dafa 203 Fase_M2_A = 1;
terhorst 0:92a99259dafa 204 wait(tempo);
terhorst 0:92a99259dafa 205 Fase_M2_A = 0;
terhorst 0:92a99259dafa 206 Fase_M2_B = 1;
terhorst 0:92a99259dafa 207 wait(tempo);
terhorst 0:92a99259dafa 208 Fase_M2_B = 0;
terhorst 0:92a99259dafa 209 Fase_M2_C = 1;
terhorst 0:92a99259dafa 210 wait(tempo);
terhorst 0:92a99259dafa 211 Fase_M2_C = 0;
terhorst 0:92a99259dafa 212 Fase_M2_D = 1;
terhorst 0:92a99259dafa 213 wait(tempo);
terhorst 0:92a99259dafa 214 Fase_M2_D = 0;
terhorst 0:92a99259dafa 215 Posicao_inicial[1] = Posicao_inicial[1] + 5;
terhorst 0:92a99259dafa 216
terhorst 0:92a99259dafa 217 }
terhorst 0:92a99259dafa 218
terhorst 0:92a99259dafa 219 if (Posicao_inicial[1] > PosicaoRecipiente[1]) {
terhorst 0:92a99259dafa 220 Fase_M2_D = 1;
terhorst 0:92a99259dafa 221 wait(tempo);
terhorst 0:92a99259dafa 222 Fase_M2_D = 0;
terhorst 0:92a99259dafa 223 Fase_M2_C = 1;
terhorst 0:92a99259dafa 224 wait(tempo);
terhorst 0:92a99259dafa 225 Fase_M2_C = 0;
terhorst 0:92a99259dafa 226 Fase_M2_B = 1;
terhorst 0:92a99259dafa 227 wait(tempo);
terhorst 0:92a99259dafa 228 Fase_M2_B = 0;
terhorst 0:92a99259dafa 229 Fase_M2_A = 1;
terhorst 0:92a99259dafa 230 wait(tempo);
terhorst 0:92a99259dafa 231 Fase_M2_A = 0;
terhorst 0:92a99259dafa 232 Posicao_inicial[1] = Posicao_inicial[1] - 5;
terhorst 0:92a99259dafa 233
terhorst 0:92a99259dafa 234 }
terhorst 0:92a99259dafa 235
terhorst 0:92a99259dafa 236 if (Posicao_inicial[1] == PosicaoRecipiente[1]) {
terhorst 0:92a99259dafa 237 y_2 = 1;
terhorst 0:92a99259dafa 238 }
terhorst 0:92a99259dafa 239 }
terhorst 0:92a99259dafa 240
terhorst 0:92a99259dafa 241 while (z_2 == 0){ // Checa se a pipeta está na posição de solta, se n estiver ela se movimenta até lá
terhorst 0:92a99259dafa 242 if (Posicao_inicial[2] < PosicaoRecipiente[2]) {
terhorst 0:92a99259dafa 243 Fase_M3_A = 1;
terhorst 0:92a99259dafa 244 wait(tempo);
terhorst 0:92a99259dafa 245 Fase_M3_A = 0;
terhorst 0:92a99259dafa 246 Fase_M3_B = 1;
terhorst 0:92a99259dafa 247 wait(tempo);
terhorst 0:92a99259dafa 248 Fase_M3_B = 0;
terhorst 0:92a99259dafa 249 Fase_M3_C = 1;
terhorst 0:92a99259dafa 250 wait(tempo);
terhorst 0:92a99259dafa 251 Fase_M3_C = 0;
terhorst 0:92a99259dafa 252 Fase_M3_D = 1;
terhorst 0:92a99259dafa 253 wait(tempo);
terhorst 0:92a99259dafa 254 Fase_M3_D = 0;
terhorst 0:92a99259dafa 255 Posicao_inicial[2] = Posicao_inicial[2] + 5;
terhorst 0:92a99259dafa 256
terhorst 0:92a99259dafa 257 }
terhorst 0:92a99259dafa 258
terhorst 0:92a99259dafa 259 if (Posicao_inicial[2] > PosicaoRecipiente[2]) {
terhorst 0:92a99259dafa 260 Fase_M3_D = 1;
terhorst 0:92a99259dafa 261 wait(tempo);
terhorst 0:92a99259dafa 262 Fase_M3_D = 0;
terhorst 0:92a99259dafa 263 Fase_M3_C = 1;
terhorst 0:92a99259dafa 264 wait(tempo);
terhorst 0:92a99259dafa 265 Fase_M3_C = 0;
terhorst 0:92a99259dafa 266 Fase_M3_B = 1;
terhorst 0:92a99259dafa 267 wait(tempo);
terhorst 0:92a99259dafa 268 Fase_M3_B = 0;
terhorst 0:92a99259dafa 269 Fase_M3_A = 1;
terhorst 0:92a99259dafa 270 wait(tempo);
terhorst 0:92a99259dafa 271 Fase_M3_A = 0;
terhorst 0:92a99259dafa 272 Posicao_inicial[2] = Posicao_inicial[2] - 5;
terhorst 0:92a99259dafa 273
terhorst 0:92a99259dafa 274 }
terhorst 0:92a99259dafa 275
terhorst 0:92a99259dafa 276 if (Posicao_inicial[2] == PosicaoRecipiente[2]) {
terhorst 0:92a99259dafa 277 z_2 = 1;
terhorst 0:92a99259dafa 278 }
terhorst 0:92a99259dafa 279 }
terhorst 0:92a99259dafa 280
terhorst 0:92a99259dafa 281 }
terhorst 0:92a99259dafa 282
terhorst 0:92a99259dafa 283 void repetir(){
terhorst 0:92a99259dafa 284
terhorst 0:92a99259dafa 285 }
terhorst 0:92a99259dafa 286
terhorst 0:92a99259dafa 287 int main() {
terhorst 0:92a99259dafa 288 zeramento();
terhorst 0:92a99259dafa 289 Joystick();
terhorst 0:92a99259dafa 290
terhorst 0:92a99259dafa 291 int verdade = 1;
terhorst 0:92a99259dafa 292
terhorst 0:92a99259dafa 293 while (verdade == 1) {
terhorst 0:92a99259dafa 294 repetir();
terhorst 0:92a99259dafa 295 }
terhorst 0:92a99259dafa 296
terhorst 0:92a99259dafa 297 }
terhorst 0:92a99259dafa 298
terhorst 0:92a99259dafa 299
terhorst 0:92a99259dafa 300