anda bastante

Dependencies:   mbed sMotor TextLCD Keypad

Committer:
chacolla
Date:
Tue Dec 11 15:43:32 2018 +0000
Revision:
0:b2e776fa7da9
anda un poco

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chacolla 0:b2e776fa7da9 1 #include "mbed.h"
chacolla 0:b2e776fa7da9 2 #include "TextLCD.h"
chacolla 0:b2e776fa7da9 3 #include "Keypad.h"
chacolla 0:b2e776fa7da9 4 #include "sMotor.h"
chacolla 0:b2e776fa7da9 5
chacolla 0:b2e776fa7da9 6
chacolla 0:b2e776fa7da9 7 enum{BIENVENIDA,hoola,hooola, SELECCIONAR,SELEC,PRESENTAR};
chacolla 0:b2e776fa7da9 8 enum LCDtype{LCD16x2};
chacolla 0:b2e776fa7da9 9
chacolla 0:b2e776fa7da9 10 Serial blue(PTE0, PTE1);
chacolla 0:b2e776fa7da9 11 Serial pc(USBTX, USBRX);
chacolla 0:b2e776fa7da9 12 TextLCD lcd (PTC12,PTC13,PTC5,PTC6,PTC10,PTC11);
chacolla 0:b2e776fa7da9 13 Keypad teclado (PTB11, PTB10, PTB9, PTB8,PTE5,PTE4,PTE3,PTE2);
chacolla 0:b2e776fa7da9 14 sMotor motor(PTB0,PTB1,PTB2,PTB3); // crea un nuevo motor paso a paso: IN1, IN2, IN3, IN4
chacolla 0:b2e776fa7da9 15
chacolla 0:b2e776fa7da9 16 Timeout temp;
chacolla 0:b2e776fa7da9 17 Timeout tiempo;
chacolla 0:b2e776fa7da9 18 DigitalOut myled(LED1);
chacolla 0:b2e776fa7da9 19 DigitalIn sensor(PTD7);
chacolla 0:b2e776fa7da9 20 DigitalOut BOMBA1 (PTC7);
chacolla 0:b2e776fa7da9 21 DigitalOut BOMBA2 (PTC0);
chacolla 0:b2e776fa7da9 22 DigitalOut BOMBA3 (PTC3);
chacolla 0:b2e776fa7da9 23 DigitalOut BOMBA4 (PTC4);
chacolla 0:b2e776fa7da9 24
chacolla 0:b2e776fa7da9 25 int step_speed = 1200 ; // establecer la velocidad del motor por defecto
chacolla 0:b2e776fa7da9 26 int numstep = 512 ; // define el giro completo de 360 ??grados
chacolla 0:b2e776fa7da9 27 int count = 0;
chacolla 0:b2e776fa7da9 28 char KEY;
chacolla 0:b2e776fa7da9 29 int estado= 0;
chacolla 0:b2e776fa7da9 30 int libre;
chacolla 0:b2e776fa7da9 31 int est =0;
chacolla 0:b2e776fa7da9 32 int seg = 0;
chacolla 0:b2e776fa7da9 33 int valor = 1;
chacolla 0:b2e776fa7da9 34 int posicion_actual= 3 ;
chacolla 0:b2e776fa7da9 35 int posicion_deseada;
chacolla 0:b2e776fa7da9 36 char serialA;
chacolla 0:b2e776fa7da9 37 char KEYS;
chacolla 0:b2e776fa7da9 38 int libres;
chacolla 0:b2e776fa7da9 39 int X=1;
chacolla 0:b2e776fa7da9 40
chacolla 0:b2e776fa7da9 41 void teclado3();
chacolla 0:b2e776fa7da9 42 void bebida1();
chacolla 0:b2e776fa7da9 43 void bebida2();
chacolla 0:b2e776fa7da9 44 void bebida3();
chacolla 0:b2e776fa7da9 45 void bebida4();
chacolla 0:b2e776fa7da9 46 void CHAU();
chacolla 0:b2e776fa7da9 47 void menu();
chacolla 0:b2e776fa7da9 48 void teclado2();
chacolla 0:b2e776fa7da9 49 void porcentaje();
chacolla 0:b2e776fa7da9 50 void opcion1();
chacolla 0:b2e776fa7da9 51 void opcion2();
chacolla 0:b2e776fa7da9 52 void opcion3();
chacolla 0:b2e776fa7da9 53 void opcion4();
chacolla 0:b2e776fa7da9 54 void precisar();
chacolla 0:b2e776fa7da9 55
chacolla 0:b2e776fa7da9 56 char rx[30];
chacolla 0:b2e776fa7da9 57 int irx = 0;
chacolla 0:b2e776fa7da9 58 int cant1, cant2, cant3, cant4, posi;
chacolla 0:b2e776fa7da9 59
chacolla 0:b2e776fa7da9 60 int bebidas;
chacolla 0:b2e776fa7da9 61 int combinaciones;
chacolla 0:b2e776fa7da9 62
chacolla 0:b2e776fa7da9 63 int centenas;
chacolla 0:b2e776fa7da9 64 int decenas;
chacolla 0:b2e776fa7da9 65 int unidades;
chacolla 0:b2e776fa7da9 66
chacolla 0:b2e776fa7da9 67
chacolla 0:b2e776fa7da9 68 int final = 0;
chacolla 0:b2e776fa7da9 69 char auxi;
chacolla 0:b2e776fa7da9 70 int main() {
chacolla 0:b2e776fa7da9 71 BOMBA1 = 0;
chacolla 0:b2e776fa7da9 72 BOMBA2 = 0;
chacolla 0:b2e776fa7da9 73 BOMBA3 = 0;
chacolla 0:b2e776fa7da9 74 BOMBA4 = 0;
chacolla 0:b2e776fa7da9 75 blue.baud(9600);
chacolla 0:b2e776fa7da9 76
chacolla 0:b2e776fa7da9 77 blue.printf("bluetooth\n");
chacolla 0:b2e776fa7da9 78 pc.printf("pc\n");
chacolla 0:b2e776fa7da9 79
chacolla 0:b2e776fa7da9 80 // while(1) {
chacolla 0:b2e776fa7da9 81
chacolla 0:b2e776fa7da9 82 //}
chacolla 0:b2e776fa7da9 83 menu();
chacolla 0:b2e776fa7da9 84
chacolla 0:b2e776fa7da9 85 while(1){
chacolla 0:b2e776fa7da9 86 valor = sensor.read();
chacolla 0:b2e776fa7da9 87
chacolla 0:b2e776fa7da9 88
chacolla 0:b2e776fa7da9 89 if(valor == 1){
chacolla 0:b2e776fa7da9 90 blue.printf("Vaso detectado\r\n");
chacolla 0:b2e776fa7da9 91
chacolla 0:b2e776fa7da9 92 }
chacolla 0:b2e776fa7da9 93 if(valor == 0){
chacolla 0:b2e776fa7da9 94 blue.printf("Vaso no detectado\r\n");
chacolla 0:b2e776fa7da9 95
chacolla 0:b2e776fa7da9 96
chacolla 0:b2e776fa7da9 97 }
chacolla 0:b2e776fa7da9 98
chacolla 0:b2e776fa7da9 99 while(1){
chacolla 0:b2e776fa7da9 100
chacolla 0:b2e776fa7da9 101 if (blue.readable()){
chacolla 0:b2e776fa7da9 102 while(1){
chacolla 0:b2e776fa7da9 103 rx[irx] = blue.getc();
chacolla 0:b2e776fa7da9 104
chacolla 0:b2e776fa7da9 105 if (rx[irx] == '+'){
chacolla 0:b2e776fa7da9 106 if (irx > 3) {
chacolla 0:b2e776fa7da9 107 posi = (rx[1]);
chacolla 0:b2e776fa7da9 108 cant1 = (rx[2] - 0x30) * 10 + rx[3] - 0x30;
chacolla 0:b2e776fa7da9 109 cant2 = (rx[4] - 0x30) * 10 + rx[5] - 0x30;
chacolla 0:b2e776fa7da9 110 } else {
chacolla 0:b2e776fa7da9 111 posi = (rx[1]);
chacolla 0:b2e776fa7da9 112 cant1 = (rx[2] - 0x30) * 10 + rx[3] - 0x30;
chacolla 0:b2e776fa7da9 113 cant2 = 0;
chacolla 0:b2e776fa7da9 114 }
chacolla 0:b2e776fa7da9 115
chacolla 0:b2e776fa7da9 116 for(int i = 0; i < 10;i++){
chacolla 0:b2e776fa7da9 117 pc.printf("%02x ", rx[i]);
chacolla 0:b2e776fa7da9 118 }
chacolla 0:b2e776fa7da9 119 pc.printf("\n");
chacolla 0:b2e776fa7da9 120
chacolla 0:b2e776fa7da9 121 irx = 0;
chacolla 0:b2e776fa7da9 122
chacolla 0:b2e776fa7da9 123 auxi = blue.getc();
chacolla 0:b2e776fa7da9 124
chacolla 0:b2e776fa7da9 125 break;
chacolla 0:b2e776fa7da9 126
chacolla 0:b2e776fa7da9 127 } else {
chacolla 0:b2e776fa7da9 128 irx++;
chacolla 0:b2e776fa7da9 129 }
chacolla 0:b2e776fa7da9 130 } }
chacolla 0:b2e776fa7da9 131
chacolla 0:b2e776fa7da9 132 teclado2();
chacolla 0:b2e776fa7da9 133
chacolla 0:b2e776fa7da9 134 pc.printf("---> %c %d %d \n", posi, cant1, cant2);
chacolla 0:b2e776fa7da9 135
chacolla 0:b2e776fa7da9 136 switch(KEY ){
chacolla 0:b2e776fa7da9 137 case '6':
chacolla 0:b2e776fa7da9 138 bebida1();
chacolla 0:b2e776fa7da9 139 porcentaje();
chacolla 0:b2e776fa7da9 140 X=1;
chacolla 0:b2e776fa7da9 141 bebida2();
chacolla 0:b2e776fa7da9 142 porcentaje();
chacolla 0:b2e776fa7da9 143 precisar();
chacolla 0:b2e776fa7da9 144 X=1;
chacolla 0:b2e776fa7da9 145 break;
chacolla 0:b2e776fa7da9 146 case '7':
chacolla 0:b2e776fa7da9 147 bebida2();
chacolla 0:b2e776fa7da9 148 porcentaje();
chacolla 0:b2e776fa7da9 149 X=1;
chacolla 0:b2e776fa7da9 150 bebida3();
chacolla 0:b2e776fa7da9 151 porcentaje();
chacolla 0:b2e776fa7da9 152 precisar();
chacolla 0:b2e776fa7da9 153 X=1;
chacolla 0:b2e776fa7da9 154 break;
chacolla 0:b2e776fa7da9 155 case '8':
chacolla 0:b2e776fa7da9 156 bebida4();
chacolla 0:b2e776fa7da9 157 porcentaje();
chacolla 0:b2e776fa7da9 158 X=1;
chacolla 0:b2e776fa7da9 159 bebida3();
chacolla 0:b2e776fa7da9 160 porcentaje();
chacolla 0:b2e776fa7da9 161 precisar();
chacolla 0:b2e776fa7da9 162 X=1;
chacolla 0:b2e776fa7da9 163 break;
chacolla 0:b2e776fa7da9 164 case '9':
chacolla 0:b2e776fa7da9 165 bebida4();
chacolla 0:b2e776fa7da9 166 porcentaje();
chacolla 0:b2e776fa7da9 167 X=1;
chacolla 0:b2e776fa7da9 168 bebida1();
chacolla 0:b2e776fa7da9 169 porcentaje();
chacolla 0:b2e776fa7da9 170 precisar();
chacolla 0:b2e776fa7da9 171 X=1;
chacolla 0:b2e776fa7da9 172 break;
chacolla 0:b2e776fa7da9 173 case '5':
chacolla 0:b2e776fa7da9 174 CHAU ();
chacolla 0:b2e776fa7da9 175
chacolla 0:b2e776fa7da9 176 break;
chacolla 0:b2e776fa7da9 177 case '1':
chacolla 0:b2e776fa7da9 178 bebida1();
chacolla 0:b2e776fa7da9 179 porcentaje();
chacolla 0:b2e776fa7da9 180 precisar();
chacolla 0:b2e776fa7da9 181 X=1;
chacolla 0:b2e776fa7da9 182 break;
chacolla 0:b2e776fa7da9 183
chacolla 0:b2e776fa7da9 184 case '2':
chacolla 0:b2e776fa7da9 185 bebida2();
chacolla 0:b2e776fa7da9 186 porcentaje();
chacolla 0:b2e776fa7da9 187 precisar();
chacolla 0:b2e776fa7da9 188 X=1;
chacolla 0:b2e776fa7da9 189 break;
chacolla 0:b2e776fa7da9 190
chacolla 0:b2e776fa7da9 191 case '3':
chacolla 0:b2e776fa7da9 192 bebida3();
chacolla 0:b2e776fa7da9 193 porcentaje();
chacolla 0:b2e776fa7da9 194 precisar();
chacolla 0:b2e776fa7da9 195 X=1;
chacolla 0:b2e776fa7da9 196 break;
chacolla 0:b2e776fa7da9 197
chacolla 0:b2e776fa7da9 198 case '4':
chacolla 0:b2e776fa7da9 199 bebida4();
chacolla 0:b2e776fa7da9 200 porcentaje();
chacolla 0:b2e776fa7da9 201 precisar();
chacolla 0:b2e776fa7da9 202 X=1;
chacolla 0:b2e776fa7da9 203 break;
chacolla 0:b2e776fa7da9 204
chacolla 0:b2e776fa7da9 205
chacolla 0:b2e776fa7da9 206 }
chacolla 0:b2e776fa7da9 207
chacolla 0:b2e776fa7da9 208 switch(posi){
chacolla 0:b2e776fa7da9 209 case '6':
chacolla 0:b2e776fa7da9 210 bebida1();
chacolla 0:b2e776fa7da9 211 porcentaje();
chacolla 0:b2e776fa7da9 212 bebida2();
chacolla 0:b2e776fa7da9 213 porcentaje();
chacolla 0:b2e776fa7da9 214 precisar();
chacolla 0:b2e776fa7da9 215 break;
chacolla 0:b2e776fa7da9 216 case '7':
chacolla 0:b2e776fa7da9 217 bebida2();
chacolla 0:b2e776fa7da9 218 porcentaje();
chacolla 0:b2e776fa7da9 219 bebida3();
chacolla 0:b2e776fa7da9 220 porcentaje();
chacolla 0:b2e776fa7da9 221 precisar();
chacolla 0:b2e776fa7da9 222 break;
chacolla 0:b2e776fa7da9 223 case '8':
chacolla 0:b2e776fa7da9 224 bebida4();
chacolla 0:b2e776fa7da9 225 porcentaje();
chacolla 0:b2e776fa7da9 226 bebida3();
chacolla 0:b2e776fa7da9 227 porcentaje();
chacolla 0:b2e776fa7da9 228 precisar();
chacolla 0:b2e776fa7da9 229 break;
chacolla 0:b2e776fa7da9 230 case '9':
chacolla 0:b2e776fa7da9 231 bebida4();
chacolla 0:b2e776fa7da9 232 porcentaje();
chacolla 0:b2e776fa7da9 233 bebida1();
chacolla 0:b2e776fa7da9 234 porcentaje();
chacolla 0:b2e776fa7da9 235 precisar();
chacolla 0:b2e776fa7da9 236 break;
chacolla 0:b2e776fa7da9 237 case '5':
chacolla 0:b2e776fa7da9 238 CHAU ();
chacolla 0:b2e776fa7da9 239
chacolla 0:b2e776fa7da9 240 break;
chacolla 0:b2e776fa7da9 241 case '1':
chacolla 0:b2e776fa7da9 242 pc.printf("kllkkjkguyjh\n");
chacolla 0:b2e776fa7da9 243 bebida1();
chacolla 0:b2e776fa7da9 244 porcentaje();
chacolla 0:b2e776fa7da9 245 precisar();
chacolla 0:b2e776fa7da9 246 break;
chacolla 0:b2e776fa7da9 247
chacolla 0:b2e776fa7da9 248 case '2':
chacolla 0:b2e776fa7da9 249 bebida2();
chacolla 0:b2e776fa7da9 250 porcentaje();
chacolla 0:b2e776fa7da9 251 precisar();
chacolla 0:b2e776fa7da9 252 break;
chacolla 0:b2e776fa7da9 253
chacolla 0:b2e776fa7da9 254 case '3':
chacolla 0:b2e776fa7da9 255 bebida3();
chacolla 0:b2e776fa7da9 256 porcentaje();
chacolla 0:b2e776fa7da9 257 precisar();
chacolla 0:b2e776fa7da9 258 break;
chacolla 0:b2e776fa7da9 259
chacolla 0:b2e776fa7da9 260 case '4':
chacolla 0:b2e776fa7da9 261 bebida4();
chacolla 0:b2e776fa7da9 262 porcentaje();
chacolla 0:b2e776fa7da9 263 precisar();
chacolla 0:b2e776fa7da9 264 break;
chacolla 0:b2e776fa7da9 265
chacolla 0:b2e776fa7da9 266 }
chacolla 0:b2e776fa7da9 267 posi = 0;
chacolla 0:b2e776fa7da9 268 }
chacolla 0:b2e776fa7da9 269 }}
chacolla 0:b2e776fa7da9 270 void menu(){
chacolla 0:b2e776fa7da9 271 switch(estado){
chacolla 0:b2e776fa7da9 272 case BIENVENIDA :
chacolla 0:b2e776fa7da9 273 lcd.printf("bienvenido a la mezcladora");
chacolla 0:b2e776fa7da9 274 tiempo.attach(&menu, 4);
chacolla 0:b2e776fa7da9 275 estado= PRESENTAR;
chacolla 0:b2e776fa7da9 276 break;
chacolla 0:b2e776fa7da9 277 case PRESENTAR:
chacolla 0:b2e776fa7da9 278 lcd.cls();
chacolla 0:b2e776fa7da9 279 lcd.locate(0,0);
chacolla 0:b2e776fa7da9 280 lcd.printf("Aca te presento mi menu");
chacolla 0:b2e776fa7da9 281 tiempo.attach(&menu, 3);
chacolla 0:b2e776fa7da9 282 estado = SELECCIONAR;
chacolla 0:b2e776fa7da9 283 break;
chacolla 0:b2e776fa7da9 284 case SELECCIONAR:
chacolla 0:b2e776fa7da9 285 lcd.cls();
chacolla 0:b2e776fa7da9 286 lcd.printf("COMB1 COMB2COMB3 COMB4");
chacolla 0:b2e776fa7da9 287 tiempo.attach(&menu, 3);
chacolla 0:b2e776fa7da9 288 estado = SELEC;
chacolla 0:b2e776fa7da9 289 break;
chacolla 0:b2e776fa7da9 290
chacolla 0:b2e776fa7da9 291 case SELEC:
chacolla 0:b2e776fa7da9 292 lcd.cls();
chacolla 0:b2e776fa7da9 293 lcd.printf("NARANJA PERA MANGO MANZANA");
chacolla 0:b2e776fa7da9 294 break;
chacolla 0:b2e776fa7da9 295 }
chacolla 0:b2e776fa7da9 296 }
chacolla 0:b2e776fa7da9 297
chacolla 0:b2e776fa7da9 298 void porcentaje(){
chacolla 0:b2e776fa7da9 299 if (cant1 == 0) {
chacolla 0:b2e776fa7da9 300 lcd.cls();
chacolla 0:b2e776fa7da9 301
chacolla 0:b2e776fa7da9 302 lcd.printf("selecciona su porcentaje");
chacolla 0:b2e776fa7da9 303 wait(2);
chacolla 0:b2e776fa7da9 304 lcd.cls();
chacolla 0:b2e776fa7da9 305
chacolla 0:b2e776fa7da9 306 lcd.printf("10a24 25a45 46a65 66a80 ");
chacolla 0:b2e776fa7da9 307
chacolla 0:b2e776fa7da9 308 while(X==1){
chacolla 0:b2e776fa7da9 309 teclado3();
chacolla 0:b2e776fa7da9 310 switch(KEYS){
chacolla 0:b2e776fa7da9 311 case 'A':
chacolla 0:b2e776fa7da9 312 opcion1();
chacolla 0:b2e776fa7da9 313 break;
chacolla 0:b2e776fa7da9 314 case 'B':
chacolla 0:b2e776fa7da9 315 opcion2();
chacolla 0:b2e776fa7da9 316 break;
chacolla 0:b2e776fa7da9 317 case 'C':
chacolla 0:b2e776fa7da9 318 opcion3();
chacolla 0:b2e776fa7da9 319 break;
chacolla 0:b2e776fa7da9 320 case 'D':
chacolla 0:b2e776fa7da9 321 opcion4();
chacolla 0:b2e776fa7da9 322 break;
chacolla 0:b2e776fa7da9 323
chacolla 0:b2e776fa7da9 324 }
chacolla 0:b2e776fa7da9 325
chacolla 0:b2e776fa7da9 326 }
chacolla 0:b2e776fa7da9 327 } else {
chacolla 0:b2e776fa7da9 328 pc.printf("bt \n");
chacolla 0:b2e776fa7da9 329 if (cant1 < 24) {
chacolla 0:b2e776fa7da9 330 opcion1();
chacolla 0:b2e776fa7da9 331 } else if (cant1 < 46){
chacolla 0:b2e776fa7da9 332 opcion2();
chacolla 0:b2e776fa7da9 333 } else if (cant1 < 66){
chacolla 0:b2e776fa7da9 334 opcion3();
chacolla 0:b2e776fa7da9 335 } else {
chacolla 0:b2e776fa7da9 336 opcion4();
chacolla 0:b2e776fa7da9 337 }
chacolla 0:b2e776fa7da9 338 }
chacolla 0:b2e776fa7da9 339 }
chacolla 0:b2e776fa7da9 340
chacolla 0:b2e776fa7da9 341 void precisar(){
chacolla 0:b2e776fa7da9 342 lcd.cls();
chacolla 0:b2e776fa7da9 343 lcd.printf("precisas otra comb o bebida");
chacolla 0:b2e776fa7da9 344 wait(2);
chacolla 0:b2e776fa7da9 345 lcd.cls();
chacolla 0:b2e776fa7da9 346 lcd.printf("COMB1 COMB2COMB3 COMB4");
chacolla 0:b2e776fa7da9 347 wait(2);
chacolla 0:b2e776fa7da9 348 lcd.printf("NARANJA PERA MANGO MANZANA");
chacolla 0:b2e776fa7da9 349 }
chacolla 0:b2e776fa7da9 350
chacolla 0:b2e776fa7da9 351 void opcion1(){
chacolla 0:b2e776fa7da9 352 if(posicion_actual ==1){
chacolla 0:b2e776fa7da9 353 lcd.cls();
chacolla 0:b2e776fa7da9 354 lcd.printf("sirviendo naranja ");
chacolla 0:b2e776fa7da9 355 BOMBA2 = 1;
chacolla 0:b2e776fa7da9 356 wait(1);
chacolla 0:b2e776fa7da9 357 BOMBA2 =0;
chacolla 0:b2e776fa7da9 358 wait(2);
chacolla 0:b2e776fa7da9 359
chacolla 0:b2e776fa7da9 360 }
chacolla 0:b2e776fa7da9 361 if(posicion_actual ==2){
chacolla 0:b2e776fa7da9 362 lcd.cls();
chacolla 0:b2e776fa7da9 363 lcd.printf("sirviendo pera");
chacolla 0:b2e776fa7da9 364 BOMBA1= 1;
chacolla 0:b2e776fa7da9 365 wait(1);
chacolla 0:b2e776fa7da9 366 BOMBA1=0;
chacolla 0:b2e776fa7da9 367 wait(2);
chacolla 0:b2e776fa7da9 368
chacolla 0:b2e776fa7da9 369 }
chacolla 0:b2e776fa7da9 370 if(posicion_actual ==3){
chacolla 0:b2e776fa7da9 371 lcd.cls();
chacolla 0:b2e776fa7da9 372 lcd.printf("sirviendo mango ");
chacolla 0:b2e776fa7da9 373 BOMBA3= 1;
chacolla 0:b2e776fa7da9 374 wait(1);
chacolla 0:b2e776fa7da9 375 BOMBA3 =0;
chacolla 0:b2e776fa7da9 376 wait(2);
chacolla 0:b2e776fa7da9 377
chacolla 0:b2e776fa7da9 378 }
chacolla 0:b2e776fa7da9 379 if(posicion_actual ==4){
chacolla 0:b2e776fa7da9 380 lcd.cls();
chacolla 0:b2e776fa7da9 381 lcd.printf("sirviendo manzana ");
chacolla 0:b2e776fa7da9 382 BOMBA4 = 1;
chacolla 0:b2e776fa7da9 383 wait(1);
chacolla 0:b2e776fa7da9 384 BOMBA4 =0;
chacolla 0:b2e776fa7da9 385 wait(2);
chacolla 0:b2e776fa7da9 386 }
chacolla 0:b2e776fa7da9 387 X = 0;
chacolla 0:b2e776fa7da9 388 }
chacolla 0:b2e776fa7da9 389 void opcion2(){
chacolla 0:b2e776fa7da9 390 if(posicion_actual ==1){
chacolla 0:b2e776fa7da9 391 lcd.cls();
chacolla 0:b2e776fa7da9 392 lcd.printf("sirviendo naranja ");
chacolla 0:b2e776fa7da9 393 BOMBA2 = 1;
chacolla 0:b2e776fa7da9 394 wait(1.5);
chacolla 0:b2e776fa7da9 395 BOMBA2 =0;
chacolla 0:b2e776fa7da9 396 wait(2);
chacolla 0:b2e776fa7da9 397
chacolla 0:b2e776fa7da9 398 }
chacolla 0:b2e776fa7da9 399 if(posicion_actual ==2){
chacolla 0:b2e776fa7da9 400 lcd.cls();
chacolla 0:b2e776fa7da9 401 lcd.printf("sirviendo pera");
chacolla 0:b2e776fa7da9 402 BOMBA1= 1;
chacolla 0:b2e776fa7da9 403 wait(1.5);
chacolla 0:b2e776fa7da9 404 BOMBA1=0;
chacolla 0:b2e776fa7da9 405 wait(2);
chacolla 0:b2e776fa7da9 406
chacolla 0:b2e776fa7da9 407 }
chacolla 0:b2e776fa7da9 408 if(posicion_actual ==3){
chacolla 0:b2e776fa7da9 409 lcd.cls();
chacolla 0:b2e776fa7da9 410 lcd.printf("sirviendo mango ");
chacolla 0:b2e776fa7da9 411 BOMBA3= 1;
chacolla 0:b2e776fa7da9 412 wait(1.5);
chacolla 0:b2e776fa7da9 413 BOMBA3 =0;
chacolla 0:b2e776fa7da9 414 wait(2);
chacolla 0:b2e776fa7da9 415
chacolla 0:b2e776fa7da9 416 }
chacolla 0:b2e776fa7da9 417 if(posicion_actual ==4){
chacolla 0:b2e776fa7da9 418 lcd.cls();
chacolla 0:b2e776fa7da9 419 lcd.printf("sirviendo manzana ");
chacolla 0:b2e776fa7da9 420 BOMBA4 = 1;
chacolla 0:b2e776fa7da9 421 wait(1.5);
chacolla 0:b2e776fa7da9 422 BOMBA4 =0;
chacolla 0:b2e776fa7da9 423 wait(2);
chacolla 0:b2e776fa7da9 424 }
chacolla 0:b2e776fa7da9 425 X=0;
chacolla 0:b2e776fa7da9 426 }
chacolla 0:b2e776fa7da9 427 void opcion3(){
chacolla 0:b2e776fa7da9 428 if(posicion_actual ==1){
chacolla 0:b2e776fa7da9 429 lcd.cls();
chacolla 0:b2e776fa7da9 430 lcd.printf("sirviendo naranja ");
chacolla 0:b2e776fa7da9 431 BOMBA2 = 1;
chacolla 0:b2e776fa7da9 432 wait(2);
chacolla 0:b2e776fa7da9 433 BOMBA2 =0;
chacolla 0:b2e776fa7da9 434 wait(2);
chacolla 0:b2e776fa7da9 435
chacolla 0:b2e776fa7da9 436 }
chacolla 0:b2e776fa7da9 437 if(posicion_actual ==2){
chacolla 0:b2e776fa7da9 438 lcd.cls();
chacolla 0:b2e776fa7da9 439 lcd.printf("sirviendo pera");
chacolla 0:b2e776fa7da9 440 BOMBA1= 1;
chacolla 0:b2e776fa7da9 441 wait(2);
chacolla 0:b2e776fa7da9 442 BOMBA1=0;
chacolla 0:b2e776fa7da9 443 wait(2);
chacolla 0:b2e776fa7da9 444
chacolla 0:b2e776fa7da9 445 }
chacolla 0:b2e776fa7da9 446 if(posicion_actual ==3){
chacolla 0:b2e776fa7da9 447 lcd.cls();
chacolla 0:b2e776fa7da9 448 lcd.printf("sirviendo mango ");
chacolla 0:b2e776fa7da9 449 BOMBA3= 1;
chacolla 0:b2e776fa7da9 450 wait(2);
chacolla 0:b2e776fa7da9 451 BOMBA3 =0;
chacolla 0:b2e776fa7da9 452 wait(2);
chacolla 0:b2e776fa7da9 453
chacolla 0:b2e776fa7da9 454 }
chacolla 0:b2e776fa7da9 455 if(posicion_actual ==4){
chacolla 0:b2e776fa7da9 456 lcd.cls();
chacolla 0:b2e776fa7da9 457 lcd.printf("sirviendo manzana ");
chacolla 0:b2e776fa7da9 458 BOMBA4 = 1;
chacolla 0:b2e776fa7da9 459 wait(2);
chacolla 0:b2e776fa7da9 460 BOMBA4 =0;
chacolla 0:b2e776fa7da9 461 wait(2);
chacolla 0:b2e776fa7da9 462 }
chacolla 0:b2e776fa7da9 463 X=0;
chacolla 0:b2e776fa7da9 464 }
chacolla 0:b2e776fa7da9 465 void opcion4(){
chacolla 0:b2e776fa7da9 466 if(posicion_actual ==1){
chacolla 0:b2e776fa7da9 467 lcd.cls();
chacolla 0:b2e776fa7da9 468 lcd.printf("sirviendo naranja ");
chacolla 0:b2e776fa7da9 469 BOMBA2 = 1;
chacolla 0:b2e776fa7da9 470 wait(2.5);
chacolla 0:b2e776fa7da9 471 BOMBA2 =0;
chacolla 0:b2e776fa7da9 472 wait(2);
chacolla 0:b2e776fa7da9 473 }
chacolla 0:b2e776fa7da9 474 if(posicion_actual ==2){
chacolla 0:b2e776fa7da9 475 lcd.cls();
chacolla 0:b2e776fa7da9 476 lcd.printf("sirviendo pera");
chacolla 0:b2e776fa7da9 477 BOMBA1= 1;
chacolla 0:b2e776fa7da9 478 wait(2.5);
chacolla 0:b2e776fa7da9 479 BOMBA1=0;
chacolla 0:b2e776fa7da9 480 wait(2);
chacolla 0:b2e776fa7da9 481 }
chacolla 0:b2e776fa7da9 482 if(posicion_actual ==3){
chacolla 0:b2e776fa7da9 483 lcd.cls();
chacolla 0:b2e776fa7da9 484 lcd.printf("sirviendo mango ");
chacolla 0:b2e776fa7da9 485 BOMBA3= 1;
chacolla 0:b2e776fa7da9 486 wait(2.5);
chacolla 0:b2e776fa7da9 487 BOMBA3 =0;
chacolla 0:b2e776fa7da9 488 wait(2);
chacolla 0:b2e776fa7da9 489 }
chacolla 0:b2e776fa7da9 490 if(posicion_actual ==4){
chacolla 0:b2e776fa7da9 491 lcd.cls();
chacolla 0:b2e776fa7da9 492 lcd.printf("sirviendo manzana ");
chacolla 0:b2e776fa7da9 493 BOMBA4 = 1;
chacolla 0:b2e776fa7da9 494 wait(2.5);
chacolla 0:b2e776fa7da9 495 BOMBA4 =0;
chacolla 0:b2e776fa7da9 496 wait(2);
chacolla 0:b2e776fa7da9 497 }
chacolla 0:b2e776fa7da9 498 X=0;
chacolla 0:b2e776fa7da9 499 }
chacolla 0:b2e776fa7da9 500 void bebida1(){
chacolla 0:b2e776fa7da9 501 pc.printf("uno\n");
chacolla 0:b2e776fa7da9 502
chacolla 0:b2e776fa7da9 503 lcd.cls();
chacolla 0:b2e776fa7da9 504 posicion_deseada = 1;
chacolla 0:b2e776fa7da9 505 if(posicion_actual != posicion_deseada){
chacolla 0:b2e776fa7da9 506 if(valor == 1){
chacolla 0:b2e776fa7da9 507 while(posicion_deseada > posicion_actual){
chacolla 0:b2e776fa7da9 508 motor.step(numstep/4,0,step_speed);
chacolla 0:b2e776fa7da9 509 posicion_actual++;
chacolla 0:b2e776fa7da9 510 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 511 }
chacolla 0:b2e776fa7da9 512 while(posicion_deseada < posicion_actual){
chacolla 0:b2e776fa7da9 513 motor.step(numstep/4,1,step_speed);
chacolla 0:b2e776fa7da9 514 posicion_actual--;
chacolla 0:b2e776fa7da9 515 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 516 }
chacolla 0:b2e776fa7da9 517 if(posicion_deseada == posicion_actual){
chacolla 0:b2e776fa7da9 518 lcd.cls();
chacolla 0:b2e776fa7da9 519 lcd.printf("ya estoy en la posicion elegido");
chacolla 0:b2e776fa7da9 520 wait(2);
chacolla 0:b2e776fa7da9 521 }
chacolla 0:b2e776fa7da9 522 }
chacolla 0:b2e776fa7da9 523 }
chacolla 0:b2e776fa7da9 524 }
chacolla 0:b2e776fa7da9 525 void bebida2(){
chacolla 0:b2e776fa7da9 526 lcd.cls();
chacolla 0:b2e776fa7da9 527 posicion_deseada = 2;
chacolla 0:b2e776fa7da9 528 if(posicion_actual != posicion_deseada) {
chacolla 0:b2e776fa7da9 529 if(valor == 1){
chacolla 0:b2e776fa7da9 530 while(posicion_deseada > posicion_actual){
chacolla 0:b2e776fa7da9 531 motor.step(numstep/4,0,step_speed);
chacolla 0:b2e776fa7da9 532 posicion_actual++;
chacolla 0:b2e776fa7da9 533 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 534 }
chacolla 0:b2e776fa7da9 535 while(posicion_deseada < posicion_actual){
chacolla 0:b2e776fa7da9 536 motor.step(numstep/4,1,step_speed);
chacolla 0:b2e776fa7da9 537 posicion_actual--;
chacolla 0:b2e776fa7da9 538 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 539 }
chacolla 0:b2e776fa7da9 540 if(posicion_deseada == posicion_actual){
chacolla 0:b2e776fa7da9 541 lcd.cls();
chacolla 0:b2e776fa7da9 542 lcd.printf("ya estoy en la posicion elegido");
chacolla 0:b2e776fa7da9 543 wait(2);
chacolla 0:b2e776fa7da9 544 }
chacolla 0:b2e776fa7da9 545 }
chacolla 0:b2e776fa7da9 546 }
chacolla 0:b2e776fa7da9 547 }
chacolla 0:b2e776fa7da9 548 void bebida3(){
chacolla 0:b2e776fa7da9 549 lcd.cls();
chacolla 0:b2e776fa7da9 550 posicion_deseada = 3;
chacolla 0:b2e776fa7da9 551 if(posicion_actual != posicion_deseada){
chacolla 0:b2e776fa7da9 552 if(valor == 1){
chacolla 0:b2e776fa7da9 553 while(posicion_deseada > posicion_actual){
chacolla 0:b2e776fa7da9 554 motor.step(numstep/4,0,step_speed);
chacolla 0:b2e776fa7da9 555 posicion_actual++;
chacolla 0:b2e776fa7da9 556 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 557 }
chacolla 0:b2e776fa7da9 558 while(posicion_deseada < posicion_actual){
chacolla 0:b2e776fa7da9 559 motor.step(numstep/4,1,step_speed);
chacolla 0:b2e776fa7da9 560 posicion_actual--;
chacolla 0:b2e776fa7da9 561 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 562 }
chacolla 0:b2e776fa7da9 563 if(posicion_deseada == posicion_actual){
chacolla 0:b2e776fa7da9 564 lcd.cls();
chacolla 0:b2e776fa7da9 565 lcd.printf("ya estoy en la posicion elegido");
chacolla 0:b2e776fa7da9 566 wait(2);
chacolla 0:b2e776fa7da9 567 }
chacolla 0:b2e776fa7da9 568 }
chacolla 0:b2e776fa7da9 569 }
chacolla 0:b2e776fa7da9 570 }
chacolla 0:b2e776fa7da9 571 void bebida4(){
chacolla 0:b2e776fa7da9 572 lcd.cls();
chacolla 0:b2e776fa7da9 573 posicion_deseada = 4;
chacolla 0:b2e776fa7da9 574 if(posicion_actual != posicion_deseada) {
chacolla 0:b2e776fa7da9 575 if(valor == 1){
chacolla 0:b2e776fa7da9 576 while(posicion_deseada > posicion_actual){
chacolla 0:b2e776fa7da9 577 motor.step(numstep/4,0,step_speed);
chacolla 0:b2e776fa7da9 578 posicion_actual++;
chacolla 0:b2e776fa7da9 579 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 580 }
chacolla 0:b2e776fa7da9 581 while(posicion_deseada < posicion_actual){
chacolla 0:b2e776fa7da9 582 motor.step(numstep/4,1,step_speed);
chacolla 0:b2e776fa7da9 583 posicion_actual--;
chacolla 0:b2e776fa7da9 584 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 585 }
chacolla 0:b2e776fa7da9 586 if(posicion_deseada == posicion_actual){
chacolla 0:b2e776fa7da9 587 lcd.cls();
chacolla 0:b2e776fa7da9 588 lcd.printf("ya estoy en la posicion elegido");
chacolla 0:b2e776fa7da9 589 wait(2);
chacolla 0:b2e776fa7da9 590 }
chacolla 0:b2e776fa7da9 591 }
chacolla 0:b2e776fa7da9 592 }
chacolla 0:b2e776fa7da9 593 }
chacolla 0:b2e776fa7da9 594 void CHAU(){
chacolla 0:b2e776fa7da9 595 posicion_deseada= 3;
chacolla 0:b2e776fa7da9 596 if(posicion_actual != posicion_deseada){
chacolla 0:b2e776fa7da9 597 if(valor == 1){
chacolla 0:b2e776fa7da9 598 while(posicion_deseada > posicion_actual){
chacolla 0:b2e776fa7da9 599 motor.step(numstep/4,0,step_speed);
chacolla 0:b2e776fa7da9 600 posicion_actual++;
chacolla 0:b2e776fa7da9 601 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 602 }
chacolla 0:b2e776fa7da9 603 while(posicion_deseada < posicion_actual){
chacolla 0:b2e776fa7da9 604 motor.step(numstep/4,1,step_speed);
chacolla 0:b2e776fa7da9 605 posicion_actual--;
chacolla 0:b2e776fa7da9 606 lcd.printf(" girando el portavaso ");
chacolla 0:b2e776fa7da9 607 }
chacolla 0:b2e776fa7da9 608 if(posicion_deseada == posicion_actual){
chacolla 0:b2e776fa7da9 609 lcd.cls();
chacolla 0:b2e776fa7da9 610 lcd.printf("gracias por su visita :D");
chacolla 0:b2e776fa7da9 611 wait(3);
chacolla 0:b2e776fa7da9 612 menu();
chacolla 0:b2e776fa7da9 613 }
chacolla 0:b2e776fa7da9 614 }
chacolla 0:b2e776fa7da9 615 }
chacolla 0:b2e776fa7da9 616 }
chacolla 0:b2e776fa7da9 617 void teclado3(){
chacolla 0:b2e776fa7da9 618 KEYS = teclado.ReadKey(); //empieza a leer cuando se presiona una tecla actual del teclado matricial en la cual se guarda en la variante KEY(clave)
chacolla 0:b2e776fa7da9 619
chacolla 0:b2e776fa7da9 620 if(KEYS == '\0')
chacolla 0:b2e776fa7da9 621 libres = 1; //se establece el indicador cuando se liberan todas las teclas
chacolla 0:b2e776fa7da9 622
chacolla 0:b2e776fa7da9 623 if((KEYS != '\0') && (libres == 1)){ //Si se pulsa una tecla de la matrix y se suelta la tecla anterior, se va cumplir la condicion
chacolla 0:b2e776fa7da9 624 lcd.printf("%c",KEYS);
chacolla 0:b2e776fa7da9 625 libres = 0; // es para salir del ciclo para volver al inicio de la funcion del teclado
chacolla 0:b2e776fa7da9 626 }
chacolla 0:b2e776fa7da9 627 }
chacolla 0:b2e776fa7da9 628 void teclado2(){
chacolla 0:b2e776fa7da9 629 KEY = teclado.ReadKey(); //empieza a leer cuando se presiona una tecla actual del teclado matricial en la cual se guarda en la variante KEY(clave)
chacolla 0:b2e776fa7da9 630
chacolla 0:b2e776fa7da9 631 if(KEY == '\0')
chacolla 0:b2e776fa7da9 632 libre = 1; //se establece el indicador cuando se liberan todas las teclas
chacolla 0:b2e776fa7da9 633
chacolla 0:b2e776fa7da9 634 if((KEY != '\0') && (libre == 1)){ //Si se pulsa una tecla de la matrix y se suelta la tecla anterior, se va cumplir la condicion
chacolla 0:b2e776fa7da9 635 lcd.printf("%c",KEY);
chacolla 0:b2e776fa7da9 636 libre = 0; // es para salir del ciclo para volver al inicio de la funcion del teclado
chacolla 0:b2e776fa7da9 637 }
chacolla 0:b2e776fa7da9 638 }