BarBot
A cocktail machine that makes precise drinks.
Components and supplies
1
Arduino UNO
Project description
Code
Arduino Uno code
arduino
1#include <LiquidCrystal_I2C.h> 2#include <Wire.h> 3#include <SoftwareSerial.h> 4 5 6//defining the pins used for each drink, you can changes this depending how you connect the pumps and the drinks. 7 8int Vodka = A0; 9int Moonshine = A2; 10int Whiskey = 12; 11int Rum = 10; 12int Sprite = 8; 13int Coke = 6; 14int Coffee = 4; 15int Tonic = 2; 16 17 18int state = 0; 19int oz = 1700; 20 21LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display 22 23 24void setup() 25{ 26 27 Serial.begin(9600); 28 lcd.init(); //initialize the lcd 29 lcd.backlight(); //open the backlight 30 lcd.clear(); 31 lcd.print("Starting up"); 32 33 // Set pins to output pins to drive the relay boards and motors 34 pinMode(2, OUTPUT); 35 pinMode(3, OUTPUT); 36 pinMode(4, OUTPUT); 37 pinMode(5, OUTPUT); 38 pinMode(6, OUTPUT); 39 pinMode(7, OUTPUT); 40 pinMode(8, OUTPUT); 41 pinMode(9, OUTPUT); 42 pinMode(10, OUTPUT); 43 pinMode(11, OUTPUT); 44 pinMode(12, OUTPUT); 45 pinMode(13, OUTPUT); 46 pinMode(A0, OUTPUT); 47 pinMode(A1, OUTPUT); 48 pinMode(A2, OUTPUT); 49 pinMode(A3, OUTPUT); 50 51 52 digitalWrite(2,LOW); 53 digitalWrite(3,LOW); 54 digitalWrite(4,LOW); 55 digitalWrite(5,LOW); 56 digitalWrite(6,LOW); 57 digitalWrite(7,LOW); 58 digitalWrite(8,LOW); 59 digitalWrite(9,LOW); 60 digitalWrite(10,LOW); 61 digitalWrite(11,LOW); 62 digitalWrite(12,LOW); 63 digitalWrite(13,LOW); 64 digitalWrite(A0,LOW); 65 digitalWrite(A1,LOW); 66 digitalWrite(A2,LOW); 67 digitalWrite(A3,LOW); 68 69 delay(5000); 70 lcd.clear(); 71 lcd.print("Ready"); 72 73} 74 75void loop() 76 77{ 78if(Serial.available() > 0){ // Checks whether data is comming from the serial port 79 state = Serial.read(); // Reads the data from the serial port 80 Serial.println(state); 81} 82 83 84 85if (state == '1') { 86 state = 0; 87 lcd.clear(); 88 lcd.println("Cleaning "); 89 delay(1000); 90 digitalWrite(Rum, HIGH); 91 delay(3 * oz); 92 digitalWrite(Rum, LOW); 93 delay(1000); 94 digitalWrite(Vodka, HIGH); 95 delay(3 * oz); 96 digitalWrite(Vodka, LOW); 97 delay(1000); 98 digitalWrite(Moonshine, HIGH); 99 delay(3 * oz); 100 digitalWrite(Moonshine, LOW); 101 delay(1000); 102 digitalWrite(Whiskey, HIGH); 103 delay(3 * oz); 104 digitalWrite(Whiskey, LOW); 105 delay(1000); 106 digitalWrite(Sprite, HIGH); 107 delay(3 * oz); 108 digitalWrite(Sprite, LOW); 109 delay(1000); 110 digitalWrite(Coke, HIGH); 111 delay(3 * oz); 112 digitalWrite(Coke, LOW); 113 delay(1000); 114 digitalWrite(Coffee, HIGH); 115 delay(3 * oz); 116 digitalWrite(Coffee, LOW); 117 delay(1000); 118 digitalWrite(Tonic, HIGH); 119 delay(3 * oz); 120 digitalWrite(Tonic, LOW); 121 delay(1000); 122 state = 0; 123 lcd.clear(); 124 lcd.println("Cleaning is "); 125 lcd.setCursor(0,1); 126 lcd.print("done!"); 127 delay(5000); 128} 129if (state == '2') { 130 state = 0; 131 lcd.clear(); 132 lcd.println("Priming "); 133 delay(1000); 134 digitalWrite(Rum, HIGH); 135 delay(.5 * oz); 136 digitalWrite(Rum, LOW); 137 delay(1000); 138 digitalWrite(Vodka, HIGH); 139 delay(.5 * oz); 140 digitalWrite(Vodka, LOW); 141 delay(1000); 142 digitalWrite(Moonshine, HIGH); 143 delay(.5 * oz); 144 digitalWrite(Moonshine, LOW); 145 delay(1000); 146 digitalWrite(Whiskey, HIGH); 147 delay(.5 * oz); 148 digitalWrite(Whiskey, LOW); 149 delay(1000); 150 digitalWrite(Sprite, HIGH); 151 delay(.5 * oz); 152 digitalWrite(Sprite, LOW); 153 delay(1000); 154 digitalWrite(Coke, HIGH); 155 delay(.5 * oz); 156 digitalWrite(Coke, LOW); 157 delay(1000); 158 digitalWrite(Coffee, HIGH); 159 delay(.5 * oz); 160 digitalWrite(Coffee, LOW); 161 delay(1000); 162 digitalWrite(Tonic, HIGH); 163 delay(.5 * oz); 164 digitalWrite(Tonic, LOW); 165 delay(1000); 166 state = 0; 167 lcd.clear(); 168 lcd.println("Priming is "); 169 lcd.setCursor(0,1); 170 lcd.print("done!"); 171 delay(5000); 172} 173 174// Cocktails: 175 176//Vodka 177 178//Vodka Tonic 179if (state == 'a') { 180 state = 0; 181 lcd.clear(); 182 lcd.print("Vodka Tonic in "); 183 lcd.setCursor(0,1); 184 lcd.print("the making"); 185 delay(1000); 186 digitalWrite(Vodka, HIGH); 187 delay(1.5 * oz); 188 digitalWrite(Vodka, LOW); 189 delay(1000); 190 digitalWrite(Tonic, HIGH); 191 delay(6 * oz); 192 digitalWrite(Tonic, LOW); 193 state = 0; 194 lcd.clear(); 195 lcd.print("Vodka Tonic is "); 196 lcd.setCursor(0,1); 197 lcd.print("done!"); 198 delay(5000); 199} 200 201//Vodka Sprite 202if (state == 'b') { 203 state = 0; 204 lcd.clear(); 205 lcd.print("Vodka Sprite in "); 206 lcd.setCursor(0,1); 207 lcd.print("the making"); 208 delay(1000); 209 digitalWrite(Vodka, HIGH); 210 delay(1.5 * oz); 211 digitalWrite(Vodka, LOW); 212 delay(1000); 213 digitalWrite(Sprite, HIGH); 214 delay(6 * oz); 215 digitalWrite(Sprite, LOW); 216 state = 0; 217 lcd.clear(); 218 lcd.print("Vodka Sprite in "); 219 lcd.setCursor(0,1); 220 lcd.print("done!"); 221 delay(5000); 222} 223 224//White Russian 225if (state == 'c') { 226 state = 0; 227 lcd.clear(); 228 lcd.println("White Russian in "); 229 lcd.setCursor(0,1); 230 lcd.print("the making"); 231 delay(1000); 232 digitalWrite(Vodka, HIGH); 233 delay(1 * oz); 234 digitalWrite(Vodka, LOW); 235 delay(1000); 236 digitalWrite(Coffee, HIGH); 237 delay(2 * oz); 238 digitalWrite(Coffee, LOW); 239 state = 0; 240 lcd.clear(); 241 lcd.println("White Russian is "); 242 lcd.setCursor(0,1); 243 lcd.print("done!"); 244 delay(5000); 245} 246 247//Black Russian 248if (state == 'd') { 249 state = 0; 250 lcd.clear(); 251 lcd.println("Black Russian in "); 252 lcd.setCursor(0,1); 253 lcd.print("the making"); 254 delay(1000); 255 digitalWrite(Vodka, HIGH); 256 delay(1 * oz); 257 digitalWrite(Vodka, LOW); 258 delay(1000); 259 digitalWrite(Coffee, HIGH); 260 delay(2 * oz); 261 digitalWrite(Coffee, LOW); 262 state = 0; 263 lcd.clear(); 264 lcd.println("Black Russian is "); 265 lcd.setCursor(0,1); 266 lcd.print("done!"); 267 delay(5000); 268} 269 270//Screwdriver 271if (state == 'e') { 272 state = 0; 273 lcd.clear(); 274 lcd.println("Screwdriver in "); 275 lcd.setCursor(0,1); 276 lcd.print("the making"); 277 delay(1000); 278 digitalWrite(Vodka, HIGH); 279 delay(1.5 * oz); 280 digitalWrite(Vodka, LOW); 281 state = 0; 282 lcd.clear(); 283 lcd.println("Screwdriver is "); 284 lcd.setCursor(0,1); 285 lcd.print("done!"); 286 delay(5000); 287} 288 289//Mudslide 290if (state == 'f') { 291 state = 0; 292 lcd.clear(); 293 lcd.println("Mudslide in "); 294 lcd.setCursor(0,1); 295 lcd.print("the making"); 296 delay(1000); 297 digitalWrite(Vodka, HIGH); 298 delay(1 * oz); 299 digitalWrite(Vodka, LOW); 300 delay(1000); 301 digitalWrite(Coffee, HIGH); 302 delay(1 * oz); 303 digitalWrite(Coffee, LOW); 304 state = 0; 305 lcd.clear(); 306 lcd.println("Mudslide is done!"); 307 delay(5000); 308} 309 310//Colorado Bulldog 311if (state == 'g') { 312 state = 0; 313 lcd.clear(); 314 lcd.println("Colorado Bulldog in "); 315 lcd.setCursor(0,1); 316 lcd.print("the making"); 317 delay(1000); 318 digitalWrite(Vodka, HIGH); 319 delay(1 * oz); 320 digitalWrite(Vodka, LOW); 321 delay(1000); 322 digitalWrite(Coffee, HIGH); 323 delay(1 * oz); 324 digitalWrite(Coffee, LOW); 325 delay(1000); 326 digitalWrite(Coke, HIGH); 327 delay(2 * oz); 328 digitalWrite(Coke, LOW); 329 state = 0; 330 lcd.clear(); 331 lcd.println("Colorado Bulldog is "); 332 lcd.setCursor(0,1); 333 lcd.print("done!"); 334 delay(5000); 335} 336 337//Vodka Redbull 338if (state == 'h') { 339 state = 0; 340 lcd.clear(); 341 lcd.println("Vodka Redbull in "); 342 lcd.setCursor(0,1); 343 lcd.print("the making"); 344 delay(1000); 345 digitalWrite(Vodka, HIGH); 346 delay(1.5 * oz); 347 digitalWrite(Vodka, LOW); 348 state = 0; 349 lcd.clear(); 350 lcd.println("Vodka Redbull is "); 351 lcd.setCursor(0,1); 352 lcd.print("done!"); 353 delay(5000); 354} 355 356//Moscow Mule 357if (state == 'i') { 358 state = 0; 359 lcd.clear(); 360 lcd.println("Moscow Mule in "); 361 lcd.setCursor(0,1); 362 lcd.print("the making"); 363 delay(1000); 364 digitalWrite(Vodka, HIGH); 365 delay(1.5 * oz); 366 digitalWrite(Vodka, LOW); 367 state = 0; 368 lcd.clear(); 369 lcd.println("Moscow Mule is "); 370 lcd.setCursor(0,1); 371 lcd.print("done!"); 372 delay(5000); 373} 374 375//Vodka Martini 376if (state == 'j') { 377 state = 0; 378 lcd.clear(); 379 lcd.println("Vodka Martini in "); 380 lcd.setCursor(0,1); 381 lcd.print("the making"); 382 delay(1000); 383 digitalWrite(Vodka, HIGH); 384 delay(1.5 * oz); 385 digitalWrite(Vodka, LOW); 386 state = 0; 387 lcd.clear(); 388 lcd.println("Vodka Martini is "); 389 lcd.setCursor(0,1); 390 lcd.print("done!"); 391 delay(5000); 392} 393//Whiskey 394 395//Jack and Coke 396if (state == 'k') { 397 state = 0; 398 lcd.clear(); 399 lcd.println("Jack and Coke in "); 400 lcd.setCursor(0,1); 401 lcd.print("the making"); 402 delay(1000); 403 digitalWrite(Whiskey, HIGH); 404 delay(1.5 * oz); 405 digitalWrite(Whiskey, LOW); 406 delay(1000); 407 digitalWrite(Coke, HIGH); 408 delay(6 * oz); 409 digitalWrite(Coke, LOW); 410 state = 0; 411 lcd.clear(); 412 lcd.println("Jack and Coke is "); 413 lcd.setCursor(0,1); 414 lcd.print("done!"); 415 delay(5000); 416} 417 418//7&7 419if (state == 'l') { 420 state = 0; 421 lcd.clear(); 422 lcd.println("7 & 7 in "); 423 lcd.setCursor(0,1); 424 lcd.print("the making"); 425 delay(1000); 426 digitalWrite(Whiskey, HIGH); 427 delay(1.5 * oz); 428 digitalWrite(Whiskey, LOW); 429 delay(1000); 430 digitalWrite(Sprite, HIGH); 431 delay(6 * oz); 432 digitalWrite(Sprite, LOW); 433 state = 0; 434 lcd.clear(); 435 lcd.println("7 & 7 is done!"); 436 delay(5000); 437} 438 439//Jack Manhattan 440if (state == 'm') { 441 state = 0; 442 lcd.clear(); 443 lcd.println("Jack Manhattan in "); 444 lcd.setCursor(0,1); 445 lcd.print("the making"); 446 delay(1000); 447 digitalWrite(Whiskey, HIGH); 448 delay(2 * oz); 449 digitalWrite(Whiskey, LOW); 450 state = 0; 451 lcd.clear(); 452 lcd.println("Jack Manhattan is "); 453 lcd.setCursor(0,1); 454 lcd.print("done!"); 455 delay(5000); 456} 457 458//Old fashioned 459if (state == 'n') { 460 state = 0; 461 lcd.clear(); 462 lcd.println("Old fashioned in "); 463 lcd.setCursor(0,1); 464 lcd.print("the making"); 465 delay(1000); 466 digitalWrite(Whiskey, HIGH); 467 delay(2 * oz); 468 digitalWrite(Whiskey, LOW); 469 state = 0; 470 lcd.clear(); 471 lcd.println("Old fashioned is "); 472 lcd.setCursor(0,1); 473 lcd.print("done!"); 474 delay(5000); 475} 476 477//Kentucky Mule 478if (state == 'o') { 479 state = 0; 480 lcd.clear(); 481 lcd.println("Kentucky Mule in "); 482 lcd.setCursor(0,1); 483 lcd.print("the making"); 484 delay(1000); 485 digitalWrite(Whiskey, HIGH); 486 delay(1.5 * oz); 487 digitalWrite(Whiskey, LOW); 488 state = 0; 489 lcd.clear(); 490 lcd.println("Kentucky Mule is "); 491 lcd.setCursor(0,1); 492 lcd.print("done!"); 493 delay(5000); 494} 495 496//Whiskey Tonic 497if (state == 'p') { 498 state = 0; 499 lcd.clear(); 500 lcd.println("Whiskey Tonic in "); 501 lcd.setCursor(0,1); 502 lcd.print("the making"); 503 delay(1000); 504 digitalWrite(Whiskey, HIGH); 505 delay(1.5 * oz); 506 digitalWrite(Whiskey, LOW); 507 delay(1000); 508 digitalWrite(Tonic, HIGH); 509 delay(6 * oz); 510 digitalWrite(Tonic, LOW); 511 state = 0; 512 lcd.clear(); 513 lcd.println("Whiskey Tonic is "); 514 lcd.setCursor(0,1); 515 lcd.print("done!"); 516 delay(5000); 517} 518 519//On the Rocks 520if (state == 'q') { 521 state = 0; 522 lcd.clear(); 523 lcd.println("On the Rocks in "); 524 lcd.setCursor(0,1); 525 lcd.print("the making"); 526 delay(1000); 527 digitalWrite(Whiskey, HIGH); 528 delay(1.5 * oz); 529 digitalWrite(Whiskey, LOW); 530 state = 0; 531 lcd.clear(); 532 lcd.println("On the Rocks is "); 533 lcd.setCursor(0,1); 534 lcd.print("done!"); 535 delay(5000); 536} 537 538//Jack in black 539if (state == 'r') { 540 state = 0; 541 lcd.clear(); 542 lcd.println("Jack in black in "); 543 lcd.setCursor(0,1); 544 lcd.print("the making"); 545 delay(1000); 546 digitalWrite(Whiskey, HIGH); 547 delay(1.5 * oz); 548 digitalWrite(Whiskey, LOW); 549 delay(1000); 550 digitalWrite(Coke, HIGH); 551 delay(6 * oz); 552 digitalWrite(Coke, LOW); 553 delay(1000); 554 digitalWrite(Coffee, HIGH); 555 delay(1 * oz); 556 digitalWrite(Coffee, LOW); 557 state = 0; 558 lcd.clear(); 559 lcd.println("Jack in black is "); 560 lcd.setCursor(0,1); 561 lcd.print("done!"); 562 delay(5000); 563} 564 565 566 567//Rum 568 569//Rum and Coke 570if (state == 's') { 571 state = 0; 572 lcd.clear(); 573 lcd.println("Rum and Coke in "); 574 lcd.setCursor(0,1); 575 lcd.print("the making"); 576 delay(1000); 577 digitalWrite(Rum, HIGH); 578 delay(1.5 * oz); 579 digitalWrite(Rum, LOW); 580 delay(1000); 581 digitalWrite(Coke, HIGH); 582 delay(6 * oz); 583 digitalWrite(Coke, LOW); 584 state = 0; 585 lcd.clear(); 586 lcd.println("Rum and Coke is "); 587 lcd.setCursor(0,1); 588 lcd.print("done!"); 589 delay(5000); 590} 591 592//Cuba libre 593if (state == 't') { 594 state = 0; 595 lcd.clear(); 596 lcd.println("Cuba libre in "); 597 lcd.setCursor(0,1); 598 lcd.print("the making"); 599 delay(1000); 600 digitalWrite(Rum, HIGH); 601 delay(1.5 * oz); 602 digitalWrite(Rum, LOW); 603 delay(1000); 604 digitalWrite(Coke, HIGH); 605 delay(6 * oz); 606 digitalWrite(Coke, LOW); 607 state = 0; 608 lcd.clear(); 609 lcd.println("Cuba libre is "); 610 lcd.setCursor(0,1); 611 lcd.print("done!"); 612 delay(5000); 613} 614 615//daquiri 616if (state == 'u') { 617 state = 0; 618 lcd.clear(); 619 lcd.println("Daquiri in "); 620 lcd.setCursor(0,1); 621 lcd.print("the making"); 622 delay(1000); 623 digitalWrite(Rum, HIGH); 624 delay(2 * oz); 625 digitalWrite(Rum, LOW); 626 state = 0; 627 lcd.clear(); 628 lcd.println("Daquiri is "); 629 lcd.setCursor(0,1); 630 lcd.print("done!"); 631 delay(5000); 632} 633 634//Rumdriver 635if (state == 'v') { 636 state = 0; 637 lcd.clear(); 638 lcd.println("Rumdriver in "); 639 lcd.setCursor(0,1); 640 lcd.print("the making"); 641 delay(1000); 642 digitalWrite(Rum, HIGH); 643 delay(1.5 * oz); 644 digitalWrite(Rum, LOW); 645 state = 0; 646 lcd.clear(); 647 lcd.println("Rumdriver is "); 648 lcd.setCursor(0,1); 649 lcd.print("done!"); 650 delay(5000); 651} 652 653//Rum mule 654if (state == 'w') { 655 state = 0; 656 lcd.clear(); 657 lcd.println("Rum mule in "); 658 lcd.setCursor(0,1); 659 lcd.print("the making"); 660 delay(1000); 661 digitalWrite(Rum, HIGH); 662 delay(1.5 * oz); 663 digitalWrite(Rum, LOW); 664 state = 0; 665 lcd.clear(); 666 lcd.println("Rum mule is "); 667 lcd.setCursor(0,1); 668 lcd.print("done!"); 669 delay(5000); 670} 671 672//Rum and tonic 673if (state == 'x') { 674 state = 0; 675 lcd.clear(); 676 lcd.println("Rum and Tonic in "); 677 lcd.setCursor(0,1); 678 lcd.print("the making"); 679 delay(1000); 680 digitalWrite(Rum, HIGH); 681 delay(1.5 * oz); 682 digitalWrite(Rum, LOW); 683 delay(1000); 684 digitalWrite(Tonic, HIGH); 685 delay(6 * oz); 686 digitalWrite(Tonic, LOW); 687 state = 0; 688 lcd.clear(); 689 lcd.println("Rum and Tonic is "); 690 lcd.setCursor(0,1); 691 lcd.print("done!"); 692 delay(5000); 693} 694 695//Brass monkey 696if (state == 'y') { 697 state = 0; 698 lcd.clear(); 699 lcd.println("Brass Monkey in "); 700 lcd.setCursor(0,1); 701 lcd.print("the making"); 702 delay(1000); 703 digitalWrite(Rum, HIGH); 704 delay(1.5 * oz); 705 digitalWrite(Rum, LOW); 706 delay(1000); 707 digitalWrite(Vodka, HIGH); 708 delay(1.5 * oz); 709 digitalWrite(Vodka, LOW); 710 state = 0; 711 lcd.clear(); 712 lcd.println("Brass Monkey is "); 713 lcd.setCursor(0,1); 714 lcd.print("done!"); 715 delay(5000); 716} 717 718//pina colada 719if (state == 'z') { 720 state = 0; 721 lcd.clear(); 722 lcd.println("Pina Colada in "); 723 lcd.setCursor(0,1); 724 lcd.print("the making"); 725 delay(1000); 726 digitalWrite(Rum, HIGH); 727 delay(1.5 * oz); 728 digitalWrite(Rum, LOW); 729 delay(1000); 730 state = 0; 731 lcd.clear(); 732 lcd.println("Pina Colada is "); 733 lcd.setCursor(0,1); 734 lcd.print("done!"); 735 delay(5000); 736} 737 738 739//Moonshine 740 741//Apple Pie 742if (state == 'A') { 743 state = 0; 744 lcd.clear(); 745 lcd.println("Apple Pie in "); 746 lcd.setCursor(0,1); 747 lcd.print("the making"); 748 delay(1000); 749 digitalWrite(Moonshine, HIGH); 750 delay(1.5 * oz); 751 digitalWrite(Moonshine, LOW); 752 delay(1000); 753 state = 0; 754 lcd.clear(); 755 lcd.println("Apple Pie is "); 756 lcd.setCursor(0,1); 757 lcd.print("done!"); 758 delay(5000); 759} 760 761//Dreamsicle 762if (state == 'B') { 763 state = 0; 764 lcd.clear(); 765 lcd.println("Dreamsicle in "); 766 lcd.setCursor(0,1); 767 lcd.print("the making"); 768 delay(1000); 769 digitalWrite(Moonshine, HIGH); 770 delay(1.5 * oz); 771 digitalWrite(Moonshine, LOW); 772 delay(1000); 773 state = 0; 774 lcd.clear(); 775 lcd.println("Dreamsicle is "); 776 lcd.setCursor(0,1); 777 lcd.print("done!"); 778 delay(5000); 779} 780 781//Mountain Mule 782if (state == 'C') { 783 state = 0; 784 lcd.clear(); 785 lcd.println("Mountain Mule in "); 786 lcd.setCursor(0,1); 787 lcd.print("the making"); 788 delay(1000); 789 digitalWrite(Moonshine, HIGH); 790 delay(1.5 * oz); 791 digitalWrite(Moonshine, LOW); 792 delay(1000); 793 state = 0; 794 lcd.clear(); 795 lcd.println("Mountain Mulea is "); 796 lcd.setCursor(0,1); 797 lcd.print("done!"); 798 delay(5000); 799} 800 801//Moonshine and Coke 802if (state == 'D') { 803 state = 0; 804 lcd.clear(); 805 lcd.println("Moonshine and Coke in "); 806 lcd.setCursor(0,1); 807 lcd.print("the making"); 808 delay(1000); 809 digitalWrite(Moonshine, HIGH); 810 delay(1.5 * oz); 811 digitalWrite(Moonshine, LOW); 812 delay(1000); 813 state = 0; 814 lcd.clear(); 815 lcd.println("Moonshine and Coke is "); 816 lcd.setCursor(0,1); 817 lcd.print("done!"); 818 delay(5000); 819} 820 821//After party 822if (state == 'E') { 823 state = 0; 824 lcd.clear(); 825 lcd.println("After Party in "); 826 lcd.setCursor(0,1); 827 lcd.print("the making"); 828 delay(1000); 829 digitalWrite(Moonshine, HIGH); 830 delay(1.5 * oz); 831 digitalWrite(Moonshine, LOW); 832 delay(1000); 833 state = 0; 834 lcd.clear(); 835 lcd.println("After Party is "); 836 lcd.setCursor(0,1); 837 lcd.print("done!"); 838 delay(5000); 839} 840 841//Fire and Ice 842if (state == 'F') { 843 state = 0; 844 lcd.clear(); 845 lcd.println("Fire and Ice in "); 846 lcd.setCursor(0,1); 847 lcd.print("the making"); 848 delay(1000); 849 digitalWrite(Moonshine, HIGH); 850 delay(1.5 * oz); 851 digitalWrite(Moonshine, LOW); 852 delay(1000); 853 state = 0; 854 lcd.clear(); 855 lcd.println("Fire and Ice is "); 856 lcd.setCursor(0,1); 857 lcd.print("done!"); 858 delay(5000); 859} 860//Foggy Morning 861if (state == 'G') { 862 state = 0; 863 lcd.clear(); 864 lcd.println("Foggy Morning in "); 865 lcd.setCursor(0,1); 866 lcd.print("the making"); 867 delay(1000); 868 digitalWrite(Moonshine, HIGH); 869 delay(1.5 * oz); 870 digitalWrite(Moonshine, LOW); 871 delay(1000); 872 state = 0; 873 lcd.clear(); 874 lcd.println("Foggy Morning is "); 875 lcd.setCursor(0,1); 876 lcd.print("done!"); 877 delay(5000); 878} 879 880//Moonshine shandy 881if (state == 'H') { 882 state = 0; 883 lcd.clear(); 884 lcd.println("Moonshine Shandy in "); 885 lcd.setCursor(0,1); 886 lcd.print("the making"); 887 delay(1000); 888 digitalWrite(Moonshine, HIGH); 889 delay(1.5 * oz); 890 digitalWrite(Moonshine, LOW); 891 delay(1000); 892 state = 0; 893 lcd.clear(); 894 lcd.println("Moonshine Shandy is "); 895 lcd.setCursor(0,1); 896 lcd.print("done!"); 897 delay(5000); 898} 899}
Arduino Uno code
arduino
1#include <LiquidCrystal_I2C.h> 2#include <Wire.h> 3#include <SoftwareSerial.h> 4 5 6//defining 7 the pins used for each drink, you can changes this depending how you connect the 8 pumps and the drinks. 9 10int Vodka = A0; 11int Moonshine = A2; 12int Whiskey 13 = 12; 14int Rum = 10; 15int Sprite = 8; 16int Coke = 6; 17int Coffee = 4; 18int 19 Tonic = 2; 20 21 22int state = 0; 23int oz = 1700; 24 25LiquidCrystal_I2C 26 lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display 27 28 29void 30 setup() 31{ 32 33 Serial.begin(9600); 34 lcd.init(); //initialize the lcd 35 36 lcd.backlight(); //open the backlight 37 lcd.clear(); 38 lcd.print("Starting 39 up"); 40 41 // Set pins to output pins to drive the relay boards and motors 42 43 pinMode(2, OUTPUT); 44 pinMode(3, OUTPUT); 45 pinMode(4, OUTPUT); 46 pinMode(5, 47 OUTPUT); 48 pinMode(6, OUTPUT); 49 pinMode(7, OUTPUT); 50 pinMode(8, OUTPUT); 51 52 pinMode(9, OUTPUT); 53 pinMode(10, OUTPUT); 54 pinMode(11, OUTPUT); 55 56 pinMode(12, OUTPUT); 57 pinMode(13, OUTPUT); 58 pinMode(A0, OUTPUT); 59 60 pinMode(A1, OUTPUT); 61 pinMode(A2, OUTPUT); 62 pinMode(A3, OUTPUT); 63 64 65 66 digitalWrite(2,LOW); 67 digitalWrite(3,LOW); 68 digitalWrite(4,LOW); 69 70 digitalWrite(5,LOW); 71 digitalWrite(6,LOW); 72 digitalWrite(7,LOW); 73 digitalWrite(8,LOW); 74 75 digitalWrite(9,LOW); 76 digitalWrite(10,LOW); 77 digitalWrite(11,LOW); 78 79 digitalWrite(12,LOW); 80 digitalWrite(13,LOW); 81 digitalWrite(A0,LOW); 82 83 digitalWrite(A1,LOW); 84 digitalWrite(A2,LOW); 85 digitalWrite(A3,LOW); 86 87 88 delay(5000); 89 lcd.clear(); 90 lcd.print("Ready"); 91 92} 93 94 95void loop() 96 97{ 98if(Serial.available() > 0){ // Checks whether data is 99 comming from the serial port 100 state = Serial.read(); // Reads the data from 101 the serial port 102 Serial.println(state); 103} 104 105 106 107if (state == '1') 108 { 109 state = 0; 110 lcd.clear(); 111 lcd.println("Cleaning "); 112 delay(1000); 113 114 digitalWrite(Rum, HIGH); 115 delay(3 * oz); 116 digitalWrite(Rum, LOW); 117 118 delay(1000); 119 digitalWrite(Vodka, HIGH); 120 delay(3 * oz); 121 digitalWrite(Vodka, 122 LOW); 123 delay(1000); 124 digitalWrite(Moonshine, HIGH); 125 delay(3 * oz); 126 127 digitalWrite(Moonshine, LOW); 128 delay(1000); 129 digitalWrite(Whiskey, HIGH); 130 131 delay(3 * oz); 132 digitalWrite(Whiskey, LOW); 133 delay(1000); 134 digitalWrite(Sprite, 135 HIGH); 136 delay(3 * oz); 137 digitalWrite(Sprite, LOW); 138 delay(1000); 139 140 digitalWrite(Coke, HIGH); 141 delay(3 * oz); 142 digitalWrite(Coke, LOW); 143 144 delay(1000); 145 digitalWrite(Coffee, HIGH); 146 delay(3 * oz); 147 digitalWrite(Coffee, 148 LOW); 149 delay(1000); 150 digitalWrite(Tonic, HIGH); 151 delay(3 * oz); 152 153 digitalWrite(Tonic, LOW); 154 delay(1000); 155 state = 0; 156 lcd.clear(); 157 158 lcd.println("Cleaning is "); 159 lcd.setCursor(0,1); 160 lcd.print("done!"); 161 162 delay(5000); 163} 164if (state == '2') { 165 state = 0; 166 lcd.clear(); 167 168 lcd.println("Priming "); 169 delay(1000); 170 digitalWrite(Rum, HIGH); 171 172 delay(.5 * oz); 173 digitalWrite(Rum, LOW); 174 delay(1000); 175 digitalWrite(Vodka, 176 HIGH); 177 delay(.5 * oz); 178 digitalWrite(Vodka, LOW); 179 delay(1000); 180 181 digitalWrite(Moonshine, HIGH); 182 delay(.5 * oz); 183 digitalWrite(Moonshine, 184 LOW); 185 delay(1000); 186 digitalWrite(Whiskey, HIGH); 187 delay(.5 * oz); 188 189 digitalWrite(Whiskey, LOW); 190 delay(1000); 191 digitalWrite(Sprite, HIGH); 192 193 delay(.5 * oz); 194 digitalWrite(Sprite, LOW); 195 delay(1000); 196 digitalWrite(Coke, 197 HIGH); 198 delay(.5 * oz); 199 digitalWrite(Coke, LOW); 200 delay(1000); 201 202 digitalWrite(Coffee, HIGH); 203 delay(.5 * oz); 204 digitalWrite(Coffee, LOW); 205 206 delay(1000); 207 digitalWrite(Tonic, HIGH); 208 delay(.5 * oz); 209 digitalWrite(Tonic, 210 LOW); 211 delay(1000); 212 state = 0; 213 lcd.clear(); 214 lcd.println("Priming 215 is "); 216 lcd.setCursor(0,1); 217 lcd.print("done!"); 218 delay(5000); 219} 220 221// 222 Cocktails: 223 224//Vodka 225 226//Vodka Tonic 227if (state == 'a') { 228 state 229 = 0; 230 lcd.clear(); 231 lcd.print("Vodka Tonic in "); 232 lcd.setCursor(0,1); 233 234 lcd.print("the making"); 235 delay(1000); 236 digitalWrite(Vodka, HIGH); 237 238 delay(1.5 * oz); 239 digitalWrite(Vodka, LOW); 240 delay(1000); 241 digitalWrite(Tonic, 242 HIGH); 243 delay(6 * oz); 244 digitalWrite(Tonic, LOW); 245 state = 0; 246 lcd.clear(); 247 248 lcd.print("Vodka Tonic is "); 249 lcd.setCursor(0,1); 250 lcd.print("done!"); 251 252 delay(5000); 253} 254 255//Vodka Sprite 256if (state == 'b') { 257 state = 0; 258 259 lcd.clear(); 260 lcd.print("Vodka Sprite in "); 261 lcd.setCursor(0,1); 262 263 lcd.print("the making"); 264 delay(1000); 265 digitalWrite(Vodka, HIGH); 266 267 delay(1.5 * oz); 268 digitalWrite(Vodka, LOW); 269 delay(1000); 270 digitalWrite(Sprite, 271 HIGH); 272 delay(6 * oz); 273 digitalWrite(Sprite, LOW); 274 state = 0; 275 lcd.clear(); 276 277 lcd.print("Vodka Sprite in "); 278 lcd.setCursor(0,1); 279 lcd.print("done!"); 280 281 delay(5000); 282} 283 284//White Russian 285if (state == 'c') { 286 state = 0; 287 288 lcd.clear(); 289 lcd.println("White Russian in "); 290 lcd.setCursor(0,1); 291 292 lcd.print("the making"); 293 delay(1000); 294 digitalWrite(Vodka, HIGH); 295 296 delay(1 * oz); 297 digitalWrite(Vodka, LOW); 298 delay(1000); 299 digitalWrite(Coffee, 300 HIGH); 301 delay(2 * oz); 302 digitalWrite(Coffee, LOW); 303 state = 0; 304 lcd.clear(); 305 306 lcd.println("White Russian is "); 307 lcd.setCursor(0,1); 308 lcd.print("done!"); 309 310 delay(5000); 311} 312 313//Black Russian 314if (state == 'd') { 315 state = 0; 316 317 lcd.clear(); 318 lcd.println("Black Russian in "); 319 lcd.setCursor(0,1); 320 321 lcd.print("the making"); 322 delay(1000); 323 digitalWrite(Vodka, HIGH); 324 325 delay(1 * oz); 326 digitalWrite(Vodka, LOW); 327 delay(1000); 328 digitalWrite(Coffee, 329 HIGH); 330 delay(2 * oz); 331 digitalWrite(Coffee, LOW); 332 state = 0; 333 lcd.clear(); 334 335 lcd.println("Black Russian is "); 336 lcd.setCursor(0,1); 337 lcd.print("done!"); 338 339 delay(5000); 340} 341 342//Screwdriver 343if (state == 'e') { 344 state = 0; 345 346 lcd.clear(); 347 lcd.println("Screwdriver in "); 348 lcd.setCursor(0,1); 349 350 lcd.print("the making"); 351 delay(1000); 352 digitalWrite(Vodka, HIGH); 353 354 delay(1.5 * oz); 355 digitalWrite(Vodka, LOW); 356 state = 0; 357 lcd.clear(); 358 359 lcd.println("Screwdriver is "); 360 lcd.setCursor(0,1); 361 lcd.print("done!"); 362 363 delay(5000); 364} 365 366//Mudslide 367if (state == 'f') { 368 state = 0; 369 370 lcd.clear(); 371 lcd.println("Mudslide in "); 372 lcd.setCursor(0,1); 373 374 lcd.print("the making"); 375 delay(1000); 376 digitalWrite(Vodka, HIGH); 377 378 delay(1 * oz); 379 digitalWrite(Vodka, LOW); 380 delay(1000); 381 digitalWrite(Coffee, 382 HIGH); 383 delay(1 * oz); 384 digitalWrite(Coffee, LOW); 385 state = 0; 386 lcd.clear(); 387 388 lcd.println("Mudslide is done!"); 389 delay(5000); 390} 391 392//Colorado Bulldog 393if 394 (state == 'g') { 395 state = 0; 396 lcd.clear(); 397 lcd.println("Colorado Bulldog 398 in "); 399 lcd.setCursor(0,1); 400 lcd.print("the making"); 401 delay(1000); 402 403 digitalWrite(Vodka, HIGH); 404 delay(1 * oz); 405 digitalWrite(Vodka, LOW); 406 407 delay(1000); 408 digitalWrite(Coffee, HIGH); 409 delay(1 * oz); 410 digitalWrite(Coffee, 411 LOW); 412 delay(1000); 413 digitalWrite(Coke, HIGH); 414 delay(2 * oz); 415 digitalWrite(Coke, 416 LOW); 417 state = 0; 418 lcd.clear(); 419 lcd.println("Colorado Bulldog is "); 420 421 lcd.setCursor(0,1); 422 lcd.print("done!"); 423 delay(5000); 424} 425 426//Vodka 427 Redbull 428if (state == 'h') { 429 state = 0; 430 lcd.clear(); 431 lcd.println("Vodka 432 Redbull in "); 433 lcd.setCursor(0,1); 434 lcd.print("the making"); 435 delay(1000); 436 437 digitalWrite(Vodka, HIGH); 438 delay(1.5 * oz); 439 digitalWrite(Vodka, LOW); 440 441 state = 0; 442 lcd.clear(); 443 lcd.println("Vodka Redbull is "); 444 lcd.setCursor(0,1); 445 446 lcd.print("done!"); 447 delay(5000); 448} 449 450//Moscow Mule 451if (state 452 == 'i') { 453 state = 0; 454 lcd.clear(); 455 lcd.println("Moscow Mule in "); 456 457 lcd.setCursor(0,1); 458 lcd.print("the making"); 459 delay(1000); 460 digitalWrite(Vodka, 461 HIGH); 462 delay(1.5 * oz); 463 digitalWrite(Vodka, LOW); 464 state = 0; 465 466 lcd.clear(); 467 lcd.println("Moscow Mule is "); 468 lcd.setCursor(0,1); 469 470 lcd.print("done!"); 471 delay(5000); 472} 473 474//Vodka Martini 475if (state 476 == 'j') { 477 state = 0; 478 lcd.clear(); 479 lcd.println("Vodka Martini in 480 "); 481 lcd.setCursor(0,1); 482 lcd.print("the making"); 483 delay(1000); 484 485 digitalWrite(Vodka, HIGH); 486 delay(1.5 * oz); 487 digitalWrite(Vodka, LOW); 488 489 state = 0; 490 lcd.clear(); 491 lcd.println("Vodka Martini is "); 492 lcd.setCursor(0,1); 493 494 lcd.print("done!"); 495 delay(5000); 496} 497//Whiskey 498 499//Jack and 500 Coke 501if (state == 'k') { 502 state = 0; 503 lcd.clear(); 504 lcd.println("Jack 505 and Coke in "); 506 lcd.setCursor(0,1); 507 lcd.print("the making"); 508 delay(1000); 509 510 digitalWrite(Whiskey, HIGH); 511 delay(1.5 * oz); 512 digitalWrite(Whiskey, 513 LOW); 514 delay(1000); 515 digitalWrite(Coke, HIGH); 516 delay(6 * oz); 517 digitalWrite(Coke, 518 LOW); 519 state = 0; 520 lcd.clear(); 521 lcd.println("Jack and Coke is "); 522 523 lcd.setCursor(0,1); 524 lcd.print("done!"); 525 delay(5000); 526} 527 528//7&7 529if 530 (state == 'l') { 531 state = 0; 532 lcd.clear(); 533 lcd.println("7 & 7 in "); 534 535 lcd.setCursor(0,1); 536 lcd.print("the making"); 537 delay(1000); 538 digitalWrite(Whiskey, 539 HIGH); 540 delay(1.5 * oz); 541 digitalWrite(Whiskey, LOW); 542 delay(1000); 543 544 digitalWrite(Sprite, HIGH); 545 delay(6 * oz); 546 digitalWrite(Sprite, LOW); 547 548 state = 0; 549 lcd.clear(); 550 lcd.println("7 & 7 is done!"); 551 delay(5000); 552} 553 554//Jack 555 Manhattan 556if (state == 'm') { 557 state = 0; 558 lcd.clear(); 559 lcd.println("Jack 560 Manhattan in "); 561 lcd.setCursor(0,1); 562 lcd.print("the making"); 563 564 delay(1000); 565 digitalWrite(Whiskey, HIGH); 566 delay(2 * oz); 567 digitalWrite(Whiskey, 568 LOW); 569 state = 0; 570 lcd.clear(); 571 lcd.println("Jack Manhattan is "); 572 573 lcd.setCursor(0,1); 574 lcd.print("done!"); 575 delay(5000); 576} 577 578//Old 579 fashioned 580if (state == 'n') { 581 state = 0; 582 lcd.clear(); 583 lcd.println("Old 584 fashioned in "); 585 lcd.setCursor(0,1); 586 lcd.print("the making"); 587 588 delay(1000); 589 digitalWrite(Whiskey, HIGH); 590 delay(2 * oz); 591 digitalWrite(Whiskey, 592 LOW); 593 state = 0; 594 lcd.clear(); 595 lcd.println("Old fashioned is "); 596 597 lcd.setCursor(0,1); 598 lcd.print("done!"); 599 delay(5000); 600} 601 602//Kentucky 603 Mule 604if (state == 'o') { 605 state = 0; 606 lcd.clear(); 607 lcd.println("Kentucky 608 Mule in "); 609 lcd.setCursor(0,1); 610 lcd.print("the making"); 611 delay(1000); 612 613 digitalWrite(Whiskey, HIGH); 614 delay(1.5 * oz); 615 digitalWrite(Whiskey, 616 LOW); 617 state = 0; 618 lcd.clear(); 619 lcd.println("Kentucky Mule is "); 620 621 lcd.setCursor(0,1); 622 lcd.print("done!"); 623 delay(5000); 624} 625 626//Whiskey 627 Tonic 628if (state == 'p') { 629 state = 0; 630 lcd.clear(); 631 lcd.println("Whiskey 632 Tonic in "); 633 lcd.setCursor(0,1); 634 lcd.print("the making"); 635 delay(1000); 636 637 digitalWrite(Whiskey, HIGH); 638 delay(1.5 * oz); 639 digitalWrite(Whiskey, 640 LOW); 641 delay(1000); 642 digitalWrite(Tonic, HIGH); 643 delay(6 * oz); 644 645 digitalWrite(Tonic, LOW); 646 state = 0; 647 lcd.clear(); 648 lcd.println("Whiskey 649 Tonic is "); 650 lcd.setCursor(0,1); 651 lcd.print("done!"); 652 delay(5000); 653} 654 655//On 656 the Rocks 657if (state == 'q') { 658 state = 0; 659 lcd.clear(); 660 lcd.println("On 661 the Rocks in "); 662 lcd.setCursor(0,1); 663 lcd.print("the making"); 664 665 delay(1000); 666 digitalWrite(Whiskey, HIGH); 667 delay(1.5 * oz); 668 digitalWrite(Whiskey, 669 LOW); 670 state = 0; 671 lcd.clear(); 672 lcd.println("On the Rocks is "); 673 674 lcd.setCursor(0,1); 675 lcd.print("done!"); 676 delay(5000); 677} 678 679//Jack 680 in black 681if (state == 'r') { 682 state = 0; 683 lcd.clear(); 684 lcd.println("Jack 685 in black in "); 686 lcd.setCursor(0,1); 687 lcd.print("the making"); 688 delay(1000); 689 690 digitalWrite(Whiskey, HIGH); 691 delay(1.5 * oz); 692 digitalWrite(Whiskey, 693 LOW); 694 delay(1000); 695 digitalWrite(Coke, HIGH); 696 delay(6 * oz); 697 digitalWrite(Coke, 698 LOW); 699 delay(1000); 700 digitalWrite(Coffee, HIGH); 701 delay(1 * oz); 702 703 digitalWrite(Coffee, LOW); 704 state = 0; 705 lcd.clear(); 706 lcd.println("Jack 707 in black is "); 708 lcd.setCursor(0,1); 709 lcd.print("done!"); 710 delay(5000); 711} 712 713 714 715//Rum 716 717//Rum 718 and Coke 719if (state == 's') { 720 state = 0; 721 lcd.clear(); 722 lcd.println("Rum 723 and Coke in "); 724 lcd.setCursor(0,1); 725 lcd.print("the making"); 726 delay(1000); 727 728 digitalWrite(Rum, HIGH); 729 delay(1.5 * oz); 730 digitalWrite(Rum, LOW); 731 732 delay(1000); 733 digitalWrite(Coke, HIGH); 734 delay(6 * oz); 735 digitalWrite(Coke, 736 LOW); 737 state = 0; 738 lcd.clear(); 739 lcd.println("Rum and Coke is "); 740 741 lcd.setCursor(0,1); 742 lcd.print("done!"); 743 delay(5000); 744} 745 746//Cuba 747 libre 748if (state == 't') { 749 state = 0; 750 lcd.clear(); 751 lcd.println("Cuba 752 libre in "); 753 lcd.setCursor(0,1); 754 lcd.print("the making"); 755 delay(1000); 756 757 digitalWrite(Rum, HIGH); 758 delay(1.5 * oz); 759 digitalWrite(Rum, LOW); 760 761 delay(1000); 762 digitalWrite(Coke, HIGH); 763 delay(6 * oz); 764 digitalWrite(Coke, 765 LOW); 766 state = 0; 767 lcd.clear(); 768 lcd.println("Cuba libre is "); 769 770 lcd.setCursor(0,1); 771 lcd.print("done!"); 772 delay(5000); 773} 774 775//daquiri 776if 777 (state == 'u') { 778 state = 0; 779 lcd.clear(); 780 lcd.println("Daquiri in 781 "); 782 lcd.setCursor(0,1); 783 lcd.print("the making"); 784 delay(1000); 785 786 digitalWrite(Rum, HIGH); 787 delay(2 * oz); 788 digitalWrite(Rum, LOW); 789 790 state = 0; 791 lcd.clear(); 792 lcd.println("Daquiri is "); 793 lcd.setCursor(0,1); 794 795 lcd.print("done!"); 796 delay(5000); 797} 798 799//Rumdriver 800if (state 801 == 'v') { 802 state = 0; 803 lcd.clear(); 804 lcd.println("Rumdriver in "); 805 806 lcd.setCursor(0,1); 807 lcd.print("the making"); 808 delay(1000); 809 digitalWrite(Rum, 810 HIGH); 811 delay(1.5 * oz); 812 digitalWrite(Rum, LOW); 813 state = 0; 814 lcd.clear(); 815 816 lcd.println("Rumdriver is "); 817 lcd.setCursor(0,1); 818 lcd.print("done!"); 819 820 delay(5000); 821} 822 823//Rum mule 824if (state == 'w') { 825 state = 0; 826 827 lcd.clear(); 828 lcd.println("Rum mule in "); 829 lcd.setCursor(0,1); 830 831 lcd.print("the making"); 832 delay(1000); 833 digitalWrite(Rum, HIGH); 834 835 delay(1.5 * oz); 836 digitalWrite(Rum, LOW); 837 state = 0; 838 lcd.clear(); 839 840 lcd.println("Rum mule is "); 841 lcd.setCursor(0,1); 842 lcd.print("done!"); 843 844 delay(5000); 845} 846 847//Rum and tonic 848if (state == 'x') { 849 state = 0; 850 851 lcd.clear(); 852 lcd.println("Rum and Tonic in "); 853 lcd.setCursor(0,1); 854 855 lcd.print("the making"); 856 delay(1000); 857 digitalWrite(Rum, HIGH); 858 859 delay(1.5 * oz); 860 digitalWrite(Rum, LOW); 861 delay(1000); 862 digitalWrite(Tonic, 863 HIGH); 864 delay(6 * oz); 865 digitalWrite(Tonic, LOW); 866 state = 0; 867 lcd.clear(); 868 869 lcd.println("Rum and Tonic is "); 870 lcd.setCursor(0,1); 871 lcd.print("done!"); 872 873 delay(5000); 874} 875 876//Brass monkey 877if (state == 'y') { 878 state = 0; 879 880 lcd.clear(); 881 lcd.println("Brass Monkey in "); 882 lcd.setCursor(0,1); 883 884 lcd.print("the making"); 885 delay(1000); 886 digitalWrite(Rum, HIGH); 887 888 delay(1.5 * oz); 889 digitalWrite(Rum, LOW); 890 delay(1000); 891 digitalWrite(Vodka, 892 HIGH); 893 delay(1.5 * oz); 894 digitalWrite(Vodka, LOW); 895 state = 0; 896 897 lcd.clear(); 898 lcd.println("Brass Monkey is "); 899 lcd.setCursor(0,1); 900 901 lcd.print("done!"); 902 delay(5000); 903} 904 905//pina colada 906if (state 907 == 'z') { 908 state = 0; 909 lcd.clear(); 910 lcd.println("Pina Colada in "); 911 912 lcd.setCursor(0,1); 913 lcd.print("the making"); 914 delay(1000); 915 digitalWrite(Rum, 916 HIGH); 917 delay(1.5 * oz); 918 digitalWrite(Rum, LOW); 919 delay(1000); 920 921 state = 0; 922 lcd.clear(); 923 lcd.println("Pina Colada is "); 924 lcd.setCursor(0,1); 925 926 lcd.print("done!"); 927 delay(5000); 928} 929 930 931//Moonshine 932 933//Apple 934 Pie 935if (state == 'A') { 936 state = 0; 937 lcd.clear(); 938 lcd.println("Apple 939 Pie in "); 940 lcd.setCursor(0,1); 941 lcd.print("the making"); 942 delay(1000); 943 944 digitalWrite(Moonshine, HIGH); 945 delay(1.5 * oz); 946 digitalWrite(Moonshine, 947 LOW); 948 delay(1000); 949 state = 0; 950 lcd.clear(); 951 lcd.println("Apple 952 Pie is "); 953 lcd.setCursor(0,1); 954 lcd.print("done!"); 955 delay(5000); 956} 957 958//Dreamsicle 959if 960 (state == 'B') { 961 state = 0; 962 lcd.clear(); 963 lcd.println("Dreamsicle 964 in "); 965 lcd.setCursor(0,1); 966 lcd.print("the making"); 967 delay(1000); 968 969 digitalWrite(Moonshine, HIGH); 970 delay(1.5 * oz); 971 digitalWrite(Moonshine, 972 LOW); 973 delay(1000); 974 state = 0; 975 lcd.clear(); 976 lcd.println("Dreamsicle 977 is "); 978 lcd.setCursor(0,1); 979 lcd.print("done!"); 980 delay(5000); 981} 982 983//Mountain 984 Mule 985if (state == 'C') { 986 state = 0; 987 lcd.clear(); 988 lcd.println("Mountain 989 Mule in "); 990 lcd.setCursor(0,1); 991 lcd.print("the making"); 992 delay(1000); 993 994 digitalWrite(Moonshine, HIGH); 995 delay(1.5 * oz); 996 digitalWrite(Moonshine, 997 LOW); 998 delay(1000); 999 state = 0; 1000 lcd.clear(); 1001 lcd.println("Mountain 1002 Mulea is "); 1003 lcd.setCursor(0,1); 1004 lcd.print("done!"); 1005 delay(5000); 1006} 1007 1008//Moonshine 1009 and Coke 1010if (state == 'D') { 1011 state = 0; 1012 lcd.clear(); 1013 lcd.println("Moonshine 1014 and Coke in "); 1015 lcd.setCursor(0,1); 1016 lcd.print("the making"); 1017 delay(1000); 1018 1019 digitalWrite(Moonshine, HIGH); 1020 delay(1.5 * oz); 1021 digitalWrite(Moonshine, 1022 LOW); 1023 delay(1000); 1024 state = 0; 1025 lcd.clear(); 1026 lcd.println("Moonshine 1027 and Coke is "); 1028 lcd.setCursor(0,1); 1029 lcd.print("done!"); 1030 delay(5000); 1031} 1032 1033//After 1034 party 1035if (state == 'E') { 1036 state = 0; 1037 lcd.clear(); 1038 lcd.println("After 1039 Party in "); 1040 lcd.setCursor(0,1); 1041 lcd.print("the making"); 1042 delay(1000); 1043 1044 digitalWrite(Moonshine, HIGH); 1045 delay(1.5 * oz); 1046 digitalWrite(Moonshine, 1047 LOW); 1048 delay(1000); 1049 state = 0; 1050 lcd.clear(); 1051 lcd.println("After 1052 Party is "); 1053 lcd.setCursor(0,1); 1054 lcd.print("done!"); 1055 delay(5000); 1056} 1057 1058//Fire 1059 and Ice 1060if (state == 'F') { 1061 state = 0; 1062 lcd.clear(); 1063 lcd.println("Fire 1064 and Ice in "); 1065 lcd.setCursor(0,1); 1066 lcd.print("the making"); 1067 delay(1000); 1068 1069 digitalWrite(Moonshine, HIGH); 1070 delay(1.5 * oz); 1071 digitalWrite(Moonshine, 1072 LOW); 1073 delay(1000); 1074 state = 0; 1075 lcd.clear(); 1076 lcd.println("Fire 1077 and Ice is "); 1078 lcd.setCursor(0,1); 1079 lcd.print("done!"); 1080 delay(5000); 1081} 1082//Foggy 1083 Morning 1084if (state == 'G') { 1085 state = 0; 1086 lcd.clear(); 1087 lcd.println("Foggy 1088 Morning in "); 1089 lcd.setCursor(0,1); 1090 lcd.print("the making"); 1091 delay(1000); 1092 1093 digitalWrite(Moonshine, HIGH); 1094 delay(1.5 * oz); 1095 digitalWrite(Moonshine, 1096 LOW); 1097 delay(1000); 1098 state = 0; 1099 lcd.clear(); 1100 lcd.println("Foggy 1101 Morning is "); 1102 lcd.setCursor(0,1); 1103 lcd.print("done!"); 1104 delay(5000); 1105} 1106 1107//Moonshine 1108 shandy 1109if (state == 'H') { 1110 state = 0; 1111 lcd.clear(); 1112 lcd.println("Moonshine 1113 Shandy in "); 1114 lcd.setCursor(0,1); 1115 lcd.print("the making"); 1116 delay(1000); 1117 1118 digitalWrite(Moonshine, HIGH); 1119 delay(1.5 * oz); 1120 digitalWrite(Moonshine, 1121 LOW); 1122 delay(1000); 1123 state = 0; 1124 lcd.clear(); 1125 lcd.println("Moonshine 1126 Shandy is "); 1127 lcd.setCursor(0,1); 1128 lcd.print("done!"); 1129 delay(5000); 1130} 1131}
Downloadable files
Circuit Diagram
Circuit Diagram

Documentation
Metal Cocktail Machine
Metal Cocktail Machine
Metal Cocktail Machine
Metal Cocktail Machine
Comments
Only logged in users can leave comments