Components and supplies
Arduino LilyPad Main Board
Sewable Conductive Thread
LilyPad LED White (5pcs)
USB-A to Micro-USB Cable
Female/Female Jumper Wires
Project description
Code
Shirt Code
arduino
I have some basic methods to show off the shirt, a method that will display a randomly generated "equalizer" and randomly modify it for a set duration, and a couple of methods that "scroll" a word across the screen. It's not well documented but it works.
1//Maddy McGee 2unsigned long prevMillis = 0; 3unsigned long currentMillis = 0; 4const int xAxis[6] = {2,3,4,5,6,7};//HIGH is on 5const int yAxis[6] = {8,9,10,11,12,13};//LOW is on 6void setup() { 7 pinMode(2, OUTPUT); 8 pinMode(3, OUTPUT); 9 pinMode(4, OUTPUT); 10 pinMode(5, OUTPUT); 11 pinMode(6, OUTPUT); 12 pinMode(7, OUTPUT); 13 pinMode(8, OUTPUT); 14 pinMode(9, OUTPUT); 15 pinMode(10, OUTPUT); 16 pinMode(11, OUTPUT); 17 pinMode(12, OUTPUT); 18 pinMode(13, OUTPUT); 19} 20 21void loop() { 22 allOn(); 23 delay(2000); 24 allOff(); 25 delay(500); 26 ex(); 27 boxesIn(1000); 28 boxesOut(500); 29 equilizer(100,60); 30 //ohio(1000); 31 //ohioScroll(250); 32 //delay(100); 33 //IHeartArt(250); 34} 35 36void allOn() 37{ 38 digitalWrite(2, HIGH); 39 digitalWrite(3, HIGH); 40 digitalWrite(4, HIGH); 41 digitalWrite(5, HIGH); 42 digitalWrite(6, HIGH); 43 digitalWrite(7, HIGH); 44 digitalWrite(8,LOW); 45 digitalWrite(9,LOW); 46 digitalWrite(10,LOW); 47 digitalWrite(11,LOW); 48 digitalWrite(12,LOW); 49 digitalWrite(13,LOW); 50} 51void allOff() 52{ 53 digitalWrite(2, LOW); 54 digitalWrite(3, LOW); 55 digitalWrite(4, LOW); 56 digitalWrite(5, LOW); 57 digitalWrite(6, LOW); 58 digitalWrite(7, LOW); 59 digitalWrite(8,HIGH); 60 digitalWrite(9,HIGH); 61 digitalWrite(10,HIGH); 62 digitalWrite(11,HIGH); 63 digitalWrite(12,HIGH); 64 digitalWrite(13,HIGH); 65} 66 67void XYOn(int x, int y)//0 == far left/bottom, 6 == far right/top 68{ 69 for(int cnt = 0; cnt < 6; cnt++) 70 { 71 if(cnt == x){ 72 digitalWrite(xAxis[cnt], HIGH); 73 } 74 else 75 digitalWrite(xAxis[cnt], LOW); 76 } 77 for(int cnt = 0; cnt < 6; cnt++) 78 { 79 if(cnt == y){ 80 digitalWrite(yAxis[cnt], LOW); 81 } 82 else 83 digitalWrite(yAxis[cnt], HIGH); 84 } 85} 86 87void XOn(int x) 88{ 89 for(int cnt = 0; cnt < 6; cnt++) 90 { 91 if(cnt == x){ 92 digitalWrite(xAxis[cnt], HIGH); 93 } 94 else 95 digitalWrite(xAxis[cnt], LOW); 96 } 97} 98 99void YOn(int y) 100{ 101 for(int cnt = 0; cnt < 6; cnt++) 102 { 103 if(cnt == y){ 104 digitalWrite(yAxis[cnt], HIGH); 105 } 106 else 107 digitalWrite(yAxis[cnt], LOW); 108 } 109} 110 111void bihScroll() 112{ 113 allOff(); 114 //unsigned long start = currentMillis; 115 boolean done = false; 116 int count = 0; 117 while(count<500)//(currentMillis - start < 100) 118 { 119 count++; 120 currentMillis = millis(); 121 digitalWrite(yAxis[0], LOW); 122 digitalWrite(yAxis[1], LOW); 123 digitalWrite(yAxis[2], LOW); 124 digitalWrite(yAxis[3], LOW); 125 digitalWrite(yAxis[4], LOW); 126 digitalWrite(yAxis[5], LOW); 127 XOn(5); 128 delay(1); 129 } 130 while(count<1000)//(currentMillis - start < 200) 131 { 132 count++; 133 allOff(); 134 currentMillis = millis(); 135 if(count%2==0)//(currentMillis%2==0) 136 { 137 digitalWrite(yAxis[0], LOW); 138 digitalWrite(yAxis[1], LOW); 139 digitalWrite(yAxis[2], LOW); 140 digitalWrite(yAxis[3], LOW); 141 digitalWrite(yAxis[4], LOW); 142 digitalWrite(yAxis[5], LOW); 143 XOn(4); 144 } 145 else 146 { 147 digitalWrite(xAxis[5], HIGH); 148 digitalWrite(yAxis[0], LOW); 149 digitalWrite(yAxis[2], LOW); 150 digitalWrite(yAxis[3], LOW); 151 digitalWrite(yAxis[5], LOW); 152 } 153 delay(1); 154 } 155 while(count<1500)//(currentMillis - start < 300) 156 { 157 count++; 158 allOff(); 159 if(count%3==0)//(currentMillis%3==0) 160 { 161 digitalWrite(yAxis[0], LOW); 162 digitalWrite(yAxis[1], LOW); 163 digitalWrite(yAxis[2], LOW); 164 digitalWrite(yAxis[3], LOW); 165 digitalWrite(yAxis[4], LOW); 166 digitalWrite(yAxis[5], LOW); 167 XOn(3); 168 169 } 170 else if(count%2==0)//(currentMillis%2==0) 171 { 172 digitalWrite(xAxis[4], HIGH); 173 digitalWrite(yAxis[0], LOW); 174 digitalWrite(yAxis[2], LOW); 175 digitalWrite(yAxis[3], LOW); 176 digitalWrite(yAxis[5], LOW); 177 } 178 else 179 { 180 digitalWrite(xAxis[5], HIGH); 181 digitalWrite(yAxis[1], LOW); 182 digitalWrite(yAxis[4], LOW); 183 } 184 delay(1); 185 } 186 while(count<2000) 187 { 188 count++; 189 allOff(); 190 if(count%4==0) 191 { 192 digitalWrite(yAxis[0], LOW); 193 digitalWrite(yAxis[1], LOW); 194 digitalWrite(yAxis[2], LOW); 195 digitalWrite(yAxis[3], LOW); 196 digitalWrite(yAxis[4], LOW); 197 digitalWrite(yAxis[5], LOW); 198 XOn(2); 199 } 200 else if(count%3==0) 201 { 202 digitalWrite(xAxis[3], HIGH); 203 digitalWrite(yAxis[0], LOW); 204 digitalWrite(yAxis[2], LOW); 205 digitalWrite(yAxis[3], LOW); 206 digitalWrite(yAxis[5], LOW); 207 } 208 else if(count%2==0) 209 { 210 digitalWrite(xAxis[4], HIGH); 211 digitalWrite(yAxis[1], LOW); 212 digitalWrite(yAxis[4], LOW); 213 } 214 else 215 { 216 digitalWrite(xAxis[5],HIGH); 217 digitalWrite(yAxis[0],LOW); 218 digitalWrite(yAxis[5],LOW); 219 } 220 delay(1); 221 } 222 while(count<2500) 223 { 224 count++; 225 allOff(); 226 if(count%4==0) 227 { 228 digitalWrite(yAxis[0], LOW); 229 digitalWrite(yAxis[1], LOW); 230 digitalWrite(yAxis[2], LOW); 231 digitalWrite(yAxis[3], LOW); 232 digitalWrite(yAxis[4], LOW); 233 digitalWrite(yAxis[5], LOW); 234 XOn(1); 235 XOn(5); 236 } 237 else if(count%3==0) 238 { 239 digitalWrite(xAxis[2], HIGH); 240 digitalWrite(yAxis[0], LOW); 241 digitalWrite(yAxis[2], LOW); 242 digitalWrite(yAxis[3], LOW); 243 digitalWrite(yAxis[5], LOW); 244 } 245 else if(count%2==0) 246 { 247 digitalWrite(xAxis[3], HIGH); 248 digitalWrite(yAxis[1], LOW); 249 digitalWrite(yAxis[4], LOW); 250 } 251 else 252 { 253 digitalWrite(xAxis[4],HIGH); 254 digitalWrite(yAxis[0],LOW); 255 digitalWrite(yAxis[5],LOW); 256 } 257 delay(1); 258 } 259 while(count<3000) 260 { 261 count++; 262 allOff(); 263 if(count%4==0) 264 { 265 digitalWrite(yAxis[0], LOW); 266 digitalWrite(yAxis[1], LOW); 267 digitalWrite(yAxis[2], LOW); 268 digitalWrite(yAxis[3], LOW); 269 digitalWrite(yAxis[4], LOW); 270 digitalWrite(yAxis[5], LOW); 271 XOn(0); 272 XOn(4); 273 } 274 else if(count%3==0) 275 { 276 digitalWrite(xAxis[1], HIGH); 277 digitalWrite(yAxis[0], LOW); 278 digitalWrite(yAxis[2], LOW); 279 digitalWrite(yAxis[3], LOW); 280 digitalWrite(yAxis[5], LOW); 281 } 282 else if(count%2==0) 283 { 284 digitalWrite(xAxis[2], HIGH); 285 digitalWrite(yAxis[1], LOW); 286 digitalWrite(yAxis[4], LOW); 287 } 288 else 289 { 290 digitalWrite(xAxis[3],HIGH); 291 digitalWrite(xAxis[5],HIGH); 292 digitalWrite(yAxis[0],LOW); 293 digitalWrite(yAxis[5],LOW); 294 } 295 delay(1); 296 } 297 while(count<3500) 298 { 299 count++; 300 allOff(); 301 if(count%4==0) 302 { 303 digitalWrite(yAxis[0], LOW); 304 digitalWrite(yAxis[1], LOW); 305 digitalWrite(yAxis[2], LOW); 306 digitalWrite(yAxis[3], LOW); 307 digitalWrite(yAxis[4], LOW); 308 digitalWrite(yAxis[5], LOW); 309 XOn(3); 310 XOn(5); 311 } 312 else if(count%3==0) 313 { 314 digitalWrite(xAxis[0], HIGH); 315 digitalWrite(yAxis[0], LOW); 316 digitalWrite(yAxis[2], LOW); 317 digitalWrite(yAxis[3], LOW); 318 digitalWrite(yAxis[5], LOW); 319 } 320 else if(count%2==0) 321 { 322 digitalWrite(xAxis[1], HIGH); 323 digitalWrite(yAxis[1], LOW); 324 digitalWrite(yAxis[4], LOW); 325 } 326 else 327 { 328 digitalWrite(xAxis[2],HIGH); 329 digitalWrite(xAxis[4],HIGH); 330 digitalWrite(yAxis[0],LOW); 331 digitalWrite(yAxis[5],LOW); 332 } 333 delay(1); 334 } 335 while(count<4000) 336 { 337 count++; 338 allOff(); 339 if(count%4==0) 340 { 341 digitalWrite(yAxis[0], LOW); 342 digitalWrite(yAxis[1], LOW); 343 digitalWrite(yAxis[2], LOW); 344 digitalWrite(yAxis[3], LOW); 345 digitalWrite(yAxis[4], LOW); 346 digitalWrite(yAxis[5], LOW); 347 XOn(2); 348 XOn(4); 349 } 350 else if(count%3==0) 351 { 352 XYOn(5,3); 353 } 354 else if(count%2==0) 355 { 356 digitalWrite(xAxis[0], HIGH); 357 digitalWrite(yAxis[1], LOW); 358 digitalWrite(yAxis[4], LOW); 359 } 360 else 361 { 362 digitalWrite(xAxis[1],HIGH); 363 digitalWrite(xAxis[3],HIGH); 364 digitalWrite(yAxis[0],LOW); 365 digitalWrite(yAxis[5],LOW); 366 } 367 delay(1); 368 } 369 while(count<4500) 370 { 371 count++; 372 allOff(); 373 if(count%3==0) 374 { 375 digitalWrite(yAxis[0], LOW); 376 digitalWrite(yAxis[1], LOW); 377 digitalWrite(yAxis[2], LOW); 378 digitalWrite(yAxis[3], LOW); 379 digitalWrite(yAxis[4], LOW); 380 digitalWrite(yAxis[5], LOW); 381 XOn(1); 382 XOn(3); 383 XOn(5); 384 } 385 else if(count%2==0) 386 { 387 XYOn(4,3); 388 } 389 else 390 { 391 digitalWrite(xAxis[0],HIGH); 392 digitalWrite(xAxis[2],HIGH); 393 digitalWrite(yAxis[0],LOW); 394 digitalWrite(yAxis[5],LOW); 395 } 396 delay(1); 397 } 398 while(count<5000) 399 { 400 count++; 401 allOff(); 402 if(count%3==0) 403 { 404 digitalWrite(yAxis[0], LOW); 405 digitalWrite(yAxis[1], LOW); 406 digitalWrite(yAxis[2], LOW); 407 digitalWrite(yAxis[3], LOW); 408 digitalWrite(yAxis[4], LOW); 409 digitalWrite(yAxis[5], LOW); 410 XOn(0); 411 XOn(2); 412 XOn(4); 413 } 414 else if(count%2==0) 415 { 416 XYOn(3,3); 417 } 418 else 419 { 420 digitalWrite(xAxis[1],HIGH); 421 digitalWrite(yAxis[0],LOW); 422 digitalWrite(yAxis[5],LOW); 423 } 424 delay(1); 425 } 426 while(count<5500) 427 { 428 count++; 429 allOff(); 430 if(count%3==0) 431 { 432 digitalWrite(yAxis[0], LOW); 433 digitalWrite(yAxis[1], LOW); 434 digitalWrite(yAxis[2], LOW); 435 digitalWrite(yAxis[3], LOW); 436 digitalWrite(yAxis[4], LOW); 437 digitalWrite(yAxis[5], LOW); 438 XOn(1); 439 XOn(3); 440 } 441 else if(count%2==0) 442 { 443 XYOn(2,3); 444 } 445 else 446 { 447 digitalWrite(xAxis[0],HIGH); 448 digitalWrite(yAxis[0],LOW); 449 digitalWrite(yAxis[5],LOW); 450 } 451 delay(1); 452 } 453 while(count<6000) 454 { 455 count++; 456 allOff(); 457 if(count%2==0) 458 { 459 digitalWrite(yAxis[0], LOW); 460 digitalWrite(yAxis[1], LOW); 461 digitalWrite(yAxis[2], LOW); 462 digitalWrite(yAxis[3], LOW); 463 digitalWrite(yAxis[4], LOW); 464 digitalWrite(yAxis[5], LOW); 465 XOn(0); 466 XOn(2); 467 } 468 else 469 { 470 XYOn(1,3); 471 } 472 delay(1); 473 } 474 while(count<6500) 475 { 476 count++; 477 allOff(); 478 if(count%2==0) 479 { 480 digitalWrite(yAxis[0], LOW); 481 digitalWrite(yAxis[1], LOW); 482 digitalWrite(yAxis[2], LOW); 483 digitalWrite(yAxis[3], LOW); 484 digitalWrite(yAxis[4], LOW); 485 digitalWrite(yAxis[5], LOW); 486 XOn(1); 487 } 488 else 489 { 490 XYOn(0,3); 491 } 492 delay(1); 493 } 494 while(count<7000) 495 { 496 count++; 497 allOff(); 498 digitalWrite(yAxis[0], LOW); 499 digitalWrite(yAxis[1], LOW); 500 digitalWrite(yAxis[2], LOW); 501 digitalWrite(yAxis[3], LOW); 502 digitalWrite(yAxis[4], LOW); 503 digitalWrite(yAxis[5], LOW); 504 XOn(0); 505 delay(1); 506 } 507 allOff(); 508 delay(500); 509} 510 511void ex() 512{ 513 allOff(); 514 digitalWrite(xAxis[0],HIGH); 515 digitalWrite(xAxis[5],HIGH); 516 digitalWrite(yAxis[0],LOW); 517 digitalWrite(yAxis[5],LOW); 518 delay(300); 519 allOff(); 520 digitalWrite(xAxis[1],HIGH); 521 digitalWrite(xAxis[4],HIGH); 522 digitalWrite(yAxis[1],LOW); 523 digitalWrite(yAxis[4],LOW); 524 delay(300); 525 allOff(); 526 digitalWrite(xAxis[2],HIGH); 527 digitalWrite(xAxis[3],HIGH); 528 digitalWrite(yAxis[2],LOW); 529 digitalWrite(yAxis[3],LOW); 530 delay(500); 531 int count =0; 532 while(count<700) 533 { 534 allOff(); 535 count++; 536 if(count%2==0) 537 { 538 digitalWrite(xAxis[1],HIGH); 539 digitalWrite(xAxis[4],HIGH); 540 digitalWrite(yAxis[1],LOW); 541 digitalWrite(yAxis[4],LOW); 542 } 543 else 544 { 545 digitalWrite(xAxis[2],HIGH); 546 digitalWrite(xAxis[3],HIGH); 547 digitalWrite(yAxis[2],LOW); 548 digitalWrite(yAxis[3],LOW); 549 } 550 } 551 while(count<2000) 552 { 553 allOff(); 554 count++; 555 if(count%3==0) 556 { 557 digitalWrite(xAxis[0],HIGH); 558 digitalWrite(xAxis[5],HIGH); 559 digitalWrite(yAxis[0],LOW); 560 digitalWrite(yAxis[5],LOW); 561 } 562 else if(count %2 ==0) 563 { 564 digitalWrite(xAxis[1],HIGH); 565 digitalWrite(xAxis[4],HIGH); 566 digitalWrite(yAxis[1],LOW); 567 digitalWrite(yAxis[4],LOW); 568 } 569 else 570 { 571 digitalWrite(xAxis[2],HIGH); 572 digitalWrite(xAxis[3],HIGH); 573 digitalWrite(yAxis[2],LOW); 574 digitalWrite(yAxis[3],LOW); 575 } 576 delay(1); 577 } 578} 579 580void boxesIn(int rate) 581{ 582 int count = 0; 583 while(count<rate) 584 { 585 allOff(); 586 count++; 587 if(count%2==0) 588 { 589 digitalWrite(xAxis[0],HIGH); 590 digitalWrite(xAxis[5],HIGH); 591 digitalWrite(yAxis[0],LOW); 592 digitalWrite(yAxis[1],LOW); 593 digitalWrite(yAxis[2],LOW); 594 digitalWrite(yAxis[3],LOW); 595 digitalWrite(yAxis[4],LOW); 596 digitalWrite(yAxis[5],LOW); 597 } 598 else 599 { 600 digitalWrite(xAxis[0],HIGH); 601 digitalWrite(xAxis[1],HIGH); 602 digitalWrite(xAxis[2],HIGH); 603 digitalWrite(xAxis[3],HIGH); 604 digitalWrite(xAxis[4],HIGH); 605 digitalWrite(xAxis[5],HIGH); 606 digitalWrite(yAxis[0],LOW); 607 digitalWrite(yAxis[5],LOW); 608 } 609 delay(1); 610 } 611 while(count<(2*rate)) 612 { 613 allOff(); 614 count++; 615 if(count%2==0) 616 { 617 digitalWrite(xAxis[1],HIGH); 618 digitalWrite(xAxis[4],HIGH); 619 digitalWrite(yAxis[1],LOW); 620 digitalWrite(yAxis[2],LOW); 621 digitalWrite(yAxis[3],LOW); 622 digitalWrite(yAxis[4],LOW); 623 } 624 else 625 { 626 digitalWrite(xAxis[1],HIGH); 627 digitalWrite(xAxis[2],HIGH); 628 digitalWrite(xAxis[3],HIGH); 629 digitalWrite(xAxis[4],HIGH); 630 digitalWrite(yAxis[1],LOW); 631 digitalWrite(yAxis[4],LOW); 632 } 633 delay(1); 634 } 635 while(count<(3*rate)) 636 { 637 allOff(); 638 count++; 639 digitalWrite(xAxis[2],HIGH); 640 digitalWrite(xAxis[3],HIGH); 641 digitalWrite(yAxis[2],LOW); 642 digitalWrite(yAxis[3],LOW); 643 delay(1); 644 } 645} 646 647void boxesOut(int rate) 648{ 649 int count = 0; 650 while(count<rate) 651 { 652 allOff(); 653 count++; 654 digitalWrite(xAxis[2],HIGH); 655 digitalWrite(xAxis[3],HIGH); 656 digitalWrite(yAxis[2],LOW); 657 digitalWrite(yAxis[3],LOW); 658 delay(1); 659 } 660 while(count<(2*rate)) 661 { 662 allOff(); 663 count++; 664 if(count%2==0) 665 { 666 digitalWrite(xAxis[1],HIGH); 667 digitalWrite(xAxis[4],HIGH); 668 digitalWrite(yAxis[1],LOW); 669 digitalWrite(yAxis[2],LOW); 670 digitalWrite(yAxis[3],LOW); 671 digitalWrite(yAxis[4],LOW); 672 } 673 else 674 { 675 digitalWrite(xAxis[1],HIGH); 676 digitalWrite(xAxis[2],HIGH); 677 digitalWrite(xAxis[3],HIGH); 678 digitalWrite(xAxis[4],HIGH); 679 digitalWrite(yAxis[1],LOW); 680 digitalWrite(yAxis[4],LOW); 681 } 682 delay(1); 683 } 684 while(count<(3*rate)) 685 { 686 allOff(); 687 count++; 688 if(count%2==0) 689 { 690 digitalWrite(xAxis[0],HIGH); 691 digitalWrite(xAxis[5],HIGH); 692 digitalWrite(yAxis[0],LOW); 693 digitalWrite(yAxis[1],LOW); 694 digitalWrite(yAxis[2],LOW); 695 digitalWrite(yAxis[3],LOW); 696 digitalWrite(yAxis[4],LOW); 697 digitalWrite(yAxis[5],LOW); 698 } 699 else 700 { 701 digitalWrite(xAxis[0],HIGH); 702 digitalWrite(xAxis[1],HIGH); 703 digitalWrite(xAxis[2],HIGH); 704 digitalWrite(xAxis[3],HIGH); 705 digitalWrite(xAxis[4],HIGH); 706 digitalWrite(xAxis[5],HIGH); 707 digitalWrite(yAxis[0],LOW); 708 digitalWrite(yAxis[5],LOW); 709 } 710 delay(1); 711 } 712} 713 714void equilizer(int duration, int times) 715{ 716 int zero, one, two, three, four, five; 717 zero = random(1,6); 718 one = random(1,6); 719 two = random(1,6); 720 three = random(1,6); 721 four = random(1,6); 722 five = random(1,6); 723 for(int l = 0; l < times; l++) 724 { 725 int count = 0; 726 while(count < duration) 727 { 728 allOff(); 729 count++; 730 if(count%6 == 0) 731 { 732 digitalWrite(xAxis[0],HIGH); 733 for(int h = 0; h < zero; h++) 734 { 735 digitalWrite(yAxis[h], LOW); 736 } 737 } 738 else if(count%5 == 0) 739 { 740 digitalWrite(xAxis[1],HIGH); 741 for(int h = 0; h < one; h++) 742 { 743 digitalWrite(yAxis[h], LOW); 744 } 745 } 746 else if(count%4 == 0) 747 { 748 digitalWrite(xAxis[2],HIGH); 749 for(int h = 0; h < two; h++) 750 { 751 digitalWrite(yAxis[h], LOW); 752 } 753 } 754 else if(count%3 == 0) 755 { 756 digitalWrite(xAxis[3],HIGH); 757 for(int h = 0; h < three; h++) 758 { 759 digitalWrite(yAxis[h], LOW); 760 } 761 } 762 else if(count%2 == 0) 763 { 764 digitalWrite(xAxis[4],HIGH); 765 for(int h = 0; h < four; h++) 766 { 767 digitalWrite(yAxis[h], LOW); 768 } 769 } 770 else 771 { 772 digitalWrite(xAxis[5],HIGH); 773 for(int h = 0; h < five; h++) 774 { 775 digitalWrite(yAxis[h], LOW); 776 } 777 } 778 delay(1); 779 } 780 int add = random(-1,2); 781 if(add + zero >= 0 && add + zero <6) 782 { 783 zero+=add; 784 } 785 add = random(-1,2); 786 if(add + one >= 0 && add + one <6) 787 { 788 one+=add; 789 } 790 add = random(-1,2); 791 if(add + two >= 0 && add + two <6) 792 { 793 two+=add; 794 } 795 add = random(-1,2); 796 if(add + three >= 0 && add + three <6) 797 { 798 three+=add; 799 } 800 add = random(-1,2); 801 if(add + four >= 0 && add + four <6) 802 { 803 four+=add; 804 } 805 add = random(-1,2); 806 if(add + five >= 0 && add + five <6) 807 { 808 five+=add; 809 } 810 } 811} 812 813void ohio(int duration) 814{ 815 int count = 0; 816 while(count < duration) 817 { 818 allOff(); 819 count ++; 820 if(count%4 == 0) 821 { 822 digitalWrite(xAxis[0],HIGH); 823 digitalWrite(xAxis[2],HIGH); 824 digitalWrite(yAxis[1], LOW); 825 digitalWrite(yAxis[2], LOW); 826 digitalWrite(yAxis[3], LOW); 827 digitalWrite(yAxis[4], LOW); 828 } 829 else if(count%3==0) 830 { 831 digitalWrite(xAxis[1], HIGH); 832 digitalWrite(yAxis[0], LOW); 833 digitalWrite(yAxis[5],LOW); 834 } 835 else if(count%2==0) 836 { 837 digitalWrite(xAxis[3],HIGH); 838 digitalWrite(xAxis[5],HIGH); 839 digitalWrite(yAxis[0],LOW); 840 digitalWrite(yAxis[1], LOW); 841 digitalWrite(yAxis[2], LOW); 842 digitalWrite(yAxis[3], LOW); 843 digitalWrite(yAxis[4], LOW); 844 digitalWrite(yAxis[5],LOW); 845 } 846 else 847 { 848 XYOn(4,2); 849 } 850 delay(1); 851 } 852 allOff(); 853 delay(10); 854 while(count < duration *2) 855 { 856 allOff(); 857 count ++; 858 if(count%3 == 0) 859 { 860 digitalWrite(xAxis[3],HIGH); 861 digitalWrite(xAxis[5],HIGH); 862 digitalWrite(yAxis[1], LOW); 863 digitalWrite(yAxis[2], LOW); 864 digitalWrite(yAxis[3], LOW); 865 digitalWrite(yAxis[4], LOW); 866 } 867 else if(count%2==0) 868 { 869 digitalWrite(xAxis[0],HIGH); 870 digitalWrite(xAxis[2], HIGH); 871 digitalWrite(xAxis[4], HIGH); 872 digitalWrite(yAxis[0], LOW); 873 digitalWrite(yAxis[5],LOW); 874 } 875 else 876 { 877 digitalWrite(xAxis[1],HIGH); 878 digitalWrite(yAxis[0],LOW); 879 digitalWrite(yAxis[1], LOW); 880 digitalWrite(yAxis[2], LOW); 881 digitalWrite(yAxis[3], LOW); 882 digitalWrite(yAxis[4], LOW); 883 digitalWrite(yAxis[5],LOW); 884 } 885 delay(1); 886 } 887} 888 889void ohioScroll(int duration) 890{ 891 int count = 0; 892 while(count < duration) 893 { 894 allOff(); 895 count++; 896 digitalWrite(xAxis[5],HIGH); 897 digitalWrite(yAxis[1], LOW); 898 digitalWrite(yAxis[2], LOW); 899 digitalWrite(yAxis[3], LOW); 900 digitalWrite(yAxis[4], LOW); 901 delay(1); 902 } 903 count = 0; 904 while(count < duration) 905 { 906 allOff(); 907 count++; 908 if(count%2==0) 909 { 910 digitalWrite(xAxis[4],HIGH); 911 digitalWrite(yAxis[1], LOW); 912 digitalWrite(yAxis[2], LOW); 913 digitalWrite(yAxis[3], LOW); 914 digitalWrite(yAxis[4], LOW); 915 } 916 else 917 { 918 digitalWrite(xAxis[5], HIGH); 919 digitalWrite(yAxis[0], LOW); 920 digitalWrite(yAxis[5],LOW); 921 } 922 delay(1); 923 } 924 count = 0; 925 while(count < duration) 926 { 927 allOff(); 928 count++; 929 if(count%2==0) 930 { 931 digitalWrite(xAxis[3],HIGH); 932 digitalWrite(xAxis[5],HIGH); 933 digitalWrite(yAxis[1], LOW); 934 digitalWrite(yAxis[2], LOW); 935 digitalWrite(yAxis[3], LOW); 936 digitalWrite(yAxis[4], LOW); 937 } 938 else 939 { 940 digitalWrite(xAxis[4], HIGH); 941 digitalWrite(yAxis[0], LOW); 942 digitalWrite(yAxis[5],LOW); 943 } 944 delay(1); 945 } 946 count = 0; 947 while(count < duration) 948 { 949 allOff(); 950 count++; 951 if(count%2==0) 952 { 953 digitalWrite(xAxis[2],HIGH); 954 digitalWrite(xAxis[4],HIGH); 955 digitalWrite(yAxis[1], LOW); 956 digitalWrite(yAxis[2], LOW); 957 digitalWrite(yAxis[3], LOW); 958 digitalWrite(yAxis[4], LOW); 959 } 960 else 961 { 962 digitalWrite(xAxis[3], HIGH); 963 digitalWrite(yAxis[0], LOW); 964 digitalWrite(yAxis[5],LOW); 965 } 966 delay(1); 967 } 968 count = 0; 969 while(count < duration) 970 { 971 allOff(); 972 count++; 973 if(count%3==0) 974 { 975 digitalWrite(xAxis[1],HIGH); 976 digitalWrite(xAxis[3],HIGH); 977 digitalWrite(yAxis[1], LOW); 978 digitalWrite(yAxis[2], LOW); 979 digitalWrite(yAxis[3], LOW); 980 digitalWrite(yAxis[4], LOW); 981 } 982 else if(count%2==0) 983 { 984 digitalWrite(xAxis[2], HIGH); 985 digitalWrite(yAxis[0], LOW); 986 digitalWrite(yAxis[5],LOW); 987 } 988 else 989 { 990 digitalWrite(xAxis[5],HIGH); 991 digitalWrite(yAxis[0],LOW); 992 digitalWrite(yAxis[1], LOW); 993 digitalWrite(yAxis[2], LOW); 994 digitalWrite(yAxis[3], LOW); 995 digitalWrite(yAxis[4], LOW); 996 digitalWrite(yAxis[5],LOW); 997 } 998 delay(1); 999 } 1000 count = 0; 1001 while(count < duration) 1002 { 1003 allOff(); 1004 count++; 1005 if(count%4==0) 1006 { 1007 digitalWrite(xAxis[0],HIGH); 1008 digitalWrite(xAxis[2],HIGH); 1009 digitalWrite(yAxis[1], LOW); 1010 digitalWrite(yAxis[2], LOW); 1011 digitalWrite(yAxis[3], LOW); 1012 digitalWrite(yAxis[4], LOW); 1013 } 1014 else if(count%3==0) 1015 { 1016 digitalWrite(xAxis[1], HIGH); 1017 digitalWrite(yAxis[0], LOW); 1018 digitalWrite(yAxis[5],LOW); 1019 } 1020 else if(count%2==0) 1021 { 1022 digitalWrite(xAxis[4],HIGH); 1023 digitalWrite(yAxis[0],LOW); 1024 digitalWrite(yAxis[1], LOW); 1025 digitalWrite(yAxis[2], LOW); 1026 digitalWrite(yAxis[3], LOW); 1027 digitalWrite(yAxis[4], LOW); 1028 digitalWrite(yAxis[5],LOW); 1029 } 1030 else 1031 { 1032 XYOn(5,2); 1033 } 1034 delay(1); 1035 } 1036 count = 0; 1037 while(count < duration) 1038 { 1039 allOff(); 1040 count++; 1041 if(count%4==0) 1042 { 1043 digitalWrite(xAxis[1],HIGH); 1044 digitalWrite(yAxis[1], LOW); 1045 digitalWrite(yAxis[2], LOW); 1046 digitalWrite(yAxis[3], LOW); 1047 digitalWrite(yAxis[4], LOW); 1048 } 1049 else if(count%3==0) 1050 { 1051 digitalWrite(xAxis[0], HIGH); 1052 digitalWrite(yAxis[0], LOW); 1053 digitalWrite(yAxis[5],LOW); 1054 } 1055 else if(count%2==0) 1056 { 1057 digitalWrite(xAxis[3],HIGH); 1058 digitalWrite(xAxis[5],HIGH); 1059 digitalWrite(yAxis[0],LOW); 1060 digitalWrite(yAxis[1], LOW); 1061 digitalWrite(yAxis[2], LOW); 1062 digitalWrite(yAxis[3], LOW); 1063 digitalWrite(yAxis[4], LOW); 1064 digitalWrite(yAxis[5],LOW); 1065 } 1066 else 1067 { 1068 XYOn(4,2); 1069 } 1070 delay(1); 1071 } 1072 count = 0; 1073 while(count < duration) 1074 { 1075 allOff(); 1076 count++; 1077 if(count%3==0) 1078 { 1079 digitalWrite(xAxis[0],HIGH); 1080 digitalWrite(yAxis[1], LOW); 1081 digitalWrite(yAxis[2], LOW); 1082 digitalWrite(yAxis[3], LOW); 1083 digitalWrite(yAxis[4], LOW); 1084 } 1085 else if(count%2==0) 1086 { 1087 digitalWrite(xAxis[2],HIGH); 1088 digitalWrite(xAxis[4],HIGH); 1089 digitalWrite(yAxis[0],LOW); 1090 digitalWrite(yAxis[1], LOW); 1091 digitalWrite(yAxis[2], LOW); 1092 digitalWrite(yAxis[3], LOW); 1093 digitalWrite(yAxis[4], LOW); 1094 digitalWrite(yAxis[5],LOW); 1095 } 1096 else 1097 { 1098 XYOn(3,2); 1099 } 1100 delay(1); 1101 } 1102 count = 0; 1103 while(count < duration) 1104 { 1105 allOff(); 1106 count++; 1107 if(count%3==0) 1108 { 1109 digitalWrite(xAxis[5], HIGH); 1110 digitalWrite(yAxis[0], LOW); 1111 digitalWrite(yAxis[5],LOW); 1112 } 1113 else if(count%2==0) 1114 { 1115 digitalWrite(xAxis[1],HIGH); 1116 digitalWrite(xAxis[3],HIGH); 1117 digitalWrite(yAxis[0],LOW); 1118 digitalWrite(yAxis[1], LOW); 1119 digitalWrite(yAxis[2], LOW); 1120 digitalWrite(yAxis[3], LOW); 1121 digitalWrite(yAxis[4], LOW); 1122 digitalWrite(yAxis[5],LOW); 1123 } 1124 else 1125 { 1126 XYOn(2,2); 1127 } 1128 delay(1); 1129 } 1130 count = 0; 1131 while(count < duration) 1132 { 1133 allOff(); 1134 count++; 1135 if(count%3==0) 1136 { 1137 digitalWrite(xAxis[4], HIGH); 1138 digitalWrite(yAxis[0], LOW); 1139 digitalWrite(yAxis[5],LOW); 1140 } 1141 else if(count%2==0) 1142 { 1143 digitalWrite(xAxis[0],HIGH); 1144 digitalWrite(xAxis[2],HIGH); 1145 digitalWrite(xAxis[5],HIGH); 1146 digitalWrite(yAxis[0],LOW); 1147 digitalWrite(yAxis[1], LOW); 1148 digitalWrite(yAxis[2], LOW); 1149 digitalWrite(yAxis[3], LOW); 1150 digitalWrite(yAxis[4], LOW); 1151 digitalWrite(yAxis[5],LOW); 1152 } 1153 else 1154 { 1155 XYOn(1,2); 1156 } 1157 delay(1); 1158 } 1159 count = 0; 1160 while(count < duration) 1161 { 1162 allOff(); 1163 count++; 1164 if(count%3==0) 1165 { 1166 digitalWrite(xAxis[3], HIGH); 1167 digitalWrite(xAxis[5], HIGH); 1168 digitalWrite(yAxis[0], LOW); 1169 digitalWrite(yAxis[5],LOW); 1170 } 1171 else if(count%2==0) 1172 { 1173 digitalWrite(xAxis[1],HIGH); 1174 digitalWrite(xAxis[4],HIGH); 1175 digitalWrite(yAxis[0],LOW); 1176 digitalWrite(yAxis[1], LOW); 1177 digitalWrite(yAxis[2], LOW); 1178 digitalWrite(yAxis[3], LOW); 1179 digitalWrite(yAxis[4], LOW); 1180 digitalWrite(yAxis[5],LOW); 1181 } 1182 else 1183 { 1184 XYOn(0,2); 1185 } 1186 delay(1); 1187 } 1188 count = 0; 1189 while(count < duration) 1190 { 1191 allOff(); 1192 count++; 1193 if(count%2==0) 1194 { 1195 digitalWrite(xAxis[2], HIGH); 1196 digitalWrite(xAxis[4], HIGH); 1197 digitalWrite(yAxis[0], LOW); 1198 digitalWrite(yAxis[5],LOW); 1199 } 1200 else 1201 { 1202 digitalWrite(xAxis[0],HIGH); 1203 digitalWrite(xAxis[3],HIGH); 1204 digitalWrite(yAxis[0],LOW); 1205 digitalWrite(yAxis[1], LOW); 1206 digitalWrite(yAxis[2], LOW); 1207 digitalWrite(yAxis[3], LOW); 1208 digitalWrite(yAxis[4], LOW); 1209 digitalWrite(yAxis[5],LOW); 1210 } 1211 delay(1); 1212 } 1213 count = 0; 1214 while(count < duration) 1215 { 1216 allOff(); 1217 count++; 1218 if(count%3==0) 1219 { 1220 digitalWrite(xAxis[1], HIGH); 1221 digitalWrite(xAxis[3], HIGH); 1222 digitalWrite(yAxis[0], LOW); 1223 digitalWrite(yAxis[5],LOW); 1224 } 1225 else if(count%2==0) 1226 { 1227 digitalWrite(xAxis[2],HIGH); 1228 digitalWrite(yAxis[0],LOW); 1229 digitalWrite(yAxis[1], LOW); 1230 digitalWrite(yAxis[2], LOW); 1231 digitalWrite(yAxis[3], LOW); 1232 digitalWrite(yAxis[4], LOW); 1233 digitalWrite(yAxis[5],LOW); 1234 } 1235 else 1236 { 1237 digitalWrite(xAxis[5],HIGH); 1238 digitalWrite(yAxis[1], LOW); 1239 digitalWrite(yAxis[2], LOW); 1240 digitalWrite(yAxis[3], LOW); 1241 digitalWrite(yAxis[4], LOW); 1242 } 1243 delay(1); 1244 } 1245 count = 0; 1246 while(count < duration) 1247 { 1248 allOff(); 1249 count++; 1250 if(count%3==0) 1251 { 1252 digitalWrite(xAxis[0], HIGH); 1253 digitalWrite(xAxis[2], HIGH); 1254 digitalWrite(xAxis[5], HIGH); 1255 digitalWrite(yAxis[0], LOW); 1256 digitalWrite(yAxis[5],LOW); 1257 } 1258 else if(count%2==0) 1259 { 1260 digitalWrite(xAxis[1],HIGH); 1261 digitalWrite(yAxis[0],LOW); 1262 digitalWrite(yAxis[1], LOW); 1263 digitalWrite(yAxis[2], LOW); 1264 digitalWrite(yAxis[3], LOW); 1265 digitalWrite(yAxis[4], LOW); 1266 digitalWrite(yAxis[5],LOW); 1267 } 1268 else 1269 { 1270 digitalWrite(xAxis[4],HIGH); 1271 digitalWrite(yAxis[1], LOW); 1272 digitalWrite(yAxis[2], LOW); 1273 digitalWrite(yAxis[3], LOW); 1274 digitalWrite(yAxis[4], LOW); 1275 } 1276 delay(1); 1277 } 1278 count = 0; 1279 while(count < duration) 1280 { 1281 allOff(); 1282 count++; 1283 if(count%3==0) 1284 { 1285 digitalWrite(xAxis[1], HIGH); 1286 digitalWrite(xAxis[4], HIGH); 1287 digitalWrite(yAxis[0], LOW); 1288 digitalWrite(yAxis[5],LOW); 1289 } 1290 else if(count%2==0) 1291 { 1292 digitalWrite(xAxis[0],HIGH); 1293 digitalWrite(yAxis[0],LOW); 1294 digitalWrite(yAxis[1], LOW); 1295 digitalWrite(yAxis[2], LOW); 1296 digitalWrite(yAxis[3], LOW); 1297 digitalWrite(yAxis[4], LOW); 1298 digitalWrite(yAxis[5],LOW); 1299 } 1300 else 1301 { 1302 digitalWrite(xAxis[3],HIGH); 1303 digitalWrite(xAxis[5],HIGH); 1304 digitalWrite(yAxis[1], LOW); 1305 digitalWrite(yAxis[2], LOW); 1306 digitalWrite(yAxis[3], LOW); 1307 digitalWrite(yAxis[4], LOW); 1308 } 1309 delay(1); 1310 } 1311 count = 0; 1312 while(count < duration) 1313 { 1314 allOff(); 1315 count++; 1316 if(count%2==0) 1317 { 1318 digitalWrite(xAxis[0], HIGH); 1319 digitalWrite(xAxis[3], HIGH); 1320 digitalWrite(yAxis[0], LOW); 1321 digitalWrite(yAxis[5],LOW); 1322 } 1323 else 1324 { 1325 digitalWrite(xAxis[2],HIGH); 1326 digitalWrite(xAxis[4],HIGH); 1327 digitalWrite(yAxis[1], LOW); 1328 digitalWrite(yAxis[2], LOW); 1329 digitalWrite(yAxis[3], LOW); 1330 digitalWrite(yAxis[4], LOW); 1331 } 1332 delay(1); 1333 } 1334 count = 0; 1335 while(count < duration) 1336 { 1337 allOff(); 1338 count++; 1339 if(count%2==0) 1340 { 1341 digitalWrite(xAxis[2], HIGH); 1342 digitalWrite(yAxis[0], LOW); 1343 digitalWrite(yAxis[5],LOW); 1344 } 1345 else 1346 { 1347 digitalWrite(xAxis[1],HIGH); 1348 digitalWrite(xAxis[3],HIGH); 1349 digitalWrite(yAxis[1], LOW); 1350 digitalWrite(yAxis[2], LOW); 1351 digitalWrite(yAxis[3], LOW); 1352 digitalWrite(yAxis[4], LOW); 1353 } 1354 delay(1); 1355 } 1356 count = 0; 1357 while(count < duration) 1358 { 1359 allOff(); 1360 count++; 1361 if(count%2==0) 1362 { 1363 digitalWrite(xAxis[1], HIGH); 1364 digitalWrite(yAxis[0], LOW); 1365 digitalWrite(yAxis[5],LOW); 1366 } 1367 else 1368 { 1369 digitalWrite(xAxis[0],HIGH); 1370 digitalWrite(xAxis[2],HIGH); 1371 digitalWrite(yAxis[1], LOW); 1372 digitalWrite(yAxis[2], LOW); 1373 digitalWrite(yAxis[3], LOW); 1374 digitalWrite(yAxis[4], LOW); 1375 } 1376 delay(1); 1377 } 1378 count = 0; 1379 while(count < duration) 1380 { 1381 allOff(); 1382 count++; 1383 if(count%2==0) 1384 { 1385 digitalWrite(xAxis[0], HIGH); 1386 digitalWrite(yAxis[0], LOW); 1387 digitalWrite(yAxis[5],LOW); 1388 } 1389 else 1390 { 1391 digitalWrite(xAxis[1],HIGH); 1392 digitalWrite(yAxis[1], LOW); 1393 digitalWrite(yAxis[2], LOW); 1394 digitalWrite(yAxis[3], LOW); 1395 digitalWrite(yAxis[4], LOW); 1396 } 1397 delay(1); 1398 } 1399 count = 0; 1400 while(count < duration) 1401 { 1402 allOff(); 1403 count++; 1404 digitalWrite(xAxis[0],HIGH); 1405 digitalWrite(yAxis[1], LOW); 1406 digitalWrite(yAxis[2], LOW); 1407 digitalWrite(yAxis[3], LOW); 1408 digitalWrite(yAxis[4], LOW); 1409 delay(1); 1410 } 1411} 1412 1413void IHeartArt(int duration) 1414{ 1415 int count = 0; 1416 while(count < duration) 1417 { 1418 allOff(); 1419 count++; 1420 digitalWrite(xAxis[5], HIGH); 1421 digitalWrite(yAxis[0], LOW); 1422 digitalWrite(yAxis[5], LOW); 1423 delay(1); 1424 } 1425 count = 0; 1426 while(count < duration) 1427 { 1428 allOff(); 1429 count++; 1430 if(count%2 == 0) 1431 { 1432 digitalWrite(xAxis[4], HIGH); 1433 digitalWrite(yAxis[0], LOW); 1434 digitalWrite(yAxis[5], LOW); 1435 } 1436 else 1437 { 1438 digitalWrite(xAxis[5], HIGH); 1439 digitalWrite(yAxis[0], LOW); 1440 digitalWrite(yAxis[1], LOW); 1441 digitalWrite(yAxis[2], LOW); 1442 digitalWrite(yAxis[3], LOW); 1443 digitalWrite(yAxis[4], LOW); 1444 digitalWrite(yAxis[5], LOW); 1445 } 1446 delay(1); 1447 } 1448 count = 0; 1449 while(count < duration) 1450 { 1451 allOff(); 1452 count++; 1453 if(count%2 == 0) 1454 { 1455 digitalWrite(xAxis[3], HIGH); 1456 digitalWrite(xAxis[5], HIGH); 1457 digitalWrite(yAxis[0], LOW); 1458 digitalWrite(yAxis[5], LOW); 1459 } 1460 else 1461 { 1462 digitalWrite(xAxis[4], HIGH); 1463 digitalWrite(yAxis[0], LOW); 1464 digitalWrite(yAxis[1], LOW); 1465 digitalWrite(yAxis[2], LOW); 1466 digitalWrite(yAxis[3], LOW); 1467 digitalWrite(yAxis[4], LOW); 1468 digitalWrite(yAxis[5], LOW); 1469 } 1470 delay(1); 1471 } 1472 count = 0; 1473 while(count < duration) 1474 { 1475 allOff(); 1476 count++; 1477 if(count%2 == 0) 1478 { 1479 digitalWrite(xAxis[2], HIGH); 1480 digitalWrite(xAxis[4], HIGH); 1481 digitalWrite(yAxis[0], LOW); 1482 digitalWrite(yAxis[5], LOW); 1483 } 1484 else 1485 { 1486 digitalWrite(xAxis[3], HIGH); 1487 digitalWrite(yAxis[0], LOW); 1488 digitalWrite(yAxis[1], LOW); 1489 digitalWrite(yAxis[2], LOW); 1490 digitalWrite(yAxis[3], LOW); 1491 digitalWrite(yAxis[4], LOW); 1492 digitalWrite(yAxis[5], LOW); 1493 } 1494 delay(1); 1495 } 1496 count = 0; 1497 while(count < duration) 1498 { 1499 allOff(); 1500 count++; 1501 if(count%3 == 0) 1502 { 1503 digitalWrite(xAxis[1], HIGH); 1504 digitalWrite(xAxis[3], HIGH); 1505 digitalWrite(yAxis[0], LOW); 1506 digitalWrite(yAxis[5], LOW); 1507 } 1508 else if(count%2 == 0) 1509 { 1510 digitalWrite(xAxis[2], HIGH); 1511 digitalWrite(yAxis[0], LOW); 1512 digitalWrite(yAxis[1], LOW); 1513 digitalWrite(yAxis[2], LOW); 1514 digitalWrite(yAxis[3], LOW); 1515 digitalWrite(yAxis[4], LOW); 1516 digitalWrite(yAxis[5], LOW); 1517 } 1518 else 1519 { 1520 digitalWrite(xAxis[5], HIGH); 1521 digitalWrite(yAxis[3], LOW); 1522 digitalWrite(yAxis[4], LOW); 1523 } 1524 delay(1); 1525 } 1526 count = 0; 1527 while(count < duration) 1528 { 1529 allOff(); 1530 count++; 1531 if(count%4 == 0) 1532 { 1533 digitalWrite(xAxis[0], HIGH); 1534 digitalWrite(xAxis[2], HIGH); 1535 digitalWrite(yAxis[0], LOW); 1536 digitalWrite(yAxis[5], LOW); 1537 } 1538 else if(count%3 == 0) 1539 { 1540 digitalWrite(xAxis[1], HIGH); 1541 digitalWrite(yAxis[0], LOW); 1542 digitalWrite(yAxis[1], LOW); 1543 digitalWrite(yAxis[2], LOW); 1544 digitalWrite(yAxis[3], LOW); 1545 digitalWrite(yAxis[4], LOW); 1546 digitalWrite(yAxis[5], LOW); 1547 } 1548 else if(count%2 == 0) 1549 { 1550 digitalWrite(xAxis[4], HIGH); 1551 digitalWrite(yAxis[3], LOW); 1552 digitalWrite(yAxis[4], LOW); 1553 } 1554 else 1555 { 1556 digitalWrite(xAxis[5], HIGH); 1557 digitalWrite(yAxis[1], LOW); 1558 digitalWrite(yAxis[2], LOW); 1559 digitalWrite(yAxis[3], LOW); 1560 digitalWrite(yAxis[4], LOW); 1561 digitalWrite(yAxis[5], LOW); 1562 } 1563 delay(1); 1564 } 1565 count = 0; 1566 while(count < duration) 1567 { 1568 allOff(); 1569 count++; 1570 if(count%5 == 0) 1571 { 1572 digitalWrite(xAxis[1], HIGH); 1573 digitalWrite(yAxis[0], LOW); 1574 digitalWrite(yAxis[5], LOW); 1575 } 1576 else if(count%4 == 0) 1577 { 1578 digitalWrite(xAxis[0], HIGH); 1579 digitalWrite(yAxis[0], LOW); 1580 digitalWrite(yAxis[1], LOW); 1581 digitalWrite(yAxis[2], LOW); 1582 digitalWrite(yAxis[3], LOW); 1583 digitalWrite(yAxis[4], LOW); 1584 digitalWrite(yAxis[5], LOW); 1585 } 1586 else if(count%3 == 0) 1587 { 1588 digitalWrite(xAxis[3], HIGH); 1589 digitalWrite(yAxis[3], LOW); 1590 digitalWrite(yAxis[4], LOW); 1591 } 1592 else if(count%2 == 0) 1593 { 1594 digitalWrite(xAxis[4], HIGH); 1595 digitalWrite(yAxis[1], LOW); 1596 digitalWrite(yAxis[2], LOW); 1597 digitalWrite(yAxis[3], LOW); 1598 digitalWrite(yAxis[4], LOW); 1599 digitalWrite(yAxis[5], LOW); 1600 } 1601 else 1602 { 1603 digitalWrite(xAxis[5], HIGH); 1604 digitalWrite(yAxis[0], LOW); 1605 digitalWrite(yAxis[1], LOW); 1606 digitalWrite(yAxis[2], LOW); 1607 digitalWrite(yAxis[3], LOW); 1608 digitalWrite(yAxis[4], LOW); 1609 } 1610 delay(1); 1611 } 1612 count = 0; 1613 while(count < duration) 1614 { 1615 allOff(); 1616 count++; 1617 if(count%4 == 0) 1618 { 1619 digitalWrite(xAxis[0], HIGH); 1620 digitalWrite(yAxis[0], LOW); 1621 digitalWrite(yAxis[5], LOW); 1622 } 1623 else if(count%3 == 0) 1624 { 1625 digitalWrite(xAxis[2], HIGH); 1626 digitalWrite(yAxis[3], LOW); 1627 digitalWrite(yAxis[4], LOW); 1628 } 1629 else if(count%2 == 0) 1630 { 1631 digitalWrite(xAxis[3], HIGH); 1632 digitalWrite(xAxis[5], HIGH); 1633 digitalWrite(yAxis[1], LOW); 1634 digitalWrite(yAxis[2], LOW); 1635 digitalWrite(yAxis[3], LOW); 1636 digitalWrite(yAxis[4], LOW); 1637 digitalWrite(yAxis[5], LOW); 1638 } 1639 else 1640 { 1641 digitalWrite(xAxis[4], HIGH); 1642 digitalWrite(yAxis[0], LOW); 1643 digitalWrite(yAxis[1], LOW); 1644 digitalWrite(yAxis[2], LOW); 1645 digitalWrite(yAxis[3], LOW); 1646 digitalWrite(yAxis[4], LOW); 1647 } 1648 delay(1); 1649 } 1650 count = 0; 1651 while(count < duration) 1652 { 1653 allOff(); 1654 count++; 1655 if(count%3 == 0) 1656 { 1657 digitalWrite(xAxis[1], HIGH); 1658 digitalWrite(xAxis[5], HIGH); 1659 digitalWrite(yAxis[3], LOW); 1660 digitalWrite(yAxis[4], LOW); 1661 } 1662 else if(count%2 == 0) 1663 { 1664 digitalWrite(xAxis[2], HIGH); 1665 digitalWrite(xAxis[4], HIGH); 1666 digitalWrite(yAxis[1], LOW); 1667 digitalWrite(yAxis[2], LOW); 1668 digitalWrite(yAxis[3], LOW); 1669 digitalWrite(yAxis[4], LOW); 1670 digitalWrite(yAxis[5], LOW); 1671 } 1672 else 1673 { 1674 digitalWrite(xAxis[3], HIGH); 1675 digitalWrite(yAxis[0], LOW); 1676 digitalWrite(yAxis[1], LOW); 1677 digitalWrite(yAxis[2], LOW); 1678 digitalWrite(yAxis[3], LOW); 1679 digitalWrite(yAxis[4], LOW); 1680 } 1681 delay(1); 1682 } 1683 count = 0; 1684 while(count < duration) 1685 { 1686 allOff(); 1687 count++; 1688 if(count%3 == 0) 1689 { 1690 digitalWrite(xAxis[0], HIGH); 1691 digitalWrite(xAxis[4], HIGH); 1692 digitalWrite(yAxis[3], LOW); 1693 digitalWrite(yAxis[4], LOW); 1694 } 1695 else if(count%2 == 0) 1696 { 1697 digitalWrite(xAxis[1], HIGH); 1698 digitalWrite(xAxis[3], HIGH); 1699 digitalWrite(yAxis[1], LOW); 1700 digitalWrite(yAxis[2], LOW); 1701 digitalWrite(yAxis[3], LOW); 1702 digitalWrite(yAxis[4], LOW); 1703 digitalWrite(yAxis[5], LOW); 1704 } 1705 else 1706 { 1707 digitalWrite(xAxis[2], HIGH); 1708 digitalWrite(yAxis[0], LOW); 1709 digitalWrite(yAxis[1], LOW); 1710 digitalWrite(yAxis[2], LOW); 1711 digitalWrite(yAxis[3], LOW); 1712 digitalWrite(yAxis[4], LOW); 1713 } 1714 delay(1); 1715 } 1716 count = 0; 1717 while(count < duration) 1718 { 1719 allOff(); 1720 count++; 1721 if(count%2 == 0) 1722 { 1723 digitalWrite(xAxis[0], HIGH); 1724 digitalWrite(xAxis[2], HIGH); 1725 digitalWrite(yAxis[1], LOW); 1726 digitalWrite(yAxis[2], LOW); 1727 digitalWrite(yAxis[3], LOW); 1728 digitalWrite(yAxis[4], LOW); 1729 digitalWrite(yAxis[5], LOW); 1730 } 1731 else 1732 { 1733 digitalWrite(xAxis[1], HIGH); 1734 digitalWrite(xAxis[5], HIGH); 1735 digitalWrite(yAxis[0], LOW); 1736 digitalWrite(yAxis[1], LOW); 1737 digitalWrite(yAxis[2], LOW); 1738 digitalWrite(yAxis[3], LOW); 1739 digitalWrite(yAxis[4], LOW); 1740 } 1741 delay(1); 1742 } 1743 count = 0; 1744 while(count < duration) 1745 { 1746 allOff(); 1747 count++; 1748 if(count%3 == 0) 1749 { 1750 digitalWrite(xAxis[1], HIGH); 1751 digitalWrite(yAxis[1], LOW); 1752 digitalWrite(yAxis[2], LOW); 1753 digitalWrite(yAxis[3], LOW); 1754 digitalWrite(yAxis[4], LOW); 1755 digitalWrite(yAxis[5], LOW); 1756 } 1757 else if(count%2 == 0) 1758 { 1759 digitalWrite(xAxis[0], HIGH); 1760 digitalWrite(xAxis[4], HIGH); 1761 digitalWrite(yAxis[0], LOW); 1762 digitalWrite(yAxis[1], LOW); 1763 digitalWrite(yAxis[2], LOW); 1764 digitalWrite(yAxis[3], LOW); 1765 digitalWrite(yAxis[4], LOW); 1766 } 1767 else 1768 { 1769 digitalWrite(xAxis[5], HIGH); 1770 digitalWrite(yAxis[2], LOW); 1771 digitalWrite(yAxis[5], LOW); 1772 } 1773 delay(1); 1774 } 1775 count = 0; 1776 while(count < duration) 1777 { 1778 allOff(); 1779 count++; 1780 if(count%3 == 0) 1781 { 1782 digitalWrite(xAxis[0], HIGH); 1783 digitalWrite(yAxis[1], LOW); 1784 digitalWrite(yAxis[2], LOW); 1785 digitalWrite(yAxis[3], LOW); 1786 digitalWrite(yAxis[4], LOW); 1787 digitalWrite(yAxis[5], LOW); 1788 } 1789 else if(count%2 == 0) 1790 { 1791 digitalWrite(xAxis[3], HIGH); 1792 digitalWrite(xAxis[5], HIGH); 1793 digitalWrite(yAxis[0], LOW); 1794 digitalWrite(yAxis[1], LOW); 1795 digitalWrite(yAxis[2], LOW); 1796 digitalWrite(yAxis[3], LOW); 1797 digitalWrite(yAxis[4], LOW); 1798 } 1799 else 1800 { 1801 digitalWrite(xAxis[4], HIGH); 1802 digitalWrite(yAxis[2], LOW); 1803 digitalWrite(yAxis[5], LOW); 1804 } 1805 delay(1); 1806 } 1807 count = 0; 1808 while(count < duration) 1809 { 1810 allOff(); 1811 count++; 1812 if(count%2 == 0) 1813 { 1814 digitalWrite(xAxis[2], HIGH); 1815 digitalWrite(xAxis[4], HIGH); 1816 digitalWrite(yAxis[0], LOW); 1817 digitalWrite(yAxis[1], LOW); 1818 digitalWrite(yAxis[2], LOW); 1819 digitalWrite(yAxis[3], LOW); 1820 digitalWrite(yAxis[4], LOW); 1821 } 1822 else 1823 { 1824 digitalWrite(xAxis[3], HIGH); 1825 digitalWrite(yAxis[2], LOW); 1826 digitalWrite(yAxis[5], LOW); 1827 } 1828 delay(1); 1829 } 1830 count = 0; 1831 while(count < duration) 1832 { 1833 allOff(); 1834 count++; 1835 if(count%3 == 0) 1836 { 1837 digitalWrite(xAxis[1], HIGH); 1838 digitalWrite(xAxis[3], HIGH); 1839 digitalWrite(yAxis[0], LOW); 1840 digitalWrite(yAxis[1], LOW); 1841 digitalWrite(yAxis[2], LOW); 1842 digitalWrite(yAxis[3], LOW); 1843 digitalWrite(yAxis[4], LOW); 1844 } 1845 else if(count%2 == 0) 1846 { 1847 digitalWrite(xAxis[2], HIGH); 1848 digitalWrite(yAxis[2], LOW); 1849 digitalWrite(yAxis[5], LOW); 1850 } 1851 else 1852 { 1853 digitalWrite(xAxis[5], HIGH); 1854 digitalWrite(yAxis[0], LOW); 1855 digitalWrite(yAxis[1], LOW); 1856 digitalWrite(yAxis[2], LOW); 1857 digitalWrite(yAxis[3], LOW); 1858 digitalWrite(yAxis[4], LOW); 1859 digitalWrite(yAxis[5], LOW); 1860 } 1861 delay(1); 1862 } 1863 count = 0; 1864 while(count < duration) 1865 { 1866 allOff(); 1867 count++; 1868 if(count%3 == 0) 1869 { 1870 digitalWrite(xAxis[0], HIGH); 1871 digitalWrite(xAxis[2], HIGH); 1872 digitalWrite(yAxis[0], LOW); 1873 digitalWrite(yAxis[1], LOW); 1874 digitalWrite(yAxis[2], LOW); 1875 digitalWrite(yAxis[3], LOW); 1876 digitalWrite(yAxis[4], LOW); 1877 } 1878 else if(count%2 == 0) 1879 { 1880 digitalWrite(xAxis[1], HIGH); 1881 digitalWrite(xAxis[5], HIGH); 1882 digitalWrite(yAxis[2], LOW); 1883 digitalWrite(yAxis[5], LOW); 1884 } 1885 else 1886 { 1887 digitalWrite(xAxis[4], HIGH); 1888 digitalWrite(yAxis[0], LOW); 1889 digitalWrite(yAxis[1], LOW); 1890 digitalWrite(yAxis[2], LOW); 1891 digitalWrite(yAxis[3], LOW); 1892 digitalWrite(yAxis[4], LOW); 1893 digitalWrite(yAxis[5], LOW); 1894 } 1895 delay(1); 1896 } 1897 count = 0; 1898 while(count < duration) 1899 { 1900 allOff(); 1901 count++; 1902 if(count%4 == 0) 1903 { 1904 digitalWrite(xAxis[1], HIGH); 1905 digitalWrite(yAxis[0], LOW); 1906 digitalWrite(yAxis[1], LOW); 1907 digitalWrite(yAxis[2], LOW); 1908 digitalWrite(yAxis[3], LOW); 1909 digitalWrite(yAxis[4], LOW); 1910 } 1911 else if(count%3 == 0) 1912 { 1913 digitalWrite(xAxis[0], HIGH); 1914 digitalWrite(xAxis[4], HIGH); 1915 digitalWrite(yAxis[2], LOW); 1916 digitalWrite(yAxis[5], LOW); 1917 } 1918 else if(count%2 == 0) 1919 { 1920 digitalWrite(xAxis[3], HIGH); 1921 digitalWrite(yAxis[0], LOW); 1922 digitalWrite(yAxis[1], LOW); 1923 digitalWrite(yAxis[2], LOW); 1924 digitalWrite(yAxis[3], LOW); 1925 digitalWrite(yAxis[4], LOW); 1926 digitalWrite(yAxis[5], LOW); 1927 } 1928 else 1929 { 1930 digitalWrite(xAxis[5], HIGH); 1931 digitalWrite(yAxis[0], LOW); 1932 digitalWrite(yAxis[1], LOW); 1933 digitalWrite(yAxis[3], LOW); 1934 digitalWrite(yAxis[4], LOW); 1935 } 1936 delay(1); 1937 } 1938 count = 0; 1939 while(count < duration) 1940 { 1941 allOff(); 1942 count++; 1943 if(count%4 == 0) 1944 { 1945 digitalWrite(xAxis[0], HIGH); 1946 digitalWrite(yAxis[0], LOW); 1947 digitalWrite(yAxis[1], LOW); 1948 digitalWrite(yAxis[2], LOW); 1949 digitalWrite(yAxis[3], LOW); 1950 digitalWrite(yAxis[4], LOW); 1951 } 1952 else if(count%3 == 0) 1953 { 1954 digitalWrite(xAxis[3], HIGH); 1955 digitalWrite(yAxis[2], LOW); 1956 digitalWrite(yAxis[5], LOW); 1957 } 1958 else if(count%2 == 0) 1959 { 1960 digitalWrite(xAxis[2], HIGH); 1961 digitalWrite(yAxis[0], LOW); 1962 digitalWrite(yAxis[1], LOW); 1963 digitalWrite(yAxis[2], LOW); 1964 digitalWrite(yAxis[3], LOW); 1965 digitalWrite(yAxis[4], LOW); 1966 digitalWrite(yAxis[5], LOW); 1967 } 1968 else 1969 { 1970 digitalWrite(xAxis[4], HIGH); 1971 digitalWrite(yAxis[0], LOW); 1972 digitalWrite(yAxis[1], LOW); 1973 digitalWrite(yAxis[3], LOW); 1974 digitalWrite(yAxis[4], LOW); 1975 } 1976 delay(1); 1977 } 1978 count = 0; 1979 while(count < duration) 1980 { 1981 allOff(); 1982 count++; 1983 if(count%4 == 0) 1984 { 1985 digitalWrite(xAxis[5], HIGH); 1986 digitalWrite(yAxis[5], LOW); 1987 } 1988 else if(count%3 == 0) 1989 { 1990 digitalWrite(xAxis[2], HIGH); 1991 digitalWrite(yAxis[2], LOW); 1992 digitalWrite(yAxis[5], LOW); 1993 } 1994 else if(count%2 == 0) 1995 { 1996 digitalWrite(xAxis[1], HIGH); 1997 digitalWrite(yAxis[0], LOW); 1998 digitalWrite(yAxis[1], LOW); 1999 digitalWrite(yAxis[2], LOW); 2000 digitalWrite(yAxis[3], LOW); 2001 digitalWrite(yAxis[4], LOW); 2002 digitalWrite(yAxis[5], LOW); 2003 } 2004 else 2005 { 2006 digitalWrite(xAxis[3], HIGH); 2007 digitalWrite(yAxis[0], LOW); 2008 digitalWrite(yAxis[1], LOW); 2009 digitalWrite(yAxis[3], LOW); 2010 digitalWrite(yAxis[4], LOW); 2011 } 2012 delay(1); 2013 } 2014 count = 0; 2015 while(count < duration) 2016 { 2017 allOff(); 2018 count++; 2019 if(count%4 == 0) 2020 { 2021 digitalWrite(xAxis[4], HIGH); 2022 digitalWrite(yAxis[5], LOW); 2023 } 2024 else if(count%3 == 0) 2025 { 2026 digitalWrite(xAxis[1], HIGH); 2027 digitalWrite(yAxis[2], LOW); 2028 digitalWrite(yAxis[5], LOW); 2029 } 2030 else if(count%2 == 0) 2031 { 2032 digitalWrite(xAxis[0], HIGH); 2033 digitalWrite(xAxis[5], HIGH); 2034 digitalWrite(yAxis[0], LOW); 2035 digitalWrite(yAxis[1], LOW); 2036 digitalWrite(yAxis[2], LOW); 2037 digitalWrite(yAxis[3], LOW); 2038 digitalWrite(yAxis[4], LOW); 2039 digitalWrite(yAxis[5], LOW); 2040 } 2041 else 2042 { 2043 digitalWrite(xAxis[2], HIGH); 2044 digitalWrite(yAxis[0], LOW); 2045 digitalWrite(yAxis[1], LOW); 2046 digitalWrite(yAxis[3], LOW); 2047 digitalWrite(yAxis[4], LOW); 2048 } 2049 delay(1); 2050 } 2051 count = 0; 2052 while(count < duration) 2053 { 2054 allOff(); 2055 count++; 2056 if(count%4 == 0) 2057 { 2058 digitalWrite(xAxis[3], HIGH); 2059 digitalWrite(xAxis[5], HIGH); 2060 digitalWrite(yAxis[5], LOW); 2061 } 2062 else if(count%3 == 0) 2063 { 2064 digitalWrite(xAxis[0], HIGH); 2065 digitalWrite(yAxis[2], LOW); 2066 digitalWrite(yAxis[5], LOW); 2067 } 2068 else if(count%2 == 0) 2069 { 2070 digitalWrite(xAxis[4], HIGH); 2071 digitalWrite(yAxis[0], LOW); 2072 digitalWrite(yAxis[1], LOW); 2073 digitalWrite(yAxis[2], LOW); 2074 digitalWrite(yAxis[3], LOW); 2075 digitalWrite(yAxis[4], LOW); 2076 digitalWrite(yAxis[5], LOW); 2077 } 2078 else 2079 { 2080 digitalWrite(xAxis[1], HIGH); 2081 digitalWrite(yAxis[0], LOW); 2082 digitalWrite(yAxis[1], LOW); 2083 digitalWrite(yAxis[3], LOW); 2084 digitalWrite(yAxis[4], LOW); 2085 } 2086 delay(1); 2087 } 2088 count = 0; 2089 while(count < duration) 2090 { 2091 allOff(); 2092 count++; 2093 if(count%3 == 0) 2094 { 2095 digitalWrite(xAxis[2], HIGH); 2096 digitalWrite(xAxis[4], HIGH); 2097 digitalWrite(yAxis[5], LOW); 2098 } 2099 else if(count%2 == 0) 2100 { 2101 digitalWrite(xAxis[3], HIGH); 2102 digitalWrite(yAxis[0], LOW); 2103 digitalWrite(yAxis[1], LOW); 2104 digitalWrite(yAxis[2], LOW); 2105 digitalWrite(yAxis[3], LOW); 2106 digitalWrite(yAxis[4], LOW); 2107 digitalWrite(yAxis[5], LOW); 2108 } 2109 else 2110 { 2111 digitalWrite(xAxis[0], HIGH); 2112 digitalWrite(yAxis[0], LOW); 2113 digitalWrite(yAxis[1], LOW); 2114 digitalWrite(yAxis[3], LOW); 2115 digitalWrite(yAxis[4], LOW); 2116 } 2117 delay(1); 2118 } 2119 count = 0; 2120 while(count < duration) 2121 { 2122 allOff(); 2123 count++; 2124 if(count%2 == 0) 2125 { 2126 digitalWrite(xAxis[1], HIGH); 2127 digitalWrite(xAxis[3], HIGH); 2128 digitalWrite(yAxis[5], LOW); 2129 } 2130 else 2131 { 2132 digitalWrite(xAxis[2], HIGH); 2133 digitalWrite(yAxis[0], LOW); 2134 digitalWrite(yAxis[1], LOW); 2135 digitalWrite(yAxis[2], LOW); 2136 digitalWrite(yAxis[3], LOW); 2137 digitalWrite(yAxis[4], LOW); 2138 digitalWrite(yAxis[5], LOW); 2139 } 2140 delay(1); 2141 } 2142 count = 0; 2143 while(count < duration) 2144 { 2145 allOff(); 2146 count++; 2147 if(count%2 == 0) 2148 { 2149 digitalWrite(xAxis[0], HIGH); 2150 digitalWrite(xAxis[2], HIGH); 2151 digitalWrite(yAxis[5], LOW); 2152 } 2153 else 2154 { 2155 digitalWrite(xAxis[1], HIGH); 2156 digitalWrite(yAxis[0], LOW); 2157 digitalWrite(yAxis[1], LOW); 2158 digitalWrite(yAxis[2], LOW); 2159 digitalWrite(yAxis[3], LOW); 2160 digitalWrite(yAxis[4], LOW); 2161 digitalWrite(yAxis[5], LOW); 2162 } 2163 delay(1); 2164 } 2165 count = 0; 2166 while(count < duration) 2167 { 2168 allOff(); 2169 count++; 2170 if(count%2 == 0) 2171 { 2172 digitalWrite(xAxis[1], HIGH); 2173 digitalWrite(yAxis[5], LOW); 2174 } 2175 else 2176 { 2177 digitalWrite(xAxis[0], HIGH); 2178 digitalWrite(yAxis[0], LOW); 2179 digitalWrite(yAxis[1], LOW); 2180 digitalWrite(yAxis[2], LOW); 2181 digitalWrite(yAxis[3], LOW); 2182 digitalWrite(yAxis[4], LOW); 2183 digitalWrite(yAxis[5], LOW); 2184 } 2185 delay(1); 2186 } 2187 count = 0; 2188 while(count < duration) 2189 { 2190 allOff(); 2191 count++; 2192 XYOn(0,5); 2193 delay(1); 2194 } 2195} 2196
Shirt Code
arduino
I have some basic methods to show off the shirt, a method that will display a randomly generated "equalizer" and randomly modify it for a set duration, and a couple of methods that "scroll" a word across the screen. It's not well documented but it works.
1//Maddy McGee 2unsigned long prevMillis = 0; 3unsigned long currentMillis 4 = 0; 5const int xAxis[6] = {2,3,4,5,6,7};//HIGH is on 6const int yAxis[6] = 7 {8,9,10,11,12,13};//LOW is on 8void setup() { 9 pinMode(2, OUTPUT); 10 pinMode(3, 11 OUTPUT); 12 pinMode(4, OUTPUT); 13 pinMode(5, OUTPUT); 14 pinMode(6, OUTPUT); 15 16 pinMode(7, OUTPUT); 17 pinMode(8, OUTPUT); 18 pinMode(9, OUTPUT); 19 pinMode(10, 20 OUTPUT); 21 pinMode(11, OUTPUT); 22 pinMode(12, OUTPUT); 23 pinMode(13, OUTPUT); 24} 25 26void 27 loop() { 28 allOn(); 29 delay(2000); 30 allOff(); 31 delay(500); 32 ex(); 33 34 boxesIn(1000); 35 boxesOut(500); 36 equilizer(100,60); 37 //ohio(1000); 38 39 //ohioScroll(250); 40 //delay(100); 41 //IHeartArt(250); 42} 43 44void 45 allOn() 46{ 47 digitalWrite(2, HIGH); 48 digitalWrite(3, HIGH); 49 digitalWrite(4, 50 HIGH); 51 digitalWrite(5, HIGH); 52 digitalWrite(6, HIGH); 53 digitalWrite(7, 54 HIGH); 55 digitalWrite(8,LOW); 56 digitalWrite(9,LOW); 57 digitalWrite(10,LOW); 58 59 digitalWrite(11,LOW); 60 digitalWrite(12,LOW); 61 digitalWrite(13,LOW); 62} 63void 64 allOff() 65{ 66 digitalWrite(2, LOW); 67 digitalWrite(3, LOW); 68 digitalWrite(4, 69 LOW); 70 digitalWrite(5, LOW); 71 digitalWrite(6, LOW); 72 digitalWrite(7, 73 LOW); 74 digitalWrite(8,HIGH); 75 digitalWrite(9,HIGH); 76 digitalWrite(10,HIGH); 77 78 digitalWrite(11,HIGH); 79 digitalWrite(12,HIGH); 80 digitalWrite(13,HIGH); 81} 82 83void 84 XYOn(int x, int y)//0 == far left/bottom, 6 == far right/top 85{ 86 for(int cnt 87 = 0; cnt < 6; cnt++) 88 { 89 if(cnt == x){ 90 digitalWrite(xAxis[cnt], 91 HIGH); 92 } 93 else 94 digitalWrite(xAxis[cnt], LOW); 95 } 96 97 for(int cnt = 0; cnt < 6; cnt++) 98 { 99 if(cnt == y){ 100 digitalWrite(yAxis[cnt], 101 LOW); 102 } 103 else 104 digitalWrite(yAxis[cnt], HIGH); 105 } 106} 107 108void 109 XOn(int x) 110{ 111 for(int cnt = 0; cnt < 6; cnt++) 112 { 113 if(cnt == x){ 114 115 digitalWrite(xAxis[cnt], HIGH); 116 } 117 else 118 digitalWrite(xAxis[cnt], 119 LOW); 120 } 121} 122 123void YOn(int y) 124{ 125 for(int cnt = 0; cnt < 6; cnt++) 126 127 { 128 if(cnt == y){ 129 digitalWrite(yAxis[cnt], HIGH); 130 } 131 132 else 133 digitalWrite(yAxis[cnt], LOW); 134 } 135} 136 137void bihScroll() 138{ 139 140 allOff(); 141 //unsigned long start = currentMillis; 142 boolean done = false; 143 144 int count = 0; 145 while(count<500)//(currentMillis - start < 100) 146 { 147 148 count++; 149 currentMillis = millis(); 150 digitalWrite(yAxis[0], LOW); 151 152 digitalWrite(yAxis[1], LOW); 153 digitalWrite(yAxis[2], LOW); 154 digitalWrite(yAxis[3], 155 LOW); 156 digitalWrite(yAxis[4], LOW); 157 digitalWrite(yAxis[5], LOW); 158 159 XOn(5); 160 delay(1); 161 } 162 while(count<1000)//(currentMillis - start 163 < 200) 164 { 165 count++; 166 allOff(); 167 currentMillis = millis(); 168 169 if(count%2==0)//(currentMillis%2==0) 170 { 171 digitalWrite(yAxis[0], 172 LOW); 173 digitalWrite(yAxis[1], LOW); 174 digitalWrite(yAxis[2], LOW); 175 176 digitalWrite(yAxis[3], LOW); 177 digitalWrite(yAxis[4], LOW); 178 digitalWrite(yAxis[5], 179 LOW); 180 XOn(4); 181 } 182 else 183 { 184 digitalWrite(xAxis[5], 185 HIGH); 186 digitalWrite(yAxis[0], LOW); 187 digitalWrite(yAxis[2], LOW); 188 189 digitalWrite(yAxis[3], LOW); 190 digitalWrite(yAxis[5], LOW); 191 } 192 193 delay(1); 194 } 195 while(count<1500)//(currentMillis - start < 300) 196 197 { 198 count++; 199 allOff(); 200 if(count%3==0)//(currentMillis%3==0) 201 202 { 203 digitalWrite(yAxis[0], LOW); 204 digitalWrite(yAxis[1], LOW); 205 206 digitalWrite(yAxis[2], LOW); 207 digitalWrite(yAxis[3], LOW); 208 digitalWrite(yAxis[4], 209 LOW); 210 digitalWrite(yAxis[5], LOW); 211 XOn(3); 212 213 } 214 215 else if(count%2==0)//(currentMillis%2==0) 216 { 217 digitalWrite(xAxis[4], 218 HIGH); 219 digitalWrite(yAxis[0], LOW); 220 digitalWrite(yAxis[2], LOW); 221 222 digitalWrite(yAxis[3], LOW); 223 digitalWrite(yAxis[5], LOW); 224 } 225 226 else 227 { 228 digitalWrite(xAxis[5], HIGH); 229 digitalWrite(yAxis[1], 230 LOW); 231 digitalWrite(yAxis[4], LOW); 232 } 233 delay(1); 234 } 235 236 while(count<2000) 237 { 238 count++; 239 allOff(); 240 if(count%4==0) 241 242 { 243 digitalWrite(yAxis[0], LOW); 244 digitalWrite(yAxis[1], LOW); 245 246 digitalWrite(yAxis[2], LOW); 247 digitalWrite(yAxis[3], LOW); 248 digitalWrite(yAxis[4], 249 LOW); 250 digitalWrite(yAxis[5], LOW); 251 XOn(2); 252 } 253 else 254 if(count%3==0) 255 { 256 digitalWrite(xAxis[3], HIGH); 257 digitalWrite(yAxis[0], 258 LOW); 259 digitalWrite(yAxis[2], LOW); 260 digitalWrite(yAxis[3], LOW); 261 262 digitalWrite(yAxis[5], LOW); 263 } 264 else if(count%2==0) 265 { 266 267 digitalWrite(xAxis[4], HIGH); 268 digitalWrite(yAxis[1], LOW); 269 digitalWrite(yAxis[4], 270 LOW); 271 } 272 else 273 { 274 digitalWrite(xAxis[5],HIGH); 275 digitalWrite(yAxis[0],LOW); 276 277 digitalWrite(yAxis[5],LOW); 278 } 279 delay(1); 280 } 281 while(count<2500) 282 283 { 284 count++; 285 allOff(); 286 if(count%4==0) 287 { 288 digitalWrite(yAxis[0], 289 LOW); 290 digitalWrite(yAxis[1], LOW); 291 digitalWrite(yAxis[2], LOW); 292 293 digitalWrite(yAxis[3], LOW); 294 digitalWrite(yAxis[4], LOW); 295 digitalWrite(yAxis[5], 296 LOW); 297 XOn(1); 298 XOn(5); 299 } 300 else if(count%3==0) 301 302 { 303 digitalWrite(xAxis[2], HIGH); 304 digitalWrite(yAxis[0], LOW); 305 306 digitalWrite(yAxis[2], LOW); 307 digitalWrite(yAxis[3], LOW); 308 digitalWrite(yAxis[5], 309 LOW); 310 } 311 else if(count%2==0) 312 { 313 digitalWrite(xAxis[3], 314 HIGH); 315 digitalWrite(yAxis[1], LOW); 316 digitalWrite(yAxis[4], LOW); 317 318 } 319 else 320 { 321 digitalWrite(xAxis[4],HIGH); 322 digitalWrite(yAxis[0],LOW); 323 324 digitalWrite(yAxis[5],LOW); 325 } 326 delay(1); 327 } 328 while(count<3000) 329 330 { 331 count++; 332 allOff(); 333 if(count%4==0) 334 { 335 digitalWrite(yAxis[0], 336 LOW); 337 digitalWrite(yAxis[1], LOW); 338 digitalWrite(yAxis[2], LOW); 339 340 digitalWrite(yAxis[3], LOW); 341 digitalWrite(yAxis[4], LOW); 342 digitalWrite(yAxis[5], 343 LOW); 344 XOn(0); 345 XOn(4); 346 } 347 else if(count%3==0) 348 349 { 350 digitalWrite(xAxis[1], HIGH); 351 digitalWrite(yAxis[0], LOW); 352 353 digitalWrite(yAxis[2], LOW); 354 digitalWrite(yAxis[3], LOW); 355 digitalWrite(yAxis[5], 356 LOW); 357 } 358 else if(count%2==0) 359 { 360 digitalWrite(xAxis[2], 361 HIGH); 362 digitalWrite(yAxis[1], LOW); 363 digitalWrite(yAxis[4], LOW); 364 365 } 366 else 367 { 368 digitalWrite(xAxis[3],HIGH); 369 digitalWrite(xAxis[5],HIGH); 370 371 digitalWrite(yAxis[0],LOW); 372 digitalWrite(yAxis[5],LOW); 373 } 374 375 delay(1); 376 } 377 while(count<3500) 378 { 379 count++; 380 allOff(); 381 382 if(count%4==0) 383 { 384 digitalWrite(yAxis[0], LOW); 385 digitalWrite(yAxis[1], 386 LOW); 387 digitalWrite(yAxis[2], LOW); 388 digitalWrite(yAxis[3], LOW); 389 390 digitalWrite(yAxis[4], LOW); 391 digitalWrite(yAxis[5], LOW); 392 XOn(3); 393 394 XOn(5); 395 } 396 else if(count%3==0) 397 { 398 digitalWrite(xAxis[0], 399 HIGH); 400 digitalWrite(yAxis[0], LOW); 401 digitalWrite(yAxis[2], LOW); 402 403 digitalWrite(yAxis[3], LOW); 404 digitalWrite(yAxis[5], LOW); 405 } 406 407 else if(count%2==0) 408 { 409 digitalWrite(xAxis[1], HIGH); 410 digitalWrite(yAxis[1], 411 LOW); 412 digitalWrite(yAxis[4], LOW); 413 } 414 else 415 { 416 digitalWrite(xAxis[2],HIGH); 417 418 digitalWrite(xAxis[4],HIGH); 419 digitalWrite(yAxis[0],LOW); 420 digitalWrite(yAxis[5],LOW); 421 422 } 423 delay(1); 424 } 425 while(count<4000) 426 { 427 count++; 428 429 allOff(); 430 if(count%4==0) 431 { 432 digitalWrite(yAxis[0], LOW); 433 434 digitalWrite(yAxis[1], LOW); 435 digitalWrite(yAxis[2], LOW); 436 digitalWrite(yAxis[3], 437 LOW); 438 digitalWrite(yAxis[4], LOW); 439 digitalWrite(yAxis[5], LOW); 440 441 XOn(2); 442 XOn(4); 443 } 444 else if(count%3==0) 445 { 446 447 XYOn(5,3); 448 } 449 else if(count%2==0) 450 { 451 digitalWrite(xAxis[0], 452 HIGH); 453 digitalWrite(yAxis[1], LOW); 454 digitalWrite(yAxis[4], LOW); 455 456 } 457 else 458 { 459 digitalWrite(xAxis[1],HIGH); 460 digitalWrite(xAxis[3],HIGH); 461 462 digitalWrite(yAxis[0],LOW); 463 digitalWrite(yAxis[5],LOW); 464 } 465 466 delay(1); 467 } 468 while(count<4500) 469 { 470 count++; 471 allOff(); 472 473 if(count%3==0) 474 { 475 digitalWrite(yAxis[0], LOW); 476 digitalWrite(yAxis[1], 477 LOW); 478 digitalWrite(yAxis[2], LOW); 479 digitalWrite(yAxis[3], LOW); 480 481 digitalWrite(yAxis[4], LOW); 482 digitalWrite(yAxis[5], LOW); 483 XOn(1); 484 485 XOn(3); 486 XOn(5); 487 } 488 else if(count%2==0) 489 { 490 491 XYOn(4,3); 492 } 493 else 494 { 495 digitalWrite(xAxis[0],HIGH); 496 497 digitalWrite(xAxis[2],HIGH); 498 digitalWrite(yAxis[0],LOW); 499 digitalWrite(yAxis[5],LOW); 500 501 } 502 delay(1); 503 } 504 while(count<5000) 505 { 506 count++; 507 508 allOff(); 509 if(count%3==0) 510 { 511 digitalWrite(yAxis[0], LOW); 512 513 digitalWrite(yAxis[1], LOW); 514 digitalWrite(yAxis[2], LOW); 515 digitalWrite(yAxis[3], 516 LOW); 517 digitalWrite(yAxis[4], LOW); 518 digitalWrite(yAxis[5], LOW); 519 520 XOn(0); 521 XOn(2); 522 XOn(4); 523 } 524 else if(count%2==0) 525 526 { 527 XYOn(3,3); 528 } 529 else 530 { 531 digitalWrite(xAxis[1],HIGH); 532 533 digitalWrite(yAxis[0],LOW); 534 digitalWrite(yAxis[5],LOW); 535 } 536 537 delay(1); 538 } 539 while(count<5500) 540 { 541 count++; 542 allOff(); 543 544 if(count%3==0) 545 { 546 digitalWrite(yAxis[0], LOW); 547 digitalWrite(yAxis[1], 548 LOW); 549 digitalWrite(yAxis[2], LOW); 550 digitalWrite(yAxis[3], LOW); 551 552 digitalWrite(yAxis[4], LOW); 553 digitalWrite(yAxis[5], LOW); 554 XOn(1); 555 556 XOn(3); 557 } 558 else if(count%2==0) 559 { 560 XYOn(2,3); 561 562 } 563 else 564 { 565 digitalWrite(xAxis[0],HIGH); 566 digitalWrite(yAxis[0],LOW); 567 568 digitalWrite(yAxis[5],LOW); 569 } 570 delay(1); 571 } 572 while(count<6000) 573 574 { 575 count++; 576 allOff(); 577 if(count%2==0) 578 { 579 digitalWrite(yAxis[0], 580 LOW); 581 digitalWrite(yAxis[1], LOW); 582 digitalWrite(yAxis[2], LOW); 583 584 digitalWrite(yAxis[3], LOW); 585 digitalWrite(yAxis[4], LOW); 586 digitalWrite(yAxis[5], 587 LOW); 588 XOn(0); 589 XOn(2); 590 } 591 else 592 { 593 XYOn(1,3); 594 595 } 596 delay(1); 597 } 598 while(count<6500) 599 { 600 count++; 601 602 allOff(); 603 if(count%2==0) 604 { 605 digitalWrite(yAxis[0], LOW); 606 607 digitalWrite(yAxis[1], LOW); 608 digitalWrite(yAxis[2], LOW); 609 digitalWrite(yAxis[3], 610 LOW); 611 digitalWrite(yAxis[4], LOW); 612 digitalWrite(yAxis[5], LOW); 613 614 XOn(1); 615 } 616 else 617 { 618 XYOn(0,3); 619 } 620 delay(1); 621 622 } 623 while(count<7000) 624 { 625 count++; 626 allOff(); 627 digitalWrite(yAxis[0], 628 LOW); 629 digitalWrite(yAxis[1], LOW); 630 digitalWrite(yAxis[2], LOW); 631 632 digitalWrite(yAxis[3], LOW); 633 digitalWrite(yAxis[4], LOW); 634 digitalWrite(yAxis[5], 635 LOW); 636 XOn(0); 637 delay(1); 638 } 639 allOff(); 640 delay(500); 641} 642 643void 644 ex() 645{ 646 allOff(); 647 digitalWrite(xAxis[0],HIGH); 648 digitalWrite(xAxis[5],HIGH); 649 650 digitalWrite(yAxis[0],LOW); 651 digitalWrite(yAxis[5],LOW); 652 delay(300); 653 654 allOff(); 655 digitalWrite(xAxis[1],HIGH); 656 digitalWrite(xAxis[4],HIGH); 657 658 digitalWrite(yAxis[1],LOW); 659 digitalWrite(yAxis[4],LOW); 660 delay(300); 661 662 allOff(); 663 digitalWrite(xAxis[2],HIGH); 664 digitalWrite(xAxis[3],HIGH); 665 666 digitalWrite(yAxis[2],LOW); 667 digitalWrite(yAxis[3],LOW); 668 delay(500); 669 670 int count =0; 671 while(count<700) 672 { 673 allOff(); 674 count++; 675 676 if(count%2==0) 677 { 678 digitalWrite(xAxis[1],HIGH); 679 digitalWrite(xAxis[4],HIGH); 680 681 digitalWrite(yAxis[1],LOW); 682 digitalWrite(yAxis[4],LOW); 683 } 684 685 else 686 { 687 digitalWrite(xAxis[2],HIGH); 688 digitalWrite(xAxis[3],HIGH); 689 690 digitalWrite(yAxis[2],LOW); 691 digitalWrite(yAxis[3],LOW); 692 } 693 694 } 695 while(count<2000) 696 { 697 allOff(); 698 count++; 699 if(count%3==0) 700 701 { 702 digitalWrite(xAxis[0],HIGH); 703 digitalWrite(xAxis[5],HIGH); 704 705 digitalWrite(yAxis[0],LOW); 706 digitalWrite(yAxis[5],LOW); 707 } 708 709 else if(count %2 ==0) 710 { 711 digitalWrite(xAxis[1],HIGH); 712 digitalWrite(xAxis[4],HIGH); 713 714 digitalWrite(yAxis[1],LOW); 715 digitalWrite(yAxis[4],LOW); 716 } 717 718 else 719 { 720 digitalWrite(xAxis[2],HIGH); 721 digitalWrite(xAxis[3],HIGH); 722 723 digitalWrite(yAxis[2],LOW); 724 digitalWrite(yAxis[3],LOW); 725 } 726 727 delay(1); 728 } 729} 730 731void boxesIn(int rate) 732{ 733 int count = 0; 734 735 while(count<rate) 736 { 737 allOff(); 738 count++; 739 if(count%2==0) 740 741 { 742 digitalWrite(xAxis[0],HIGH); 743 digitalWrite(xAxis[5],HIGH); 744 745 digitalWrite(yAxis[0],LOW); 746 digitalWrite(yAxis[1],LOW); 747 digitalWrite(yAxis[2],LOW); 748 749 digitalWrite(yAxis[3],LOW); 750 digitalWrite(yAxis[4],LOW); 751 digitalWrite(yAxis[5],LOW); 752 753 } 754 else 755 { 756 digitalWrite(xAxis[0],HIGH); 757 digitalWrite(xAxis[1],HIGH); 758 759 digitalWrite(xAxis[2],HIGH); 760 digitalWrite(xAxis[3],HIGH); 761 digitalWrite(xAxis[4],HIGH); 762 763 digitalWrite(xAxis[5],HIGH); 764 digitalWrite(yAxis[0],LOW); 765 digitalWrite(yAxis[5],LOW); 766 767 } 768 delay(1); 769 } 770 while(count<(2*rate)) 771 { 772 allOff(); 773 774 count++; 775 if(count%2==0) 776 { 777 digitalWrite(xAxis[1],HIGH); 778 779 digitalWrite(xAxis[4],HIGH); 780 digitalWrite(yAxis[1],LOW); 781 digitalWrite(yAxis[2],LOW); 782 783 digitalWrite(yAxis[3],LOW); 784 digitalWrite(yAxis[4],LOW); 785 } 786 787 else 788 { 789 digitalWrite(xAxis[1],HIGH); 790 digitalWrite(xAxis[2],HIGH); 791 792 digitalWrite(xAxis[3],HIGH); 793 digitalWrite(xAxis[4],HIGH); 794 digitalWrite(yAxis[1],LOW); 795 796 digitalWrite(yAxis[4],LOW); 797 } 798 delay(1); 799 } 800 while(count<(3*rate)) 801 802 { 803 allOff(); 804 count++; 805 digitalWrite(xAxis[2],HIGH); 806 digitalWrite(xAxis[3],HIGH); 807 808 digitalWrite(yAxis[2],LOW); 809 digitalWrite(yAxis[3],LOW); 810 delay(1); 811 812 } 813} 814 815void boxesOut(int rate) 816{ 817 int count = 0; 818 while(count<rate) 819 820 { 821 allOff(); 822 count++; 823 digitalWrite(xAxis[2],HIGH); 824 digitalWrite(xAxis[3],HIGH); 825 826 digitalWrite(yAxis[2],LOW); 827 digitalWrite(yAxis[3],LOW); 828 delay(1); 829 830 } 831 while(count<(2*rate)) 832 { 833 allOff(); 834 count++; 835 if(count%2==0) 836 837 { 838 digitalWrite(xAxis[1],HIGH); 839 digitalWrite(xAxis[4],HIGH); 840 841 digitalWrite(yAxis[1],LOW); 842 digitalWrite(yAxis[2],LOW); 843 digitalWrite(yAxis[3],LOW); 844 845 digitalWrite(yAxis[4],LOW); 846 } 847 else 848 { 849 digitalWrite(xAxis[1],HIGH); 850 851 digitalWrite(xAxis[2],HIGH); 852 digitalWrite(xAxis[3],HIGH); 853 digitalWrite(xAxis[4],HIGH); 854 855 digitalWrite(yAxis[1],LOW); 856 digitalWrite(yAxis[4],LOW); 857 } 858 859 delay(1); 860 } 861 while(count<(3*rate)) 862 { 863 allOff(); 864 count++; 865 866 if(count%2==0) 867 { 868 digitalWrite(xAxis[0],HIGH); 869 digitalWrite(xAxis[5],HIGH); 870 871 digitalWrite(yAxis[0],LOW); 872 digitalWrite(yAxis[1],LOW); 873 digitalWrite(yAxis[2],LOW); 874 875 digitalWrite(yAxis[3],LOW); 876 digitalWrite(yAxis[4],LOW); 877 digitalWrite(yAxis[5],LOW); 878 879 } 880 else 881 { 882 digitalWrite(xAxis[0],HIGH); 883 digitalWrite(xAxis[1],HIGH); 884 885 digitalWrite(xAxis[2],HIGH); 886 digitalWrite(xAxis[3],HIGH); 887 digitalWrite(xAxis[4],HIGH); 888 889 digitalWrite(xAxis[5],HIGH); 890 digitalWrite(yAxis[0],LOW); 891 digitalWrite(yAxis[5],LOW); 892 893 } 894 delay(1); 895 } 896} 897 898void equilizer(int duration, int times) 899{ 900 901 int zero, one, two, three, four, five; 902 zero = random(1,6); 903 one = random(1,6); 904 905 two = random(1,6); 906 three = random(1,6); 907 four = random(1,6); 908 five 909 = random(1,6); 910 for(int l = 0; l < times; l++) 911 { 912 int count = 0; 913 914 while(count < duration) 915 { 916 allOff(); 917 count++; 918 if(count%6 919 == 0) 920 { 921 digitalWrite(xAxis[0],HIGH); 922 for(int h = 0; h < 923 zero; h++) 924 { 925 digitalWrite(yAxis[h], LOW); 926 } 927 } 928 929 else if(count%5 == 0) 930 { 931 digitalWrite(xAxis[1],HIGH); 932 for(int 933 h = 0; h < one; h++) 934 { 935 digitalWrite(yAxis[h], LOW); 936 } 937 938 } 939 else if(count%4 == 0) 940 { 941 digitalWrite(xAxis[2],HIGH); 942 943 for(int h = 0; h < two; h++) 944 { 945 digitalWrite(yAxis[h], 946 LOW); 947 } 948 } 949 else if(count%3 == 0) 950 { 951 digitalWrite(xAxis[3],HIGH); 952 953 for(int h = 0; h < three; h++) 954 { 955 digitalWrite(yAxis[h], 956 LOW); 957 } 958 } 959 else if(count%2 == 0) 960 { 961 digitalWrite(xAxis[4],HIGH); 962 963 for(int h = 0; h < four; h++) 964 { 965 digitalWrite(yAxis[h], 966 LOW); 967 } 968 } 969 else 970 { 971 digitalWrite(xAxis[5],HIGH); 972 973 for(int h = 0; h < five; h++) 974 { 975 digitalWrite(yAxis[h], 976 LOW); 977 } 978 } 979 delay(1); 980 } 981 int add = random(-1,2); 982 983 if(add + zero >= 0 && add + zero <6) 984 { 985 zero+=add; 986 } 987 add 988 = random(-1,2); 989 if(add + one >= 0 && add + one <6) 990 { 991 one+=add; 992 993 } 994 add = random(-1,2); 995 if(add + two >= 0 && add + two <6) 996 { 997 998 two+=add; 999 } 1000 add = random(-1,2); 1001 if(add + three >= 0 && add + 1002 three <6) 1003 { 1004 three+=add; 1005 } 1006 add = random(-1,2); 1007 if(add 1008 + four >= 0 && add + four <6) 1009 { 1010 four+=add; 1011 } 1012 add = random(-1,2); 1013 1014 if(add + five >= 0 && add + five <6) 1015 { 1016 five+=add; 1017 } 1018 } 1019} 1020 1021void 1022 ohio(int duration) 1023{ 1024 int count = 0; 1025 while(count < duration) 1026 { 1027 1028 allOff(); 1029 count ++; 1030 if(count%4 == 0) 1031 { 1032 digitalWrite(xAxis[0],HIGH); 1033 1034 digitalWrite(xAxis[2],HIGH); 1035 digitalWrite(yAxis[1], LOW); 1036 digitalWrite(yAxis[2], 1037 LOW); 1038 digitalWrite(yAxis[3], LOW); 1039 digitalWrite(yAxis[4], LOW); 1040 1041 } 1042 else if(count%3==0) 1043 { 1044 digitalWrite(xAxis[1], HIGH); 1045 1046 digitalWrite(yAxis[0], LOW); 1047 digitalWrite(yAxis[5],LOW); 1048 } 1049 1050 else if(count%2==0) 1051 { 1052 digitalWrite(xAxis[3],HIGH); 1053 digitalWrite(xAxis[5],HIGH); 1054 1055 digitalWrite(yAxis[0],LOW); 1056 digitalWrite(yAxis[1], LOW); 1057 digitalWrite(yAxis[2], 1058 LOW); 1059 digitalWrite(yAxis[3], LOW); 1060 digitalWrite(yAxis[4], LOW); 1061 1062 digitalWrite(yAxis[5],LOW); 1063 } 1064 else 1065 { 1066 XYOn(4,2); 1067 1068 } 1069 delay(1); 1070 } 1071 allOff(); 1072 delay(10); 1073 while(count < 1074 duration *2) 1075 { 1076 allOff(); 1077 count ++; 1078 if(count%3 == 0) 1079 1080 { 1081 digitalWrite(xAxis[3],HIGH); 1082 digitalWrite(xAxis[5],HIGH); 1083 1084 digitalWrite(yAxis[1], LOW); 1085 digitalWrite(yAxis[2], LOW); 1086 digitalWrite(yAxis[3], 1087 LOW); 1088 digitalWrite(yAxis[4], LOW); 1089 } 1090 else if(count%2==0) 1091 1092 { 1093 digitalWrite(xAxis[0],HIGH); 1094 digitalWrite(xAxis[2], HIGH); 1095 1096 digitalWrite(xAxis[4], HIGH); 1097 digitalWrite(yAxis[0], LOW); 1098 digitalWrite(yAxis[5],LOW); 1099 1100 } 1101 else 1102 { 1103 digitalWrite(xAxis[1],HIGH); 1104 digitalWrite(yAxis[0],LOW); 1105 1106 digitalWrite(yAxis[1], LOW); 1107 digitalWrite(yAxis[2], LOW); 1108 digitalWrite(yAxis[3], 1109 LOW); 1110 digitalWrite(yAxis[4], LOW); 1111 digitalWrite(yAxis[5],LOW); 1112 1113 } 1114 delay(1); 1115 } 1116} 1117 1118void ohioScroll(int duration) 1119{ 1120 1121 int count = 0; 1122 while(count < duration) 1123 { 1124 allOff(); 1125 count++; 1126 1127 digitalWrite(xAxis[5],HIGH); 1128 digitalWrite(yAxis[1], LOW); 1129 digitalWrite(yAxis[2], 1130 LOW); 1131 digitalWrite(yAxis[3], LOW); 1132 digitalWrite(yAxis[4], LOW); 1133 1134 delay(1); 1135 } 1136 count = 0; 1137 while(count < duration) 1138 { 1139 allOff(); 1140 1141 count++; 1142 if(count%2==0) 1143 { 1144 digitalWrite(xAxis[4],HIGH); 1145 1146 digitalWrite(yAxis[1], LOW); 1147 digitalWrite(yAxis[2], LOW); 1148 digitalWrite(yAxis[3], 1149 LOW); 1150 digitalWrite(yAxis[4], LOW); 1151 } 1152 else 1153 { 1154 digitalWrite(xAxis[5], 1155 HIGH); 1156 digitalWrite(yAxis[0], LOW); 1157 digitalWrite(yAxis[5],LOW); 1158 1159 } 1160 delay(1); 1161 } 1162 count = 0; 1163 while(count < duration) 1164 { 1165 1166 allOff(); 1167 count++; 1168 if(count%2==0) 1169 { 1170 digitalWrite(xAxis[3],HIGH); 1171 1172 digitalWrite(xAxis[5],HIGH); 1173 digitalWrite(yAxis[1], LOW); 1174 digitalWrite(yAxis[2], 1175 LOW); 1176 digitalWrite(yAxis[3], LOW); 1177 digitalWrite(yAxis[4], LOW); 1178 1179 } 1180 else 1181 { 1182 digitalWrite(xAxis[4], HIGH); 1183 digitalWrite(yAxis[0], 1184 LOW); 1185 digitalWrite(yAxis[5],LOW); 1186 } 1187 delay(1); 1188 } 1189 1190 count = 0; 1191 while(count < duration) 1192 { 1193 allOff(); 1194 count++; 1195 1196 if(count%2==0) 1197 { 1198 digitalWrite(xAxis[2],HIGH); 1199 digitalWrite(xAxis[4],HIGH); 1200 1201 digitalWrite(yAxis[1], LOW); 1202 digitalWrite(yAxis[2], LOW); 1203 digitalWrite(yAxis[3], 1204 LOW); 1205 digitalWrite(yAxis[4], LOW); 1206 } 1207 else 1208 { 1209 digitalWrite(xAxis[3], 1210 HIGH); 1211 digitalWrite(yAxis[0], LOW); 1212 digitalWrite(yAxis[5],LOW); 1213 1214 } 1215 delay(1); 1216 } 1217 count = 0; 1218 while(count < duration) 1219 { 1220 1221 allOff(); 1222 count++; 1223 if(count%3==0) 1224 { 1225 digitalWrite(xAxis[1],HIGH); 1226 1227 digitalWrite(xAxis[3],HIGH); 1228 digitalWrite(yAxis[1], LOW); 1229 digitalWrite(yAxis[2], 1230 LOW); 1231 digitalWrite(yAxis[3], LOW); 1232 digitalWrite(yAxis[4], LOW); 1233 1234 } 1235 else if(count%2==0) 1236 { 1237 digitalWrite(xAxis[2], HIGH); 1238 1239 digitalWrite(yAxis[0], LOW); 1240 digitalWrite(yAxis[5],LOW); 1241 } 1242 1243 else 1244 { 1245 digitalWrite(xAxis[5],HIGH); 1246 digitalWrite(yAxis[0],LOW); 1247 1248 digitalWrite(yAxis[1], LOW); 1249 digitalWrite(yAxis[2], LOW); 1250 digitalWrite(yAxis[3], 1251 LOW); 1252 digitalWrite(yAxis[4], LOW); 1253 digitalWrite(yAxis[5],LOW); 1254 1255 } 1256 delay(1); 1257 } 1258 count = 0; 1259 while(count < duration) 1260 { 1261 1262 allOff(); 1263 count++; 1264 if(count%4==0) 1265 { 1266 digitalWrite(xAxis[0],HIGH); 1267 1268 digitalWrite(xAxis[2],HIGH); 1269 digitalWrite(yAxis[1], LOW); 1270 digitalWrite(yAxis[2], 1271 LOW); 1272 digitalWrite(yAxis[3], LOW); 1273 digitalWrite(yAxis[4], LOW); 1274 1275 } 1276 else if(count%3==0) 1277 { 1278 digitalWrite(xAxis[1], HIGH); 1279 1280 digitalWrite(yAxis[0], LOW); 1281 digitalWrite(yAxis[5],LOW); 1282 } 1283 1284 else if(count%2==0) 1285 { 1286 digitalWrite(xAxis[4],HIGH); 1287 digitalWrite(yAxis[0],LOW); 1288 1289 digitalWrite(yAxis[1], LOW); 1290 digitalWrite(yAxis[2], LOW); 1291 digitalWrite(yAxis[3], 1292 LOW); 1293 digitalWrite(yAxis[4], LOW); 1294 digitalWrite(yAxis[5],LOW); 1295 1296 } 1297 else 1298 { 1299 XYOn(5,2); 1300 } 1301 delay(1); 1302 } 1303 1304 count = 0; 1305 while(count < duration) 1306 { 1307 allOff(); 1308 count++; 1309 1310 if(count%4==0) 1311 { 1312 digitalWrite(xAxis[1],HIGH); 1313 digitalWrite(yAxis[1], 1314 LOW); 1315 digitalWrite(yAxis[2], LOW); 1316 digitalWrite(yAxis[3], LOW); 1317 1318 digitalWrite(yAxis[4], LOW); 1319 } 1320 else if(count%3==0) 1321 { 1322 1323 digitalWrite(xAxis[0], HIGH); 1324 digitalWrite(yAxis[0], LOW); 1325 digitalWrite(yAxis[5],LOW); 1326 1327 } 1328 else if(count%2==0) 1329 { 1330 digitalWrite(xAxis[3],HIGH); 1331 1332 digitalWrite(xAxis[5],HIGH); 1333 digitalWrite(yAxis[0],LOW); 1334 digitalWrite(yAxis[1], 1335 LOW); 1336 digitalWrite(yAxis[2], LOW); 1337 digitalWrite(yAxis[3], LOW); 1338 1339 digitalWrite(yAxis[4], LOW); 1340 digitalWrite(yAxis[5],LOW); 1341 } 1342 1343 else 1344 { 1345 XYOn(4,2); 1346 } 1347 delay(1); 1348 } 1349 count 1350 = 0; 1351 while(count < duration) 1352 { 1353 allOff(); 1354 count++; 1355 if(count%3==0) 1356 1357 { 1358 digitalWrite(xAxis[0],HIGH); 1359 digitalWrite(yAxis[1], LOW); 1360 1361 digitalWrite(yAxis[2], LOW); 1362 digitalWrite(yAxis[3], LOW); 1363 digitalWrite(yAxis[4], 1364 LOW); 1365 } 1366 else if(count%2==0) 1367 { 1368 digitalWrite(xAxis[2],HIGH); 1369 1370 digitalWrite(xAxis[4],HIGH); 1371 digitalWrite(yAxis[0],LOW); 1372 digitalWrite(yAxis[1], 1373 LOW); 1374 digitalWrite(yAxis[2], LOW); 1375 digitalWrite(yAxis[3], LOW); 1376 1377 digitalWrite(yAxis[4], LOW); 1378 digitalWrite(yAxis[5],LOW); 1379 } 1380 1381 else 1382 { 1383 XYOn(3,2); 1384 } 1385 delay(1); 1386 } 1387 count 1388 = 0; 1389 while(count < duration) 1390 { 1391 allOff(); 1392 count++; 1393 if(count%3==0) 1394 1395 { 1396 digitalWrite(xAxis[5], HIGH); 1397 digitalWrite(yAxis[0], LOW); 1398 1399 digitalWrite(yAxis[5],LOW); 1400 } 1401 else if(count%2==0) 1402 { 1403 1404 digitalWrite(xAxis[1],HIGH); 1405 digitalWrite(xAxis[3],HIGH); 1406 digitalWrite(yAxis[0],LOW); 1407 1408 digitalWrite(yAxis[1], LOW); 1409 digitalWrite(yAxis[2], LOW); 1410 digitalWrite(yAxis[3], 1411 LOW); 1412 digitalWrite(yAxis[4], LOW); 1413 digitalWrite(yAxis[5],LOW); 1414 1415 } 1416 else 1417 { 1418 XYOn(2,2); 1419 } 1420 delay(1); 1421 } 1422 1423 count = 0; 1424 while(count < duration) 1425 { 1426 allOff(); 1427 count++; 1428 1429 if(count%3==0) 1430 { 1431 digitalWrite(xAxis[4], HIGH); 1432 digitalWrite(yAxis[0], 1433 LOW); 1434 digitalWrite(yAxis[5],LOW); 1435 } 1436 else if(count%2==0) 1437 1438 { 1439 digitalWrite(xAxis[0],HIGH); 1440 digitalWrite(xAxis[2],HIGH); 1441 1442 digitalWrite(xAxis[5],HIGH); 1443 digitalWrite(yAxis[0],LOW); 1444 digitalWrite(yAxis[1], 1445 LOW); 1446 digitalWrite(yAxis[2], LOW); 1447 digitalWrite(yAxis[3], LOW); 1448 1449 digitalWrite(yAxis[4], LOW); 1450 digitalWrite(yAxis[5],LOW); 1451 } 1452 1453 else 1454 { 1455 XYOn(1,2); 1456 } 1457 delay(1); 1458 } 1459 count 1460 = 0; 1461 while(count < duration) 1462 { 1463 allOff(); 1464 count++; 1465 if(count%3==0) 1466 1467 { 1468 digitalWrite(xAxis[3], HIGH); 1469 digitalWrite(xAxis[5], HIGH); 1470 1471 digitalWrite(yAxis[0], LOW); 1472 digitalWrite(yAxis[5],LOW); 1473 } 1474 1475 else if(count%2==0) 1476 { 1477 digitalWrite(xAxis[1],HIGH); 1478 digitalWrite(xAxis[4],HIGH); 1479 1480 digitalWrite(yAxis[0],LOW); 1481 digitalWrite(yAxis[1], LOW); 1482 digitalWrite(yAxis[2], 1483 LOW); 1484 digitalWrite(yAxis[3], LOW); 1485 digitalWrite(yAxis[4], LOW); 1486 1487 digitalWrite(yAxis[5],LOW); 1488 } 1489 else 1490 { 1491 XYOn(0,2); 1492 1493 } 1494 delay(1); 1495 } 1496 count = 0; 1497 while(count < duration) 1498 { 1499 1500 allOff(); 1501 count++; 1502 if(count%2==0) 1503 { 1504 digitalWrite(xAxis[2], 1505 HIGH); 1506 digitalWrite(xAxis[4], HIGH); 1507 digitalWrite(yAxis[0], LOW); 1508 1509 digitalWrite(yAxis[5],LOW); 1510 } 1511 else 1512 { 1513 digitalWrite(xAxis[0],HIGH); 1514 1515 digitalWrite(xAxis[3],HIGH); 1516 digitalWrite(yAxis[0],LOW); 1517 digitalWrite(yAxis[1], 1518 LOW); 1519 digitalWrite(yAxis[2], LOW); 1520 digitalWrite(yAxis[3], LOW); 1521 1522 digitalWrite(yAxis[4], LOW); 1523 digitalWrite(yAxis[5],LOW); 1524 } 1525 1526 delay(1); 1527 } 1528 count = 0; 1529 while(count < duration) 1530 { 1531 allOff(); 1532 1533 count++; 1534 if(count%3==0) 1535 { 1536 digitalWrite(xAxis[1], HIGH); 1537 1538 digitalWrite(xAxis[3], HIGH); 1539 digitalWrite(yAxis[0], LOW); 1540 digitalWrite(yAxis[5],LOW); 1541 1542 } 1543 else if(count%2==0) 1544 { 1545 digitalWrite(xAxis[2],HIGH); 1546 1547 digitalWrite(yAxis[0],LOW); 1548 digitalWrite(yAxis[1], LOW); 1549 digitalWrite(yAxis[2], 1550 LOW); 1551 digitalWrite(yAxis[3], LOW); 1552 digitalWrite(yAxis[4], LOW); 1553 1554 digitalWrite(yAxis[5],LOW); 1555 } 1556 else 1557 { 1558 digitalWrite(xAxis[5],HIGH); 1559 1560 digitalWrite(yAxis[1], LOW); 1561 digitalWrite(yAxis[2], LOW); 1562 digitalWrite(yAxis[3], 1563 LOW); 1564 digitalWrite(yAxis[4], LOW); 1565 } 1566 delay(1); 1567 } 1568 1569 count = 0; 1570 while(count < duration) 1571 { 1572 allOff(); 1573 count++; 1574 1575 if(count%3==0) 1576 { 1577 digitalWrite(xAxis[0], HIGH); 1578 digitalWrite(xAxis[2], 1579 HIGH); 1580 digitalWrite(xAxis[5], HIGH); 1581 digitalWrite(yAxis[0], LOW); 1582 1583 digitalWrite(yAxis[5],LOW); 1584 } 1585 else if(count%2==0) 1586 { 1587 1588 digitalWrite(xAxis[1],HIGH); 1589 digitalWrite(yAxis[0],LOW); 1590 digitalWrite(yAxis[1], 1591 LOW); 1592 digitalWrite(yAxis[2], LOW); 1593 digitalWrite(yAxis[3], LOW); 1594 1595 digitalWrite(yAxis[4], LOW); 1596 digitalWrite(yAxis[5],LOW); 1597 } 1598 1599 else 1600 { 1601 digitalWrite(xAxis[4],HIGH); 1602 digitalWrite(yAxis[1], 1603 LOW); 1604 digitalWrite(yAxis[2], LOW); 1605 digitalWrite(yAxis[3], LOW); 1606 1607 digitalWrite(yAxis[4], LOW); 1608 } 1609 delay(1); 1610 } 1611 count = 1612 0; 1613 while(count < duration) 1614 { 1615 allOff(); 1616 count++; 1617 if(count%3==0) 1618 1619 { 1620 digitalWrite(xAxis[1], HIGH); 1621 digitalWrite(xAxis[4], HIGH); 1622 1623 digitalWrite(yAxis[0], LOW); 1624 digitalWrite(yAxis[5],LOW); 1625 } 1626 1627 else if(count%2==0) 1628 { 1629 digitalWrite(xAxis[0],HIGH); 1630 digitalWrite(yAxis[0],LOW); 1631 1632 digitalWrite(yAxis[1], LOW); 1633 digitalWrite(yAxis[2], LOW); 1634 digitalWrite(yAxis[3], 1635 LOW); 1636 digitalWrite(yAxis[4], LOW); 1637 digitalWrite(yAxis[5],LOW); 1638 1639 } 1640 else 1641 { 1642 digitalWrite(xAxis[3],HIGH); 1643 digitalWrite(xAxis[5],HIGH); 1644 1645 digitalWrite(yAxis[1], LOW); 1646 digitalWrite(yAxis[2], LOW); 1647 digitalWrite(yAxis[3], 1648 LOW); 1649 digitalWrite(yAxis[4], LOW); 1650 } 1651 delay(1); 1652 } 1653 1654 count = 0; 1655 while(count < duration) 1656 { 1657 allOff(); 1658 count++; 1659 1660 if(count%2==0) 1661 { 1662 digitalWrite(xAxis[0], HIGH); 1663 digitalWrite(xAxis[3], 1664 HIGH); 1665 digitalWrite(yAxis[0], LOW); 1666 digitalWrite(yAxis[5],LOW); 1667 1668 } 1669 else 1670 { 1671 digitalWrite(xAxis[2],HIGH); 1672 digitalWrite(xAxis[4],HIGH); 1673 1674 digitalWrite(yAxis[1], LOW); 1675 digitalWrite(yAxis[2], LOW); 1676 digitalWrite(yAxis[3], 1677 LOW); 1678 digitalWrite(yAxis[4], LOW); 1679 } 1680 delay(1); 1681 } 1682 1683 count = 0; 1684 while(count < duration) 1685 { 1686 allOff(); 1687 count++; 1688 1689 if(count%2==0) 1690 { 1691 digitalWrite(xAxis[2], HIGH); 1692 digitalWrite(yAxis[0], 1693 LOW); 1694 digitalWrite(yAxis[5],LOW); 1695 } 1696 else 1697 { 1698 digitalWrite(xAxis[1],HIGH); 1699 1700 digitalWrite(xAxis[3],HIGH); 1701 digitalWrite(yAxis[1], LOW); 1702 digitalWrite(yAxis[2], 1703 LOW); 1704 digitalWrite(yAxis[3], LOW); 1705 digitalWrite(yAxis[4], LOW); 1706 1707 } 1708 delay(1); 1709 } 1710 count = 0; 1711 while(count < duration) 1712 { 1713 1714 allOff(); 1715 count++; 1716 if(count%