Projeto Mecatrônico
/
ProjetoMecatronico
testando
main_PM.cpp@30:179ceb3e5791, 2020-05-27 (annotated)
- Committer:
- enricoan
- Date:
- Wed May 27 00:53:04 2020 +0000
- Revision:
- 30:179ceb3e5791
- Parent:
- 29:76d952358896
- Parent:
- 24:38820e43b9fe
- Child:
- 31:acb062a05984
comentarios repostos e pinos do rele atualizados
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
enricoan | 29:76d952358896 | 1 | //local para inclusao de bibliotecas |
enricoan | 10:4f49e9859535 | 2 | #include "mbed.h" |
enricoan | 10:4f49e9859535 | 3 | #include "TextLCD.h" |
enricoan | 10:4f49e9859535 | 4 | #include "Keypad.h" |
enricoan | 10:4f49e9859535 | 5 | |
enricoan | 29:76d952358896 | 6 | //local para a declaracao de varioveis |
enricoan | 30:179ceb3e5791 | 7 | float t_motor = 0.002; //delay entre o acionamento de uma bobina do motor e a outra |
enricoan | 30:179ceb3e5791 | 8 | float t_teclado = 0.01; //delay entre a leitura de um botão do teclado, necessário para que um click nao gere mais de uma saída |
enricoan | 24:38820e43b9fe | 9 | int hor[] = {12,6,3,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido horário enviando a sequência de 0's e 1's às bobinas |
enricoan | 24:38820e43b9fe | 10 | int antihor[] = {3,6,12,9}; //valores que, ao serem convertidos em binário, geram a sequência de acionamento do motor no sentido anti-horário enviando a sequência de 0's e 1's às bobinas |
enricoan | 24:38820e43b9fe | 11 | int parado[] = {0,0,0,0}; //valores enviados às bobinas do motor para deixá-lo parado |
enricoan | 30:179ceb3e5791 | 12 | char tecla; //variável que guarda a tecla apertada no teclado |
enricoan | 30:179ceb3e5791 | 13 | float coord_x = 0; //variável que guardará a posição linear do eixo x, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto |
enricoan | 30:179ceb3e5791 | 14 | float coord_y = 0; //variável que guardará a posição linear do eixo y, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto |
enricoan | 30:179ceb3e5791 | 15 | float coord_z = 0; //variável que guardará a posição linear do eixo z, ela é incrementada com a conta do deslocamento linear dado um deslocamento angular sempre que o eixo é movimentado depois do referencimaneto |
enricoan | 30:179ceb3e5791 | 16 | int est_x = 0; //variável que indicará o estado do eixo x, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso |
enricoan | 30:179ceb3e5791 | 17 | int est_y = 0; //variável que indicará o estado do eixo y, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso |
enricoan | 30:179ceb3e5791 | 18 | int est_z = 0; //variável que indicará o estado do eixo z, pemitindo ou não que ele possa ser avançado depois de atingir o fim de curso |
enricoan | 17:4d0b8ed791e0 | 19 | |
enricoan | 29:76d952358896 | 20 | //pinos usados pelos botoes de fim de curso |
enricoan | 17:4d0b8ed791e0 | 21 | DigitalIn fdc_x(PC_10); |
enricoan | 17:4d0b8ed791e0 | 22 | DigitalIn fdc_y(PC_11); |
enricoan | 17:4d0b8ed791e0 | 23 | DigitalIn fdc_z(PC_12); |
enricoan | 20:81a44a25b21d | 24 | |
enricoan | 29:76d952358896 | 25 | //Iterrupcao botao de emergência |
enricoan | 29:76d952358896 | 26 | InterruptIn emergencia_botao(PC_13); //trocar esse botao para onde esto o botao de fato |
amandarm | 25:b0db528c1985 | 27 | |
enricoan | 29:76d952358896 | 28 | //pinos do rele |
enricoan | 30:179ceb3e5791 | 29 | DigitalOut rele1(PC_5); |
enricoan | 30:179ceb3e5791 | 30 | DigitalOut rele2(PB_9); |
amandarm | 25:b0db528c1985 | 31 | |
enricoan | 29:76d952358896 | 32 | //botoes para movimentacao eixo a eixo |
enricoan | 10:4f49e9859535 | 33 | DigitalIn x_mais(PA_0); |
enricoan | 10:4f49e9859535 | 34 | DigitalIn x_menos(PA_1); |
enricoan | 10:4f49e9859535 | 35 | DigitalIn y_mais(PC_0); |
enricoan | 10:4f49e9859535 | 36 | DigitalIn y_menos(PC_1); |
enricoan | 10:4f49e9859535 | 37 | DigitalIn z_mais(PC_2); |
enricoan | 10:4f49e9859535 | 38 | DigitalIn z_menos(PC_3); |
enricoan | 10:4f49e9859535 | 39 | |
enricoan | 10:4f49e9859535 | 40 | //pinos da placa usados na biblioteca do LCD |
enricoan | 10:4f49e9859535 | 41 | TextLCD lcd(D4, D5, D6, D7, D8, D9); |
enricoan | 10:4f49e9859535 | 42 | |
enricoan | 16:70baa0057a76 | 43 | //pinos do teclado |
enricoan | 16:70baa0057a76 | 44 | Keypad teclado(PA_6, PA_7, PB_6, PC_7, PB_7, PC_13, PC_14, PC_15); |
enricoan | 16:70baa0057a76 | 45 | |
enricoan | 10:4f49e9859535 | 46 | //pinos de saída para os motores |
enricoan | 10:4f49e9859535 | 47 | //eixo x |
Hiroball | 11:dc557e461dfd | 48 | BusOut eixox(PA_15,PA_14,PA_13,PA_12); |
enricoan | 10:4f49e9859535 | 49 | //eixo y |
Hiroball | 11:dc557e461dfd | 50 | BusOut eixoy(PA_11,PA_10,PB_2,PB_1); |
enricoan | 10:4f49e9859535 | 51 | //eixo z |
Hiroball | 11:dc557e461dfd | 52 | BusOut eixoz(PC_9,PC_8,PB_8,PC_6); |
enricoan | 10:4f49e9859535 | 53 | |
enricoan | 29:76d952358896 | 54 | //funcoes para as telas da IHM |
amandarm | 22:dd336b95db5d | 55 | |
amandarm | 22:dd336b95db5d | 56 | void funcao_inicio(){ |
amandarm | 25:b0db528c1985 | 57 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 58 | lcd.printf("1-Novo programa"); |
amandarm | 22:dd336b95db5d | 59 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 60 | lcd.printf("2-Usar programa salvo"); |
amandarm | 22:dd336b95db5d | 61 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 62 | } |
amandarm | 22:dd336b95db5d | 63 | |
amandarm | 22:dd336b95db5d | 64 | void funcao_tela_zera(){ |
amandarm | 25:b0db528c1985 | 65 | lcd.cls(); |
amandarm | 25:b0db528c1985 | 66 | lcd.printf("Zeramento:"); |
amandarm | 25:b0db528c1985 | 67 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 68 | lcd.printf("Confira se nao ho"); |
amandarm | 25:b0db528c1985 | 69 | lcd.locate(0,2); |
amandarm | 25:b0db528c1985 | 70 | lcd.printf("objetos sobre a mesa"); |
amandarm | 25:b0db528c1985 | 71 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 72 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 73 | } |
amandarm | 22:dd336b95db5d | 74 | |
amandarm | 22:dd336b95db5d | 75 | void funcao_pega1(){ |
amandarm | 25:b0db528c1985 | 76 | lcd.cls(); |
enricoan | 29:76d952358896 | 77 | lcd.printf("Configuracao de pega"); |
amandarm | 25:b0db528c1985 | 78 | lcd.locate(0,1); |
amandarm | 25:b0db528c1985 | 79 | lcd.printf("1-Forma do pega"); |
amandarm | 25:b0db528c1985 | 80 | lcd.locate(0,2); |
amandarm | 25:b0db528c1985 | 81 | lcd.printf("2-Volume do pega"); |
amandarm | 25:b0db528c1985 | 82 | lcd.locate(0,3); |
amandarm | 25:b0db528c1985 | 83 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 84 | } |
amandarm | 22:dd336b95db5d | 85 | |
amandarm | 22:dd336b95db5d | 86 | void funcao_pega2(){ |
amandarm | 25:b0db528c1985 | 87 | lcd.cls(); |
enricoan | 29:76d952358896 | 88 | lcd.printf("Configuracao de pega"); |
amandarm | 25:b0db528c1985 | 89 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 90 | lcd.printf("3-Posicao do pega"); |
amandarm | 25:b0db528c1985 | 91 | lcd.locate(0,2); |
amandarm | 25:b0db528c1985 | 92 | lcd.printf(""); |
amandarm | 25:b0db528c1985 | 93 | lcd.locate(0,3); |
amandarm | 25:b0db528c1985 | 94 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 95 | } |
amandarm | 22:dd336b95db5d | 96 | |
amandarm | 22:dd336b95db5d | 97 | void funcao_pega_forma(){ |
amandarm | 25:b0db528c1985 | 98 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 99 | lcd.printf("Forma do pega"); |
amandarm | 22:dd336b95db5d | 100 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 101 | lcd.printf("1 - Quadrado"); |
amandarm | 22:dd336b95db5d | 102 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 103 | lcd.printf("2 - Circular"); |
amandarm | 22:dd336b95db5d | 104 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 105 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 106 | } |
amandarm | 22:dd336b95db5d | 107 | |
amandarm | 22:dd336b95db5d | 108 | void funcao_pega_volume(){ |
amandarm | 25:b0db528c1985 | 109 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 110 | lcd.printf("Insira o volume"); |
amandarm | 22:dd336b95db5d | 111 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 112 | lcd.printf("Em ml:"); |
amandarm | 22:dd336b95db5d | 113 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 114 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 115 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 116 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 117 | } |
amandarm | 22:dd336b95db5d | 118 | |
amandarm | 22:dd336b95db5d | 119 | void funcao_pega_forma_quad(){ |
amandarm | 25:b0db528c1985 | 120 | lcd.cls(); |
enricoan | 29:76d952358896 | 121 | lcd.printf("Dimensoes do pega"); |
amandarm | 22:dd336b95db5d | 122 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 123 | lcd.printf("Comprimento em mm"); |
amandarm | 22:dd336b95db5d | 124 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 125 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 126 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 127 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 128 | } |
amandarm | 22:dd336b95db5d | 129 | |
amandarm | 22:dd336b95db5d | 130 | void funcao_pega_forma_red(){ |
amandarm | 25:b0db528c1985 | 131 | lcd.cls(); |
enricoan | 29:76d952358896 | 132 | lcd.printf("Dimensoes do pega"); |
amandarm | 22:dd336b95db5d | 133 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 134 | lcd.printf("Diamentro em mm"); |
amandarm | 22:dd336b95db5d | 135 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 136 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 137 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 138 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 139 | } |
enricoan | 29:76d952358896 | 140 | void funcao_pega_pos_x(){ //desativar os botoes de Y |
amandarm | 25:b0db528c1985 | 141 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 142 | lcd.printf("Posicione pega em X"); |
amandarm | 22:dd336b95db5d | 143 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 144 | lcd.printf("Use botoes ate chegar"); |
amandarm | 22:dd336b95db5d | 145 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 146 | lcd.printf("na posicao desejada"); |
amandarm | 22:dd336b95db5d | 147 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 148 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 149 | } |
amandarm | 22:dd336b95db5d | 150 | |
enricoan | 29:76d952358896 | 151 | void funcao_pega_pos_y(){ //desativar os botoes de X |
amandarm | 25:b0db528c1985 | 152 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 153 | lcd.printf("Posicione pega em Y"); |
amandarm | 22:dd336b95db5d | 154 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 155 | lcd.printf("Use botoes ate chegar"); |
amandarm | 22:dd336b95db5d | 156 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 157 | lcd.printf("na posicao desejada"); |
amandarm | 22:dd336b95db5d | 158 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 159 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 160 | } |
amandarm | 22:dd336b95db5d | 161 | |
amandarm | 22:dd336b95db5d | 162 | void funcao_solta1(){ |
amandarm | 25:b0db528c1985 | 163 | lcd.cls(); |
enricoan | 29:76d952358896 | 164 | lcd.printf("Configuracao solta"); |
amandarm | 22:dd336b95db5d | 165 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 166 | lcd.printf("1-Dimensao solta"); |
amandarm | 22:dd336b95db5d | 167 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 168 | lcd.printf("2-Volume da solta"); |
amandarm | 22:dd336b95db5d | 169 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 170 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 171 | } |
amandarm | 22:dd336b95db5d | 172 | |
amandarm | 22:dd336b95db5d | 173 | void funcao_solta2(){ |
amandarm | 25:b0db528c1985 | 174 | lcd.cls(); |
enricoan | 29:76d952358896 | 175 | lcd.printf("Configuracao solta"); |
amandarm | 22:dd336b95db5d | 176 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 177 | lcd.printf("3-Posicao solta"); |
amandarm | 22:dd336b95db5d | 178 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 179 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 180 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 181 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 182 | } |
amandarm | 22:dd336b95db5d | 183 | |
amandarm | 22:dd336b95db5d | 184 | void funcao_solta_dimensao(){ |
amandarm | 25:b0db528c1985 | 185 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 186 | lcd.printf("Insira o diametro"); |
amandarm | 22:dd336b95db5d | 187 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 188 | lcd.printf("de solta, em mm:"); |
amandarm | 22:dd336b95db5d | 189 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 190 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 191 | lcd.printf(0,3); |
enricoan | 29:76d952358896 | 192 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 193 | } |
amandarm | 22:dd336b95db5d | 194 | |
amandarm | 22:dd336b95db5d | 195 | void funcao_solta_vol(){ |
amandarm | 25:b0db528c1985 | 196 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 197 | lcd.printf("Determinar volume"); |
amandarm | 22:dd336b95db5d | 198 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 199 | lcd.printf("1-Todos mesmo volume"); |
amandarm | 22:dd336b95db5d | 200 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 201 | lcd.printf("2-Pino a pino"); |
amandarm | 22:dd336b95db5d | 202 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 203 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 204 | } |
amandarm | 22:dd336b95db5d | 205 | |
amandarm | 22:dd336b95db5d | 206 | void funcao_solta_vol_igual(){ |
amandarm | 25:b0db528c1985 | 207 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 208 | lcd.printf("Insira o volume"); |
amandarm | 22:dd336b95db5d | 209 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 210 | lcd.printf("em ml:"); |
amandarm | 22:dd336b95db5d | 211 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 212 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 213 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 214 | lcd.printf("A-Proximo B-Voltar"); |
amandarm | 22:dd336b95db5d | 215 | } |
amandarm | 22:dd336b95db5d | 216 | |
amandarm | 22:dd336b95db5d | 217 | void funcao_solta_vol_cada(){ |
amandarm | 25:b0db528c1985 | 218 | lcd.cls(); |
enricoan | 29:76d952358896 | 219 | lcd.printf("Selecao: * * * "); |
amandarm | 22:dd336b95db5d | 220 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 221 | lcd.printf("Volume: * * * "); |
amandarm | 22:dd336b95db5d | 222 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 223 | lcd.printf("A-Confirma * * * "); |
amandarm | 22:dd336b95db5d | 224 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 225 | lcd.printf("B-Corrigir C-Proximo"); |
amandarm | 22:dd336b95db5d | 226 | } |
amandarm | 22:dd336b95db5d | 227 | |
enricoan | 29:76d952358896 | 228 | void funcao_solta_pos_x(){ //desativar os botoes de Y |
amandarm | 25:b0db528c1985 | 229 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 230 | lcd.printf("Posicione pega em X"); |
amandarm | 22:dd336b95db5d | 231 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 232 | lcd.printf("Use botoes ate chegar"); |
amandarm | 22:dd336b95db5d | 233 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 234 | lcd.printf("na posicao desejada"); |
amandarm | 22:dd336b95db5d | 235 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 236 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 237 | } |
amandarm | 22:dd336b95db5d | 238 | |
enricoan | 29:76d952358896 | 239 | void funcao_solta_pos_y(){ //desativar os botoes de X |
amandarm | 25:b0db528c1985 | 240 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 241 | lcd.printf("Posicione pega em Y"); |
amandarm | 22:dd336b95db5d | 242 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 243 | lcd.printf("Use botoes ate chegar"); |
amandarm | 22:dd336b95db5d | 244 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 245 | lcd.printf("na posicao desejada"); |
amandarm | 22:dd336b95db5d | 246 | lcd.printf(0,3); |
amandarm | 22:dd336b95db5d | 247 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 248 | } |
amandarm | 22:dd336b95db5d | 249 | |
amandarm | 22:dd336b95db5d | 250 | void funcao_confirma(){ |
amandarm | 25:b0db528c1985 | 251 | lcd.cls(); |
enricoan | 29:76d952358896 | 252 | lcd.printf("Revisao Parametros"); |
amandarm | 22:dd336b95db5d | 253 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 254 | lcd.printf("1-Pega:"); |
amandarm | 22:dd336b95db5d | 255 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 256 | lcd.printf("2-Pinos solta:"); |
amandarm | 22:dd336b95db5d | 257 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 258 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 259 | } |
amandarm | 22:dd336b95db5d | 260 | |
amandarm | 22:dd336b95db5d | 261 | void funcao_nome_prog(){ |
amandarm | 25:b0db528c1985 | 262 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 263 | lcd.printf("Nome do programa"); |
amandarm | 22:dd336b95db5d | 264 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 265 | lcd.printf("Insira um codigo"); |
amandarm | 22:dd336b95db5d | 266 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 267 | lcd.printf("para seu programa:"); |
amandarm | 22:dd336b95db5d | 268 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 269 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 270 | } |
amandarm | 22:dd336b95db5d | 271 | |
amandarm | 22:dd336b95db5d | 272 | void funcao_acomp(){ //colocar os valores adequados na tela |
amandarm | 25:b0db528c1985 | 273 | lcd.cls(); |
enricoan | 29:76d952358896 | 274 | lcd.printf("Prog em execucao"); |
amandarm | 22:dd336b95db5d | 275 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 276 | lcd.printf("Tempo: xx min yy s"); |
amandarm | 22:dd336b95db5d | 277 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 278 | lcd.printf("Progresso: zz%"); |
amandarm | 22:dd336b95db5d | 279 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 280 | lcd.printf("A-Pausar"); |
amandarm | 22:dd336b95db5d | 281 | } |
amandarm | 22:dd336b95db5d | 282 | |
amandarm | 22:dd336b95db5d | 283 | void funcao_pausa(){ |
amandarm | 25:b0db528c1985 | 284 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 285 | lcd.printf("Prog pausado"); |
amandarm | 22:dd336b95db5d | 286 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 287 | lcd.printf("Progresso: zz%"); |
amandarm | 22:dd336b95db5d | 288 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 289 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 290 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 291 | lcd.printf("A-Continuar B-Parar"); |
amandarm | 22:dd336b95db5d | 292 | } |
amandarm | 22:dd336b95db5d | 293 | |
amandarm | 25:b0db528c1985 | 294 | void funcao_salvo1(){ |
amandarm | 25:b0db528c1985 | 295 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 296 | lcd.printf("1-xx"); |
amandarm | 22:dd336b95db5d | 297 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 298 | lcd.printf("2-yy"); |
amandarm | 22:dd336b95db5d | 299 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 300 | lcd.printf("3-zz"); |
amandarm | 22:dd336b95db5d | 301 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 302 | lcd.printf("A-Proxima B-Anterior"); |
amandarm | 22:dd336b95db5d | 303 | } |
amandarm | 22:dd336b95db5d | 304 | |
amandarm | 25:b0db528c1985 | 305 | void funcao_salvo2(){ |
amandarm | 25:b0db528c1985 | 306 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 307 | lcd.printf("4-xx"); |
amandarm | 22:dd336b95db5d | 308 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 309 | lcd.printf("5-yy"); |
amandarm | 22:dd336b95db5d | 310 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 311 | lcd.printf("6-zz"); |
amandarm | 22:dd336b95db5d | 312 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 313 | lcd.printf("A-Proxima B-Anterior"); |
amandarm | 22:dd336b95db5d | 314 | } |
amandarm | 22:dd336b95db5d | 315 | |
amandarm | 22:dd336b95db5d | 316 | void funcao_salvo_agree1(){ |
amandarm | 25:b0db528c1985 | 317 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 318 | lcd.printf("Confirmar programa"); |
amandarm | 22:dd336b95db5d | 319 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 320 | lcd.printf("1-Posicao pega"); |
amandarm | 22:dd336b95db5d | 321 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 322 | lcd.printf("2-Posicao solta"); |
amandarm | 22:dd336b95db5d | 323 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 324 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 325 | } |
amandarm | 22:dd336b95db5d | 326 | |
amandarm | 22:dd336b95db5d | 327 | void funcao_salvo_agree2(){ |
amandarm | 25:b0db528c1985 | 328 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 329 | lcd.printf("Confirmar programa"); |
amandarm | 22:dd336b95db5d | 330 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 331 | lcd.printf("3-Volume pega"); |
amandarm | 22:dd336b95db5d | 332 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 333 | lcd.printf("4-Volume solta"); |
amandarm | 22:dd336b95db5d | 334 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 335 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 336 | } |
amandarm | 22:dd336b95db5d | 337 | |
amandarm | 22:dd336b95db5d | 338 | void funcao_salvo_agree_pos_aviso(){ |
amandarm | 25:b0db528c1985 | 339 | lcd.cls(); |
enricoan | 29:76d952358896 | 340 | lcd.printf("A pipeta iro na pega"); |
amandarm | 22:dd336b95db5d | 341 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 342 | lcd.printf("Certifique-se que nao"); |
amandarm | 22:dd336b95db5d | 343 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 344 | lcd.printf("ho objetos na mesa"); |
amandarm | 22:dd336b95db5d | 345 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 346 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 347 | } |
amandarm | 22:dd336b95db5d | 348 | |
amandarm | 22:dd336b95db5d | 349 | void funcao_salvo_agree_pos_certo(){ |
amandarm | 25:b0db528c1985 | 350 | lcd.cls(); |
enricoan | 29:76d952358896 | 351 | lcd.printf("Posicao correta?"); |
amandarm | 22:dd336b95db5d | 352 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 353 | lcd.printf("1-Sim"); |
amandarm | 22:dd336b95db5d | 354 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 355 | lcd.printf("2-Ajustar"); |
amandarm | 22:dd336b95db5d | 356 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 357 | lcd.printf(" B-Voltar"); |
amandarm | 22:dd336b95db5d | 358 | } |
amandarm | 22:dd336b95db5d | 359 | |
amandarm | 22:dd336b95db5d | 360 | void funcao_salvo_agree_solta_aviso(){ |
amandarm | 25:b0db528c1985 | 361 | lcd.cls(); |
enricoan | 29:76d952358896 | 362 | lcd.printf("A pipeta ira na solta"); |
amandarm | 22:dd336b95db5d | 363 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 364 | lcd.printf("Certifique-se que nao"); |
amandarm | 22:dd336b95db5d | 365 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 366 | lcd.printf("ha objetos na mesa"); |
amandarm | 22:dd336b95db5d | 367 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 368 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 369 | } |
amandarm | 22:dd336b95db5d | 370 | |
amandarm | 22:dd336b95db5d | 371 | void funcao_salvo_agree_pega_vol(){ |
amandarm | 25:b0db528c1985 | 372 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 373 | lcd.printf("Insira o volume pega"); |
amandarm | 22:dd336b95db5d | 374 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 375 | lcd.printf("Em ml:"); |
amandarm | 22:dd336b95db5d | 376 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 377 | lcd.printf(""); |
amandarm | 22:dd336b95db5d | 378 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 379 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 380 | } |
amandarm | 22:dd336b95db5d | 381 | |
amandarm | 22:dd336b95db5d | 382 | void funcao_salvo_agree_solta_vol(){ |
amandarm | 25:b0db528c1985 | 383 | lcd.cls(); |
amandarm | 22:dd336b95db5d | 384 | lcd.printf("1-x 2-y 3-z"); |
amandarm | 22:dd336b95db5d | 385 | lcd.locate(0,1); |
amandarm | 22:dd336b95db5d | 386 | lcd.printf("4-x 5-y 6-z"); |
amandarm | 22:dd336b95db5d | 387 | lcd.locate(0,2); |
amandarm | 22:dd336b95db5d | 388 | lcd.printf("7-x 8-y 9-z"); |
amandarm | 22:dd336b95db5d | 389 | lcd.locate(0,3); |
amandarm | 22:dd336b95db5d | 390 | lcd.printf("A-Confirma B-Voltar"); |
amandarm | 22:dd336b95db5d | 391 | } |
amandarm | 22:dd336b95db5d | 392 | |
enricoan | 29:76d952358896 | 393 | //Funcao de iterrupcao |
amandarm | 25:b0db528c1985 | 394 | void emergencia() |
amandarm | 25:b0db528c1985 | 395 | { |
amandarm | 25:b0db528c1985 | 396 | while(emergencia_botao == 0){ |
enricoan | 28:c4733814201a | 397 | //rele1 = 0; |
amandarm | 25:b0db528c1985 | 398 | eixox = 0b0000; |
amandarm | 25:b0db528c1985 | 399 | eixoy = 0b0000; |
amandarm | 25:b0db528c1985 | 400 | eixoz = 0b0000; |
amandarm | 25:b0db528c1985 | 401 | lcd.cls(); |
enricoan | 29:76d952358896 | 402 | lcd.printf("Botao Emergencia"); |
amandarm | 25:b0db528c1985 | 403 | lcd.locate(0,1); |
amandarm | 25:b0db528c1985 | 404 | lcd.printf(" acionado "); |
amandarm | 25:b0db528c1985 | 405 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 406 | lcd.printf("Operacao pausada"); |
enricoan | 28:c4733814201a | 407 | //lcd.locate(0,3); |
enricoan | 28:c4733814201a | 408 | //lcd.printf("); |
amandarm | 25:b0db528c1985 | 409 | } |
amandarm | 25:b0db528c1985 | 410 | } |
amandarm | 25:b0db528c1985 | 411 | |
enricoan | 29:76d952358896 | 412 | //Funcao de zeramento |
amandarm | 27:45f8125a0c0b | 413 | |
amandarm | 27:45f8125a0c0b | 414 | void zeramento(){ |
amandarm | 27:45f8125a0c0b | 415 | while (fdc_x != 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);est_x = 1;}} |
amandarm | 27:45f8125a0c0b | 416 | while (fdc_y != 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);est_y = 1;}} |
amandarm | 27:45f8125a0c0b | 417 | while (fdc_z != 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);est_z = 1;}} |
enricoan | 29:76d952358896 | 418 | /* |
enricoan | 20:81a44a25b21d | 419 | printf("\n%i",est_x); |
enricoan | 20:81a44a25b21d | 420 | printf("\n%i",est_y); |
enricoan | 29:76d952358896 | 421 | printf("\n%i",est_z);*/ |
enricoan | 29:76d952358896 | 422 | } |
enricoan | 29:76d952358896 | 423 | |
enricoan | 29:76d952358896 | 424 | //Varioveis para operacao IHM |
enricoan | 29:76d952358896 | 425 | #include <string> |
enricoan | 29:76d952358896 | 426 | using std::string; |
enricoan | 29:76d952358896 | 427 | string status_tela = "inicio"; |
enricoan | 29:76d952358896 | 428 | |
enricoan | 29:76d952358896 | 429 | int main() { |
enricoan | 29:76d952358896 | 430 | printf("\n%i",est_x); |
enricoan | 29:76d952358896 | 431 | printf("\n%i",est_y); |
enricoan | 29:76d952358896 | 432 | printf("\n%i",est_z); |
enricoan | 29:76d952358896 | 433 | lcd.printf("Bem-vindo ao Pipemax"); |
enricoan | 29:76d952358896 | 434 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 435 | lcd.printf("o seu sistema"); |
enricoan | 29:76d952358896 | 436 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 437 | lcd.printf("automatizado"); |
enricoan | 29:76d952358896 | 438 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 439 | lcd.printf("de pipetagem"); |
enricoan | 29:76d952358896 | 440 | wait(3); |
Hiroball | 11:dc557e461dfd | 441 | while(1) { |
enricoan | 29:76d952358896 | 442 | /* |
enricoan | 28:c4733814201a | 443 | lcd.cls(); |
enricoan | 29:76d952358896 | 444 | lcd.printf("Por favor, aceite"); |
amandarm | 27:45f8125a0c0b | 445 | lcd.locate(0,1); |
enricoan | 29:76d952358896 | 446 | lcd.printf("o zeramento do seu"); |
amandarm | 27:45f8125a0c0b | 447 | lcd.locate(0,2); |
enricoan | 29:76d952358896 | 448 | lcd.printf("sistema"); |
amandarm | 27:45f8125a0c0b | 449 | lcd.locate(0,3); |
enricoan | 29:76d952358896 | 450 | lcd.printf("A - proximo"); |
enricoan | 29:76d952358896 | 451 | tecla = teclado.ReadKey(); |
enricoan | 29:76d952358896 | 452 | if(tecla == 'A' && status_tela == "zeramento"){ |
amandarm | 27:45f8125a0c0b | 453 | zeramento(); |
enricoan | 29:76d952358896 | 454 | printf("\n%s",status_tela); |
enricoan | 29:76d952358896 | 455 | status_tela == "inicio"; |
enricoan | 29:76d952358896 | 456 | printf("\n%s",status_tela); |
enricoan | 29:76d952358896 | 457 | funcao_inicio();} |
enricoan | 29:76d952358896 | 458 | */ |
enricoan | 16:70baa0057a76 | 459 | int solta = 1; |
enricoan | 16:70baa0057a76 | 460 | tecla = teclado.ReadKey(); //read the current key pressed |
enricoan | 16:70baa0057a76 | 461 | if(tecla == '\0') solta = 1; //set the flag when all keys are released |
enricoan | 16:70baa0057a76 | 462 | if((tecla != '\0') && (solta == 1)) { //if a key is pressed AND previous key was released |
enricoan | 16:70baa0057a76 | 463 | printf("%c\n", tecla); |
enricoan | 16:70baa0057a76 | 464 | solta = 0; //clear the flag to indicate that key is still pressed |
enricoan | 16:70baa0057a76 | 465 | wait(0.1);} |
enricoan | 19:ebe198368444 | 466 | /* tentativa de fazer o motor parar ao apertar algum dos fins de curso |
enricoan | 18:3c40a8a17963 | 467 | if(fdc_x == 0 || fdc_y == 0 || fdc_z == 0){ |
enricoan | 18:3c40a8a17963 | 468 | for(int i = 0; i < 4; i++){eixox = parado[i];wait(t_motor);est_x = 1;} |
enricoan | 18:3c40a8a17963 | 469 | for(int i = 0; i < 4; i++){eixoy = parado[i];wait(t_motor);est_y = 1;} |
enricoan | 18:3c40a8a17963 | 470 | for(int i = 0; i < 4; i++){eixoz = parado[i];wait(t_motor);est_z = 1;} |
enricoan | 19:ebe198368444 | 471 | */ |
amandarm | 27:45f8125a0c0b | 472 | |
enricoan | 19:ebe198368444 | 473 | if (x_mais == 0 && est_x == 1){for(int i = 0; i < 4; i++){eixox = parado[i];wait(t_motor);coord_x += 0;lcd.cls();lcd.printf("Limite de x atingido");}} |
enricoan | 19:ebe198368444 | 474 | if (y_mais == 0 && est_y == 1){for(int i = 0; i < 4; i++){eixoy = parado[i];wait(t_motor);coord_y += 0;lcd.cls();lcd.printf("Limite de y atingido");}} |
amandarm | 27:45f8125a0c0b | 475 | if (z_mais == 0 && est_z == 1){for(int i = 0; i < 4; i++){eixoz = parado[i];wait(t_motor);coord_z += 0;lcd.cls();lcd.printf("Limite de z atingido");}} |
amandarm | 27:45f8125a0c0b | 476 | |
enricoan | 19:ebe198368444 | 477 | if (x_menos == 0){for(int i = 0; i < 4; i++){eixox = antihor[i];wait(t_motor);coord_x -= (5.625*5/32)/360;est_x = 0; |
enricoan | 16:70baa0057a76 | 478 | lcd.cls(); |
enricoan | 18:3c40a8a17963 | 479 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 18:3c40a8a17963 | 480 | lcd.locate(0,1); |
enricoan | 18:3c40a8a17963 | 481 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 18:3c40a8a17963 | 482 | lcd.locate(0,2); |
enricoan | 18:3c40a8a17963 | 483 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 19:ebe198368444 | 484 | if (y_menos == 0){for(int i = 0; i < 4; i++){eixoy = antihor[i];wait(t_motor);coord_y -= (5.625*5/32)/360;est_y = 0; |
enricoan | 19:ebe198368444 | 485 | lcd.cls(); |
enricoan | 19:ebe198368444 | 486 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 19:ebe198368444 | 487 | lcd.locate(0,1); |
enricoan | 19:ebe198368444 | 488 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 19:ebe198368444 | 489 | lcd.locate(0,2); |
enricoan | 19:ebe198368444 | 490 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 19:ebe198368444 | 491 | if (z_menos == 0){for(int i = 0; i < 4; i++){eixoz = antihor[i];wait(t_motor);coord_z -= (5.625*5/32)/360;est_z = 0; |
enricoan | 18:3c40a8a17963 | 492 | lcd.cls(); |
enricoan | 18:3c40a8a17963 | 493 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 16:70baa0057a76 | 494 | lcd.locate(0,1); |
enricoan | 18:3c40a8a17963 | 495 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 18:3c40a8a17963 | 496 | lcd.locate(0,2); |
enricoan | 18:3c40a8a17963 | 497 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 19:ebe198368444 | 498 | |
enricoan | 19:ebe198368444 | 499 | if (x_mais == 0){for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);coord_x += (5.625*5/32)/360;est_x = 0; |
enricoan | 19:ebe198368444 | 500 | lcd.cls(); |
enricoan | 19:ebe198368444 | 501 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 19:ebe198368444 | 502 | lcd.locate(0,1); |
enricoan | 19:ebe198368444 | 503 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 19:ebe198368444 | 504 | lcd.locate(0,2); |
enricoan | 19:ebe198368444 | 505 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 19:ebe198368444 | 506 | if (y_mais == 0){for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);coord_y += (5.625*5/32)/360;est_y = 0; |
enricoan | 18:3c40a8a17963 | 507 | lcd.cls(); |
enricoan | 18:3c40a8a17963 | 508 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 18:3c40a8a17963 | 509 | lcd.locate(0,1); |
enricoan | 18:3c40a8a17963 | 510 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 18:3c40a8a17963 | 511 | lcd.locate(0,2); |
enricoan | 18:3c40a8a17963 | 512 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 19:ebe198368444 | 513 | if (z_mais == 0){for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);coord_z += (5.625*5/32)/360;est_z = 0; |
enricoan | 19:ebe198368444 | 514 | lcd.cls(); |
enricoan | 19:ebe198368444 | 515 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 19:ebe198368444 | 516 | lcd.locate(0,1); |
enricoan | 19:ebe198368444 | 517 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 19:ebe198368444 | 518 | lcd.locate(0,2); |
enricoan | 19:ebe198368444 | 519 | lcd.printf("Z: %4.1f", coord_z);}} |
enricoan | 18:3c40a8a17963 | 520 | |
enricoan | 16:70baa0057a76 | 521 | if (x_mais || x_menos || y_mais || y_menos || z_mais || z_menos != 0){ |
enricoan | 16:70baa0057a76 | 522 | for(int i = 0; i < 4; i++){eixox = parado[i];} |
enricoan | 16:70baa0057a76 | 523 | for(int i = 0; i < 4; i++){eixoy = parado[i];} |
enricoan | 16:70baa0057a76 | 524 | for(int i = 0; i < 4; i++){eixoz = parado[i];} |
enricoan | 16:70baa0057a76 | 525 | } |
enricoan | 19:ebe198368444 | 526 | |
enricoan | 18:3c40a8a17963 | 527 | /* |
enricoan | 18:3c40a8a17963 | 528 | lcd.cls(); |
enricoan | 18:3c40a8a17963 | 529 | lcd.printf("X: %4.1f", coord_x); |
enricoan | 18:3c40a8a17963 | 530 | lcd.locate(0,1); |
enricoan | 18:3c40a8a17963 | 531 | lcd.printf("Y: %4.1f", coord_y); |
enricoan | 18:3c40a8a17963 | 532 | lcd.locate(0,2); |
enricoan | 18:3c40a8a17963 | 533 | lcd.printf("Z: %4.1f", coord_z); |
enricoan | 18:3c40a8a17963 | 534 | */ |
enricoan | 18:3c40a8a17963 | 535 | |
amandarm | 26:4123b9462158 | 536 | tecla = teclado.ReadKey(); |
enricoan | 28:c4733814201a | 537 | if(tecla =='1' && status_tela == "inicio"){ |
amandarm | 26:4123b9462158 | 538 | funcao_pega1(); |
enricoan | 29:76d952358896 | 539 | wait(1); |
amandarm | 26:4123b9462158 | 540 | funcao_pega2(); |
amandarm | 26:4123b9462158 | 541 | status_tela = "novo"; |
amandarm | 26:4123b9462158 | 542 | } |
enricoan | 28:c4733814201a | 543 | else if(tecla == '2' && status_tela == "inicio"){ |
amandarm | 26:4123b9462158 | 544 | funcao_salvo1(); |
enricoan | 29:76d952358896 | 545 | wait(1); |
amandarm | 26:4123b9462158 | 546 | funcao_salvo2(); |
amandarm | 26:4123b9462158 | 547 | status_tela = "salvo"; |
amandarm | 26:4123b9462158 | 548 | } |
amandarm | 26:4123b9462158 | 549 | tecla = teclado.ReadKey(); |
enricoan | 28:c4733814201a | 550 | if(tecla =='1' && status_tela =="novo"){ |
amandarm | 26:4123b9462158 | 551 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 552 | status_tela ="forma"; |
amandarm | 26:4123b9462158 | 553 | } |
enricoan | 28:c4733814201a | 554 | else if(tecla =='2' && status_tela == "novo"){ |
amandarm | 26:4123b9462158 | 555 | funcao_pega_volume(); |
amandarm | 26:4123b9462158 | 556 | status_tela = "volume"; |
amandarm | 26:4123b9462158 | 557 | } |
enricoan | 28:c4733814201a | 558 | else if(tecla == '3' && status_tela == "novo"){ |
amandarm | 26:4123b9462158 | 559 | funcao_pega_pos_x(); |
amandarm | 26:4123b9462158 | 560 | status_tela = "pos_x"; |
amandarm | 26:4123b9462158 | 561 | } |
enricoan | 28:c4733814201a | 562 | else if(tecla == 'B' && status_tela == "novo"){ |
amandarm | 26:4123b9462158 | 563 | funcao_inicio(); |
amandarm | 26:4123b9462158 | 564 | status_tela = "inicio"; |
amandarm | 26:4123b9462158 | 565 | } |
enricoan | 28:c4733814201a | 566 | else if(tecla == '1' && status_tela == "salvo"){ |
amandarm | 26:4123b9462158 | 567 | funcao_salvo_agree1(); |
amandarm | 26:4123b9462158 | 568 | status_tela = "confirmacao"; |
amandarm | 26:4123b9462158 | 569 | } |
enricoan | 28:c4733814201a | 570 | else if(tecla =='2' && status_tela == "salvo"){ |
amandarm | 26:4123b9462158 | 571 | funcao_salvo_agree1(); |
amandarm | 26:4123b9462158 | 572 | status_tela = "confirmacao"; |
amandarm | 26:4123b9462158 | 573 | } |
enricoan | 28:c4733814201a | 574 | else if(tecla =='B' && status_tela == "salvo"){ |
amandarm | 26:4123b9462158 | 575 | funcao_inicio(); |
amandarm | 26:4123b9462158 | 576 | status_tela = "inicio"; |
amandarm | 26:4123b9462158 | 577 | } |
amandarm | 26:4123b9462158 | 578 | tecla = teclado.ReadKey(); |
enricoan | 28:c4733814201a | 579 | if(tecla == '1' && status_tela == "forma"){ |
amandarm | 26:4123b9462158 | 580 | funcao_pega_forma_quad(); |
amandarm | 26:4123b9462158 | 581 | status_tela ="forma_quad"; |
amandarm | 26:4123b9462158 | 582 | } |
enricoan | 28:c4733814201a | 583 | else if(tecla == '2' && status_tela == "forma"){ |
amandarm | 26:4123b9462158 | 584 | funcao_pega_forma_red(); |
amandarm | 26:4123b9462158 | 585 | status_tela = "forma_quad"; |
amandarm | 26:4123b9462158 | 586 | } |
enricoan | 28:c4733814201a | 587 | else if(tecla == 'B' && status_tela == "forma"){ |
amandarm | 26:4123b9462158 | 588 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 589 | status_tela = "novo"; |
amandarm | 26:4123b9462158 | 590 | } |
amandarm | 26:4123b9462158 | 591 | |
amandarm | 26:4123b9462158 | 592 | tecla = teclado.ReadKey(); |
enricoan | 28:c4733814201a | 593 | if(tecla == 'A' && status_tela == "forma_quad"){ |
amandarm | 26:4123b9462158 | 594 | funcao_pega1(); |
enricoan | 29:76d952358896 | 595 | wait(1); |
amandarm | 26:4123b9462158 | 596 | funcao_pega2(); |
amandarm | 26:4123b9462158 | 597 | status_tela ="inicio"; |
amandarm | 26:4123b9462158 | 598 | } |
enricoan | 28:c4733814201a | 599 | else if(tecla == 'B' && status_tela == "forma_quad"){ |
amandarm | 26:4123b9462158 | 600 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 601 | status_tela = "forma"; |
amandarm | 26:4123b9462158 | 602 | } |
enricoan | 28:c4733814201a | 603 | else if(tecla == 'A' && status_tela == "forma_red"){ |
amandarm | 26:4123b9462158 | 604 | funcao_pega1(); |
enricoan | 29:76d952358896 | 605 | wait(1); |
amandarm | 26:4123b9462158 | 606 | funcao_pega2(); |
amandarm | 26:4123b9462158 | 607 | status_tela ="inicio"; |
amandarm | 26:4123b9462158 | 608 | } |
enricoan | 28:c4733814201a | 609 | else if(tecla == 'B' && status_tela == "forma_red"){ |
amandarm | 26:4123b9462158 | 610 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 611 | status_tela = "forma"; |
amandarm | 26:4123b9462158 | 612 | } |
enricoan | 28:c4733814201a | 613 | else if(tecla == 'A' && status_tela == "volume"){ |
amandarm | 26:4123b9462158 | 614 | funcao_pega1(); |
enricoan | 29:76d952358896 | 615 | wait(1); |
amandarm | 26:4123b9462158 | 616 | funcao_pega2(); |
amandarm | 26:4123b9462158 | 617 | status_tela ="inicio"; |
amandarm | 26:4123b9462158 | 618 | } |
enricoan | 28:c4733814201a | 619 | else if( tecla == 'B' && status_tela == "volume"){ |
amandarm | 26:4123b9462158 | 620 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 621 | status_tela = "forma"; |
amandarm | 26:4123b9462158 | 622 | } |
enricoan | 28:c4733814201a | 623 | else if(tecla == 'A' && status_tela == "pos_x"){ |
enricoan | 29:76d952358896 | 624 | funcao_pega_pos_y(); //colocar programacao que contem o posicionamento do eixo y |
amandarm | 26:4123b9462158 | 625 | status_tela = "pos_y"; |
amandarm | 26:4123b9462158 | 626 | } |
enricoan | 28:c4733814201a | 627 | else if(tecla == 'B' && status_tela == "pos_x"){ |
amandarm | 26:4123b9462158 | 628 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 629 | status_tela = "forma"; |
amandarm | 26:4123b9462158 | 630 | } |
amandarm | 26:4123b9462158 | 631 | |
amandarm | 26:4123b9462158 | 632 | tecla = teclado.ReadKey(); |
enricoan | 28:c4733814201a | 633 | if(tecla == 'A' && status_tela == "pos_y"){ |
amandarm | 26:4123b9462158 | 634 | funcao_pega1(); |
enricoan | 29:76d952358896 | 635 | wait(1); |
amandarm | 26:4123b9462158 | 636 | funcao_pega2(); |
amandarm | 26:4123b9462158 | 637 | status_tela ="inicio"; |
amandarm | 26:4123b9462158 | 638 | } |
enricoan | 28:c4733814201a | 639 | else if(tecla == 'B' && status_tela == "pos_y"){ |
amandarm | 26:4123b9462158 | 640 | funcao_pega_forma(); |
amandarm | 26:4123b9462158 | 641 | status_tela = "forma"; |
amandarm | 26:4123b9462158 | 642 | } |
Hiroball | 11:dc557e461dfd | 643 | } |
enricoan | 10:4f49e9859535 | 644 | } |