int buttonOneState=0;
int buttonTwoState=0;

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);  
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);

  digitalWrite(4, HIGH);
  digitalWrite(3, HIGH);
  Serial.begin(9600);  
}

// the loop function runs over and over again forever
void loop() 
{  
  buttonOneState=digitalRead(4);
  buttonTwoState=digitalRead(3);
  if(buttonOneState==LOW)
  {
    BlinkALl(5,1000);
  }
  else if(buttonTwoState==LOW)
  {
    PrintName("ayush kumar");
    //if (Serial.available() > 0) 
     //{
      //PrintName(Serial.readString());      
     //}
  }     
}

void BlinkALl(int count,int duration)
{
  for(int i=1;i<=count;i++)
  {
    HighAll();
    delay(duration);
    ClearALL();
    delay(duration);
  }
}

void HighAll()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void ClearALL()
{
  digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
}

void PrintName(String inputName)
{
  int nameLength=inputName.length();
  for(int i=0;i PrintChar(inputName[i]);
    delay(1000);
    ClearALL();
    delay(500);
  }  
}

void PrintChar(char inputChar)
{
  switch(inputChar)
  {
    case 'A':PrintA();break;
    case 'a':PrintA();break;
    case 'B':PrintB();break;
    case 'b':PrintB();break;
    case 'C':PrintC();break;
    case 'c':PrintC();break;
    case 'D':PrintD();break;
    case 'd':PrintD();break;
    case 'E':PrintE();break;
    case 'e':PrintE();break;
    case 'F':PrintF();break;
    case 'f':PrintF();break;
    case 'G':PrintG();break;
    case 'g':PrintG();break;
    case 'H':PrintH();break;
    case 'h':PrintH();break;
    case 'I':PrintI();break;
    case 'i':PrintI();break;
    case 'J':PrintJ();break;
    case 'j':PrintJ();break;
    case 'K':PrintK();break;
    case 'k':PrintK();break;
    case 'L':PrintL();break;
    case 'l':PrintL();break;
    case 'M':PrintM();break;
    case 'm':PrintM();break;
    case 'N':PrintN();break;
    case 'n':PrintN();break;
    case 'O':PrintO();break;
    case 'o':PrintO();break;
    case 'P':PrintP();break;
    case 'p':PrintP();break;
    case 'Q':PrintQ();break;
    case 'q':PrintQ();break;
    case 'R':PrintR();break;
    case 'r':PrintR();break;
    case 'S':PrintS();break;
    case 's':PrintS();break;
    case 'T':PrintT();break;
    case 't':PrintT();break;
    case 'U':PrintU();break;
    case 'u':PrintU();break;
    case 'V':PrintV();break;
    case 'v':PrintV();break;
    case 'W':PrintW();break;
    case 'w':PrintW();break;
    case 'X':PrintX();break;
    case 'x':PrintX();break;
    case 'Y':PrintY();break;
    case 'y':PrintY();break;
    case 'Z':PrintZ();break;
    case 'z':PrintZ();break;
  }  
}

void PrintA()
{
   digitalWrite(12, HIGH);
   digitalWrite(10, HIGH);
   digitalWrite(9, HIGH);
   digitalWrite(8, HIGH);
   digitalWrite(7, HIGH);
   digitalWrite(5, HIGH);
}

void PrintB()
{
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(9, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(5, HIGH);
}

void PrintC()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintD()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(10, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintE()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintF()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
}

void PrintG()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintH()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintI()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintJ()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
}

void PrintK()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintL()
{
digitalWrite(13, HIGH);
digitalWrite(10, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintM()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintN()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintO()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintP()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
}

void PrintQ()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintR()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintS()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintT()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
}

void PrintU()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintV()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(8, HIGH);
digitalWrite(6, HIGH);
}

void PrintW()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}

void PrintX()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(5, HIGH);
}

void PrintY()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
}

void PrintZ()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}