#include // SPI library #include // library for easily writing to shift registers on an spi bus #include // SPI enabled lcd library #include // library for PS2 style keyboard #define BUBBLE_SIZE 15 // determines the bubble size #define VISCOSITY 150 // determines height of letter #define LETTER_SPACING 350 // determines spacing of letters #define CLEAN_ON 20 #define CLEAN_OFF 125 // cleaning times. TOO MUCH ON WILL CAUSE OVERFLOW!!! #define DATA_PIN 2 #define IRQ_PIN 3 // pins for the keyboard #define LCD_PIN 9 // cs pin for LCD // valve pinout determined by hardware #define valve1 13 #define valve2 14 #define valve3 15 #define valve4 0 #define valve5 1 #define valve6 12 #define valve7 11 #define valve8 10 #define valve9 9 #define valve10 8 #define R 2 #define G 3 #define B 4 String string; // sets up instance for dealing with string byte flag = 0; // flag for cleaning lines Shifty shiftReg; // sets up instance for 595 shift registers PS2Keyboard keyboard; // event handle for keyboard library LiquidCrystal lcd(LCD_PIN); // set up the lcd with cs on pin 9 void setup() { keyboard.begin(DATA_PIN, IRQ_PIN); // link to keyboard lcd.begin(16, 2); // define LCD size lcd.clear(); // wipe lcd to start lcd.setCursor(0,0); // start cursor in first position shiftReg.setBitCount(16); // 16 bit shift register shiftReg.setPins(4, 5, 6); // SCLK, MOSI, and CS shiftReg.batchWriteBegin(); shiftReg.writeBit(valve1,1); shiftReg.writeBit(valve2,1); shiftReg.writeBit(valve3,1); shiftReg.writeBit(valve4,1); shiftReg.writeBit(valve5,1); shiftReg.writeBit(valve6,1); // turn all air off shiftReg.writeBit(valve7,1); shiftReg.writeBit(valve8,1); shiftReg.writeBit(valve9,1); shiftReg.writeBit(valve10,1); shiftReg.batchWriteEnd(); // make sure all valves are closed to set start state flag = 1; // start off by clearing air lines shiftReg.batchWriteBegin(); shiftReg.writeBit(R,0); // R shiftReg.writeBit(G,1); // G defualt backlight color. shiftReg.writeBit(B,1); // B shiftReg.batchWriteEnd(); string = ""; } void loop() { // check wanted state. either normal bubble wall or letter mode. // if normal then dont do anything to valves but leave the pump on // if letter mode then if (keyboard.available()) { char c = keyboard.read(); // grab the last pressed key if (c == PS2_ENTER) { if(string == "color = red") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,1); // R shiftReg.writeBit(G,0); // G shiftReg.writeBit(B,0); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = blue") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,0); // R shiftReg.writeBit(G,0); // G shiftReg.writeBit(B,1); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = green") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,0); // R shiftReg.writeBit(G,1); // G shiftReg.writeBit(B,0); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = white") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,1); // R shiftReg.writeBit(G,1); // G shiftReg.writeBit(B,1); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = cyan") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,0); // R shiftReg.writeBit(G,1); // G shiftReg.writeBit(B,1); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = purple") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,1); // R shiftReg.writeBit(G,0); // G shiftReg.writeBit(B,1); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "color = yellow") { shiftReg.batchWriteBegin(); shiftReg.writeBit(R,1); // R shiftReg.writeBit(G,1); // G shiftReg.writeBit(B,0); // B shiftReg.batchWriteEnd(); string = ""; } else if(string == "help") { lcd.clear(); lcd.setCursor(0,0); lcd.print(F("Set led colors")); lcd.setCursor(0,1); lcd.print(F("by typing")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("\"color = red\"")); lcd.setCursor(0,1); lcd.print(F("or changing")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("red to any other")); lcd.setCursor(0,1); lcd.print(F("basic color.")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("To display")); lcd.setCursor(0,1); lcd.print(F("letters, type")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("anything you")); lcd.setCursor(0,1); lcd.print(F("want under 16")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("characters, and")); lcd.setCursor(0,1); lcd.print(F("press enter.")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("To clean all")); lcd.setCursor(0,1); lcd.print(F("air lines out,")); delay(2500); lcd.clear(); lcd.setCursor(0,0); lcd.print(F("press tab or")); lcd.setCursor(0,1); lcd.print(F("type \"clean #\"")); delay(2500); lcd.setCursor(0,0); lcd.print(F("and put column")); lcd.setCursor(0,1); lcd.print(F("in place of #.")); delay(2500); lcd.clear(); string = ""; } else if(string == "clean 1") { Clean(valve1); string = ""; } else if(string == "clean 2") { Clean(valve2); string = ""; } else if(string == "clean 3") { Clean(valve3); string = ""; } else if(string == "clean 4") { Clean(valve4); string = ""; } else if(string == "clean 5") { Clean(valve5); string = ""; } else if(string == "clean 6") { Clean(valve6); string = ""; } else if(string == "clean 7") { Clean(valve7); string = ""; } else if(string == "clean 8") { Clean(valve8); string = ""; } else if(string == "clean 9") { Clean(valve9); string = ""; } else if(string == "clean 10") { Clean(valve10); string = ""; } else { char charString[18]; // big enough for 16 chars and a null pointer plus an extra string.toCharArray(charString, 18); // convert string to an array of chars for(byte index = 0; index < 17; index++) { if(charString[index] == '\0') // check for each of string { break; // leave the for loop if it was shorter then 16 chars. } asciiCase(charString[index]); // as each char is found, go feed it out. } string = ""; lcd.clear(); } lcd.clear(); } else if (c == PS2_ESC) // deletes everything { string = ""; // set string equal to nothing to start over lcd.clear(); // reset lcd. } else if (c == PS2_DELETE) { string.remove(string.length()-1); // take away the last thing entered on the string lcd.clear(); // reset lcd lcd.print(string); // show updated string } else if(c == PS2_TAB) { flag = 1; // set flag to constantly run air } else if((c == PS2_PAGEDOWN) || (c == PS2_PAGEUP) || (c == PS2_LEFTARROW) || (c == PS2_RIGHTARROW) || (c == PS2_UPARROW) || (c == PS2_DOWNARROW)) { ;// do nothing } else { flag = 0; // turn off flag AllAirOff(); // turn off all air if(string.length() < 16) { string += c; //add the key pressed onto the end of the string lcd.clear();; // reset lcd lcd.print(string); // show updated string } else { lcd.setCursor(0,1); lcd.print("That's too long!"); // warn that string is too long on 2nd lcd line } } } if(flag) // if cleaning flag is set { asciiCase('X'); // print out continious Xs to clean lines } } void asciiCase(char letter) { switch(letter) { case 'A': //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut2[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut3[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut5[] = {1,0,0,0,0,0,0,0,0,1}; byte pushOut6[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut7[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut8[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'B'://BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB { byte pushOut0[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut1[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut2[] = {0,1,1,1,1,1,0,1,1,1}; byte pushOut3[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut4[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut5[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut6[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut7[] = {0,1,1,1,1,1,0,1,1,1}; byte pushOut8[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut9[] = {0,0,0,0,0,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'C'://CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC { byte pushOut0[] = {1,1,1,1,0,0,0,0,1,1}; byte pushOut1[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut2[] = {1,0,0,1,1,1,1,1,1,1}; byte pushOut3[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut4[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,0,0,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,0,0,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'D'://DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut3[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut4[] = {0,1,1,1,1,1,0,0,1,1}; byte pushOut5[] = {0,1,1,1,1,1,1,0,1,1}; byte pushOut6[] = {0,1,1,1,1,1,1,0,1,1}; byte pushOut7[] = {0,1,1,1,1,1,0,0,1,1}; byte pushOut8[] = {0,1,1,1,0,0,0,1,1,1}; byte pushOut9[] = {0,0,0,0,0,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'E'://EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE { byte pushOut0[] = {0,0,0,0,0,0,0,0,0,1}; byte pushOut1[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,0,0,0,0,1}; byte pushOut5[] = {0,0,0,0,0,0,0,0,0,1}; byte pushOut6[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,0,0,0,0,0,0,0,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'F'://FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF { byte pushOut0[] = {0,0,0,0,0,0,0,0,0,1}; byte pushOut1[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,0,0,1,1,1}; byte pushOut5[] = {0,0,0,0,0,0,0,1,1,1}; byte pushOut6[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'G'://GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,0,0,0,0,0,1,1}; byte pushOut2[] = {1,1,0,0,1,1,1,0,1,1}; byte pushOut3[] = {1,0,0,1,1,1,1,1,1,1}; byte pushOut4[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,0,1,1,1,0,0,0,0,1}; byte pushOut6[] = {1,0,0,1,1,1,1,0,1,1}; byte pushOut7[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut8[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'H'://HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH { byte pushOut0[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut1[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut2[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut3[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut4[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut5[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut6[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut7[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut8[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut9[] = {0,0,1,1,1,1,1,1,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'I'://IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII { byte pushOut0[] = {1,0,0,0,0,0,0,0,0,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,0,0,0,0,0,0,0,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'J'://JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ { byte pushOut0[] = {1,1,1,1,0,0,0,0,0,0}; byte pushOut1[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut2[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut5[] = {1,0,0,1,1,1,0,0,1,1}; byte pushOut6[] = {1,1,0,0,1,0,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'K'://KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK { byte pushOut0[] = {0,0,1,1,1,0,0,1,1,1}; byte pushOut1[] = {0,1,1,1,0,1,1,1,1,1}; byte pushOut2[] = {0,1,1,0,1,1,1,1,1,1}; byte pushOut3[] = {0,1,0,1,1,1,1,1,1,1}; byte pushOut4[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut5[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut6[] = {0,1,0,1,1,1,1,1,1,1}; byte pushOut7[] = {0,1,1,0,1,1,1,1,1,1}; byte pushOut8[] = {0,1,1,1,0,1,1,1,1,1}; byte pushOut9[] = {0,0,1,1,1,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'L'://LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL { byte pushOut0[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut1[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut2[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut3[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut4[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut5[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut6[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut7[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut8[] = {0,0,0,0,0,0,0,0,1,1}; byte pushOut9[] = {0,0,0,0,0,0,0,0,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'M'://MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM { byte pushOut0[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut1[] = {0,0,0,1,1,1,1,0,0,0}; byte pushOut2[] = {0,0,0,0,1,1,0,0,0,0}; byte pushOut3[] = {0,0,1,0,0,0,0,1,0,0}; byte pushOut4[] = {0,0,1,1,0,0,1,1,0,0}; byte pushOut5[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut6[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut7[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut8[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut9[] = {0,0,1,1,1,1,1,1,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'N'://NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {0,0,1,1,1,1,1,1,1,0}; byte pushOut2[] = {0,1,0,1,1,1,1,1,1,0}; byte pushOut3[] = {0,1,1,0,1,1,1,1,1,0}; byte pushOut4[] = {0,1,1,1,0,1,1,1,1,0}; byte pushOut5[] = {0,1,1,1,1,0,1,1,1,0}; byte pushOut6[] = {0,1,1,1,1,1,0,1,1,0}; byte pushOut7[] = {0,1,1,1,1,1,1,0,1,0}; byte pushOut8[] = {0,1,1,1,1,1,1,1,0,0}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'O'://OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut2[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut3[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut4[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut5[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut6[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'P'://PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP { byte pushOut0[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut1[] = {0,0,1,1,0,0,1,1,1,1}; byte pushOut2[] = {0,0,1,1,1,0,0,1,1,1}; byte pushOut3[] = {0,0,1,1,0,0,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut5[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut6[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut7[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut8[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,0,0,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'Q'://QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut2[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut3[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut4[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut5[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut6[] = {1,0,1,1,1,1,0,1,0,1}; byte pushOut7[] = {1,0,0,1,1,1,0,0,0,1}; byte pushOut8[] = {1,1,0,0,0,0,0,0,0,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'R'://RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR { byte pushOut0[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut1[] = {0,0,1,1,0,0,1,1,1,1}; byte pushOut2[] = {0,0,1,1,1,0,0,1,1,1}; byte pushOut3[] = {0,0,1,1,0,0,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,1,1,1,1,1}; byte pushOut5[] = {0,0,0,0,1,1,1,1,1,1}; byte pushOut6[] = {0,0,1,0,0,1,1,1,1,1}; byte pushOut7[] = {0,0,1,1,0,0,1,1,1,1}; byte pushOut8[] = {0,0,1,1,1,0,0,1,1,1}; byte pushOut9[] = {0,0,0,1,1,1,0,0,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'S'://SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut2[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut3[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut9[] = {1,1,1,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'T'://TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT { byte pushOut0[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut1[] = {0,1,1,1,0,0,1,1,1,0}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'U'://UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU { byte pushOut0[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut1[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut2[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut3[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut4[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut5[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut6[] = {0,0,0,1,1,1,1,0,0,0}; byte pushOut7[] = {1,0,0,0,1,1,0,0,0,1}; byte pushOut8[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'V'://VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut2[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut3[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut4[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut5[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut7[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut8[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'W'://WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut2[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut3[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut4[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut5[] = {0,1,1,1,0,0,1,1,1,0}; byte pushOut6[] = {0,1,1,0,1,1,0,1,1,0}; byte pushOut7[] = {0,1,0,1,1,1,1,0,1,0}; byte pushOut8[] = {0,0,1,1,1,1,1,1,0,0}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'X'://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut7[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut8[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'Y'://YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'Z'://ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ { byte pushOut0[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut1[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,1,1,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut7[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut8[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,0,0,0,0,0,0,0,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'a'://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut6[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,0,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'b'://bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'c'://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut7[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'd'://ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'e'://eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'f'://fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut3[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut4[] = {1,1,0,0,0,0,0,1,1,1}; byte pushOut5[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'g'://ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'h'://hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'i'://iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'j'://jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut2[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut5[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut6[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut7[] = {1,1,1,0,0,1,0,0,1,1}; byte pushOut8[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'k'://kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut2[] = {1,1,0,1,1,0,1,1,1,1}; byte pushOut3[] = {1,1,0,1,0,1,1,1,1,1}; byte pushOut4[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut5[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut6[] = {1,1,0,1,0,1,1,1,1,1}; byte pushOut7[] = {1,1,0,1,1,0,1,1,1,1}; byte pushOut8[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'l'://llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'm'://mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,0,0,0,1,1,0,0,1,1}; byte pushOut5[] = {1,0,1,1,0,0,1,1,0,1}; byte pushOut6[] = {1,0,1,1,0,0,1,1,0,1}; byte pushOut7[] = {1,0,1,1,0,0,1,1,0,1}; byte pushOut8[] = {1,0,1,1,0,0,1,1,0,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'n'://nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,0,0,0,0,0,1,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut7[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut8[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'o'://oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'p'://pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,0,0,0,0,1,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,0,0,0,0,1,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'q'://qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'r'://rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,0,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,0,0,1,1,0,1,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,0,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 's'://sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut8[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 't'://ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut4[] = {1,0,0,0,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'u'://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut6[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'v'://vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'w'://wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,0,1,1,1,0,1,1,1,0}; byte pushOut4[] = {1,0,1,1,1,0,1,1,1,0}; byte pushOut5[] = {1,1,0,1,0,1,0,1,0,1}; byte pushOut6[] = {1,1,0,0,0,1,0,0,0,1}; byte pushOut7[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'x'://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,1,0,1}; byte pushOut3[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut4[] = {1,1,1,1,0,1,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut8[] = {1,1,0,1,1,1,1,1,0,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'y'://yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut6[] = {1,1,0,1,1,1,0,1,1,1}; byte pushOut7[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case 'z'://zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut6[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut7[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '1'://1111111111111111111111111111111111111111111111111111111111111111111 { byte pushOut0[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,0,0,0,0,0,0,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '2'://2222222222222222222222222222222222222222222222222222222222222222222 { byte pushOut0[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut1[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,1,0,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut4[] = {1,1,1,1,1,1,1,0,1,1}; byte pushOut5[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut8[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut9[] = {1,1,0,0,0,0,0,0,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '3'://3333333333333333333333333333333333333333333333333333333333333333333 { byte pushOut0[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut1[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut4[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut5[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,1,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '4'://4444444444444444444444444444444444444444444444444444444444444444444 { byte pushOut0[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut1[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut3[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut4[] = {1,0,0,0,0,0,0,0,0,0}; byte pushOut5[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut9[] = {1,1,1,1,1,1,1,0,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '5'://5555555555555555555555555555555555555555555555555555555555555555555 { byte pushOut0[] = {1,0,0,0,0,0,0,0,0,1}; byte pushOut1[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,0,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,0,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,0,1,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,0,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '6'://6666666666666666666666666666666666666666666666666666666666666666666 { byte pushOut0[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut1[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut2[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut3[] = {1,0,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,0,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,0,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,1,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '7'://7777777777777777777777777777777777777777777777777777777777777777777 { byte pushOut0[] = {1,0,0,0,0,0,0,0,0,1}; byte pushOut1[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,1,1,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '8'://8888888888888888888888888888888888888888888888888888888888888888888 { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,1,0,0,0,0,1,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,0,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,1,0,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '9'://9999999999999999999999999999999999999999999999999999999999999999999 { byte pushOut0[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut1[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,1,0,1}; byte pushOut3[] = {1,1,0,1,1,1,1,1,0,1}; byte pushOut4[] = {1,1,1,0,1,1,1,0,0,1}; byte pushOut5[] = {1,1,1,1,0,0,0,1,0,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '0'://00000000000000000000000000000000000000000000000000000000000000000000 { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut2[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut3[] = {1,0,1,0,1,1,1,1,0,1}; byte pushOut4[] = {0,0,1,1,0,1,1,1,0,0}; byte pushOut5[] = {0,0,1,1,1,0,1,1,0,0}; byte pushOut6[] = {1,0,1,1,1,1,0,1,0,1}; byte pushOut7[] = {1,0,0,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ' '://(space)(space)(space)(space)(space)(space)(space)(space)(space)(space) { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ','://,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut7[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '.'://.................................................................. { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '\''://''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,0,1}; byte pushOut2[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut3[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '?'://????????????????????????????????????????????????????????????????? { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut3[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut5[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '!'://!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ':'://::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ';'://;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '@'://@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { byte pushOut0[] = {1,0,0,0,0,0,0,0,1,1}; byte pushOut1[] = {0,1,1,1,1,1,1,1,0,1}; byte pushOut2[] = {0,1,1,1,0,0,0,1,0,1}; byte pushOut3[] = {0,1,1,1,1,1,0,1,0,1}; byte pushOut4[] = {0,1,1,0,0,0,0,1,0,1}; byte pushOut5[] = {0,1,0,1,1,1,0,1,0,1}; byte pushOut6[] = {0,1,0,1,1,1,0,1,0,1}; byte pushOut7[] = {0,1,1,0,0,0,0,0,0,1}; byte pushOut8[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,0,0,0,0,0,0,0,0,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '#'://################################################################### { byte pushOut0[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut1[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut2[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut3[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut5[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut6[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut7[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut8[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut9[] = {1,1,0,1,1,1,1,0,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '$'://$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ { byte pushOut0[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut3[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,1,0,1,1,1}; byte pushOut7[] = {1,1,1,1,0,1,0,1,1,1}; byte pushOut8[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '%'://%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% { byte pushOut0[] = {1,1,1,1,1,1,1,1,0,0}; byte pushOut1[] = {1,0,0,1,1,1,1,0,0,0}; byte pushOut2[] = {1,0,0,1,1,1,0,0,0,1}; byte pushOut3[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut4[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut6[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut7[] = {1,0,0,0,1,1,1,0,0,1}; byte pushOut8[] = {0,0,0,1,1,1,1,0,0,1}; byte pushOut9[] = {0,0,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '^'://^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut3[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '&'://&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut2[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut3[] = {1,1,1,0,1,1,0,1,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,0}; byte pushOut6[] = {1,1,1,0,1,1,0,1,0,1}; byte pushOut7[] = {1,1,0,1,1,1,1,0,1,1}; byte pushOut8[] = {1,1,0,1,1,1,0,1,0,1}; byte pushOut9[] = {1,1,1,0,0,0,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '*'://***************************************************************** { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {0,1,1,1,0,0,1,1,1,0}; byte pushOut2[] = {0,0,0,1,0,0,1,0,0,0}; byte pushOut3[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut4[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut6[] = {1,1,0,0,0,0,0,0,1,1}; byte pushOut7[] = {0,0,0,1,0,0,1,0,0,0}; byte pushOut8[] = {0,1,1,1,0,0,1,1,1,0}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '('://(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( { byte pushOut0[] = {1,1,1,1,1,1,0,1,1,1}; byte pushOut1[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut4[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut5[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ')'://))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) { byte pushOut0[] = {1,1,1,0,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut5[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut6[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,0,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '_'://__________________________________________________________________ { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,0,0,0,0,0,0,0,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '+'://+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ { byte pushOut0[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut5[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut6[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '-'://------------------------------------------------------------------ { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut5[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '='://=================================================================== { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut3[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut7[] = {0,0,0,0,0,0,0,0,0,0}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '/'://////////////////////////////////////////////////////////////////// { byte pushOut0[] = {1,1,1,1,1,1,1,1,0,0}; byte pushOut1[] = {1,1,1,1,1,1,1,0,0,0}; byte pushOut2[] = {1,1,1,1,1,1,0,0,0,1}; byte pushOut3[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut4[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut5[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut6[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut7[] = {1,0,0,0,1,1,1,1,1,1}; byte pushOut8[] = {0,0,0,1,1,1,1,1,1,1}; byte pushOut9[] = {0,0,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '\\'://(backslash)(backslash)(backslash)(backslash)(backslash)(backslash) { byte pushOut0[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut1[] = {0,0,0,1,1,1,1,1,1,1}; byte pushOut2[] = {1,0,0,0,1,1,1,1,1,1}; byte pushOut3[] = {1,1,0,0,0,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,0,0,1,1}; byte pushOut7[] = {1,1,1,1,1,1,0,0,0,1}; byte pushOut8[] = {1,1,1,1,1,1,1,0,0,0}; byte pushOut9[] = {1,1,1,1,1,1,1,1,0,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '~'://~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut4[] = {1,1,0,0,0,1,1,1,0,0}; byte pushOut5[] = {1,0,0,1,0,0,1,0,0,1}; byte pushOut6[] = {0,0,1,1,1,0,0,0,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '"'://""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,0,1,1,1,0,1,1}; byte pushOut2[] = {1,1,0,0,1,1,0,0,1,1}; byte pushOut3[] = {1,0,0,1,1,0,0,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '`'://````````````````````````````````````````````````````````````````````` { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '{'://{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ { byte pushOut0[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut1[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut5[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '}'://}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} { byte pushOut0[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut9[] = {1,1,1,0,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '['://[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ { byte pushOut0[] = {1,1,1,1,0,0,0,1,1,1}; byte pushOut1[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut2[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut3[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut4[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut5[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut6[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut7[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut8[] = {1,1,1,1,0,1,1,1,1,1}; byte pushOut9[] = {1,1,1,1,0,0,0,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case ']'://]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] { byte pushOut0[] = {1,1,1,0,0,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut9[] = {1,1,1,0,0,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '|'://||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| { byte pushOut0[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut1[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut2[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut3[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut4[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut6[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut7[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut8[] = {1,1,1,1,1,0,1,1,1,1}; byte pushOut9[] = {1,1,1,1,1,0,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '<'://<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< { byte pushOut0[] = {1,1,1,1,1,1,1,1,1,0}; byte pushOut1[] = {1,1,1,1,1,1,1,1,0,0}; byte pushOut2[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut3[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut4[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut5[] = {1,1,1,1,1,0,0,1,1,1}; byte pushOut6[] = {1,1,1,1,1,1,0,0,1,1}; byte pushOut7[] = {1,1,1,1,1,1,1,0,0,1}; byte pushOut8[] = {1,1,1,1,1,1,1,1,0,0}; byte pushOut9[] = {1,1,1,1,1,1,1,1,1,0}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; case '>'://>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> { byte pushOut0[] = {0,1,1,1,1,1,1,1,1,1}; byte pushOut1[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut2[] = {1,0,0,1,1,1,1,1,1,1}; byte pushOut3[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut4[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut5[] = {1,1,1,0,0,1,1,1,1,1}; byte pushOut6[] = {1,1,0,0,1,1,1,1,1,1}; byte pushOut7[] = {1,0,0,1,1,1,1,1,1,1}; byte pushOut8[] = {0,0,1,1,1,1,1,1,1,1}; byte pushOut9[] = {0,1,1,1,1,1,1,1,1,1}; MakeLetter (pushOut0, pushOut1, pushOut2, pushOut3, pushOut4, pushOut5, pushOut6, pushOut7, pushOut8, pushOut9); } break; default: break; } } void AllAirOff() { shiftReg.batchWriteBegin(); shiftReg.writeBit(valve1,1); shiftReg.writeBit(valve2,1); shiftReg.writeBit(valve3,1); shiftReg.writeBit(valve4,1); shiftReg.writeBit(valve5,1); shiftReg.writeBit(valve6,1); // turn all air off shiftReg.writeBit(valve7,1); shiftReg.writeBit(valve8,1); shiftReg.writeBit(valve9,1); shiftReg.writeBit(valve10,1); shiftReg.batchWriteEnd(); } void Push(byte pushOut[]) { shiftReg.batchWriteBegin(); shiftReg.writeBit(valve1,pushOut[0]); shiftReg.writeBit(valve2,pushOut[1]); shiftReg.writeBit(valve3,pushOut[2]); shiftReg.writeBit(valve4,pushOut[3]); shiftReg.writeBit(valve5,pushOut[4]); shiftReg.writeBit(valve6,pushOut[5]); // write each valve shiftReg.writeBit(valve7,pushOut[6]); shiftReg.writeBit(valve8,pushOut[7]); shiftReg.writeBit(valve9,pushOut[8]); shiftReg.writeBit(valve10,pushOut[9]); shiftReg.batchWriteEnd(); } void MakeLetter(byte first[], byte second[], byte third[], byte fourth[], byte fifth[], byte sixth[], byte seventh[], byte eigth[], byte ninth[], byte tenth[]) { Push(first); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(second); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(third); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(fourth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(fifth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(sixth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(seventh); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(eigth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(ninth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(VISCOSITY); // hold air off Push(tenth); delay(BUBBLE_SIZE); // hold air on AllAirOff(); delay(LETTER_SPACING); // hold air off } void Clean(byte valve) { for(byte i = 0; i <= 25; i++) // pulse on and off 25 times { shiftReg.writeBit(valve,0); delay(CLEAN_ON); shiftReg.writeBit(valve,1); delay(CLEAN_OFF); } }