LCD Projector Controller Project Help (n00b)

part 2

/* write one character to the LCD */

void
lcd_putch(byte c)
{
    digitalWrite(LCD_RS,HIGH); // write characters
    lcd_write(c);
}
void
lcd_putin(int c)
{
    digitalWrite(LCD_RS,HIGH); // write characters
    lcd_write(c);
}

/*
 * Go to the specified position
 */

void
lcd_goto(byte pos)
{
    digitalWrite(LCD_RS,0); 
    lcd_write(0x80 + pos);
}      
/* initialise the LCD - put into 4 bit mode */

void
lcd_init(void)
{               
      pinMode(LCD_D7,OUTPUT);            
      pinMode(LCD_D6,OUTPUT);
      pinMode(LCD_D5,OUTPUT);
      pinMode(LCD_D4,OUTPUT);
      pinMode(LCD_EN,OUTPUT);        
      pinMode(LCD_RS,OUTPUT);        
      digitalWrite(LCD_RS, LOW);      // write control bytes
      delay(15);// power on delay
      digitalWrite(LCD_D4, HIGH);      // init!      
      digitalWrite(LCD_D5, HIGH); //
      lcd_strobe();
      delay(5);
      lcd_strobe();// init!      
      delayMicroseconds(100);
      lcd_strobe();// init!      
      delay(5);
      digitalWrite(LCD_D4, LOW);      // set 4 bit mode
      lcd_strobe();
      delayMicroseconds(40);
      lcd_write(0x28);// 4 bit mode, 1/16 duty, 5x8 font, 2lines
      lcd_write(0x0C);// display on
      lcd_write(0x06);// entry mode advance cursor
      lcd_write(0x01);// clear display and reset cursor
}


void checkPower()
{
  // check power status of projector
  proj_send(proj_statusPower);
  incomingPower[0] = mySerial.read();
  incomingPower[1] = mySerial.read();
  Serial.print(incomingPower[0]);
  Serial.println(incomingPower[1]);
  
  if (incomingPower[0] == '0')
  {
     if (incomingPower[1] == '0')
     {
                // POWER is ON
       lcd_clear();
       delay(10);
       lcd_goto(0);
       delay(10);
       lcd_puts("STATUS:Power ON ");
       Serial.println("STATUS POWER IS ON");
     }
  

//     if (incomingPower[1] == '2')
//     {
//                 // Any buttons on a projector is not available
//       lcd_clear();
//       delay(10);
//       lcd_goto(0);
//       delay(10);
//       lcd_puts("Any buttons on a ");
//       lcd_goto(40);
//       delay(10);
//       lcd_puts("proj. not avail.");
//    }
//    if (incomingPower[1] == '4')
//    {
//     // Power Save
//      lcd_clear();
//      delay(10);
//      lcd_goto(0);
//      delay(10);
//      lcd_puts("Power Save      ");
//    }
//    if (incomingPower[1] == '8')
//    {
//       // Exceeding critical temperature
//       lcd_clear();
//       delay(10);
//       lcd_goto(0);
//       delay(10);
//       lcd_puts("Exceed high temp");
//    }
  }
//  if (incomingPower[0] == '1')
//  {
//             // Abnormal Power Supply
//     lcd_clear();
//     delay(10);
//     lcd_goto(0);
//     delay(10);
//     lcd_puts("Abnormal Power  ");
//   }
//   if (incomingPower[0] == '2')
//   {
//     if (incomingPower[1] == '0')
//     {
//            // COOLING DOWN
//       lcd_clear();
//       delay(10);
//       lcd_goto(0);
//       delay(10);
//       lcd_puts("Cooling down    ");
//     }
//     if (incomingPower[1] == '4')
//     {
//         // Processing Power Save - Cooling Down
//        lcd_clear();
//        delay(10);
//        lcd_goto(0);
//        delay(10);
//        lcd_puts("Power Save      ");
//        lcd_goto(40);
//        delay(10);
//        lcd_puts("Cooling Down    ");
//     }
//      if (incomingPower[1] == '8')
//      {
//           // Cooling down because of exceeding critical temperature
//        lcd_clear();
//        delay(10);
//        lcd_goto(0);
//        delay(10);
//        lcd_puts("Cool down hi tmp");
//      }
//    }
//    if (incomingPower[0] == '4')
//   {
//         // COUNT DOWN
//      lcd_clear();
//      delay(10);
//      lcd_goto(0);
//      delay(10);
//      lcd_puts("Count Down      ");
//   }
    if (incomingPower[0] == '8')
    {
      if (incomingPower[1] == '0')
      {
       // STANDBY
       // POWER is ON
         lcd_clear();
         delay(10);
         lcd_goto(0);
         delay(10);
         lcd_puts("STATUS:Power OFF");
      }
      if (incomingPower[1] == '8')
      {
              // STANDBY mode after recovering the exceeding critical temperature
        lcd_clear();
        delay(10);
        lcd_goto(0);
        delay(10);
        lcd_puts("Standby HI TEMP ");
      }              
   }   
}

void checkInput()
{
  // check input status of projector
  proj_send(proj_statusInput);
  incomingInput = mySerial.read();
  Serial.println(incomingInput);
  if(incomingInput == '1')
  {
    // COMPUTER INPUT
    lcd_goto(40);
    delay(10);
    lcd_puts("       Input PC ");
    Serial.println("INPUT IS PC");
  }
  if(incomingInput == '3')
  {
    // VIDEO INPUT  --- DVD
    lcd_goto(40);
    delay(10);
    lcd_puts("       Input DVD");
    Serial.println("INPUT IS DVD");
  }
}

void checkLamp()
{
  proj_send(proj_lampHours);
  incomingLamp[0] = mySerial.read();
  incomingLamp[1] = mySerial.read();
  incomingLamp[2] = mySerial.read();
  incomingLamp[3] = mySerial.read();
  Serial.print(incomingLamp[0]);
  Serial.print(incomingLamp[1]);
  Serial.print(incomingLamp[2]);
  Serial.println(incomingLamp[3]);
  lcd_goto(0);
  delay(10);
  lcd_puts("Total Lamp Hours");
  lcd_goto(40);
  delay(10);
  lcd_putch(incomingLamp[0]);
  lcd_putch(incomingLamp[1]);
  lcd_putch(incomingLamp[2]);
  lcd_putch(incomingLamp[3]);
  lcd_puts("            ");

}