LCD Projector Controller Project Help (n00b)

Success! Thanks for all the responses.

I switched the caps from 1uf to .1uf like Daniel suggested. That and following the right schematic (D'OH) is working now, double WHOO!

Now I put in the turn on rs232 codes and the projector turns on great. I struggled getting the baud speed right. After I reread tron22's post I realized I couldn't use softwareserial (The projector runs at 19200). Now I just have the codes writing byte by byte Serial.print(0xBE, BYTE); Serial.print(0xEF, BYTE); and it works.

Now I'd like the the different codes to execute only when I press a button. I've looked at button tutorials and I'm having trouble understanding how to make it go.

This is the code I'm trying to use. (Right now I'm trying to make one button toggle between on/off but when I actually make the controller I'd like discrete buttons for | on | off | video | pc | volume up | volume down |). Using this code the projector just keeps turning itself on and off. Is it okay for the arduino to be constantly be sending codes or is there a way to make it wait for a button press? Ideas and info are as always greatly appreciated!

#define switchAPin 12
int analogValue = 0;    // variable to hold the analog value
// int inPin = 12;   // choose the input pin (for a pushbutton)
int ledPin = 13;
int val = 0;
byte rx = 2;
byte tx = 3;
int switchAState = LOW;
int currentSwitchState = LOW;

void setup() {
  pinMode(rx,INPUT);
  pinMode(tx,OUTPUT);
  // pinMode(inPin,INPUT);
  // digitalWrite(tx,HIGH);
  Serial.begin(19200);
  pinMode(ledPin, OUTPUT);
  pinMode(switchAPin, INPUT);
}

void loop() {

  // deal with switchA
  currentSwitchState = digitalRead(switchAPin);
  if( currentSwitchState == LOW && switchAState == HIGH ) // push
    Serial.print(0xBE, BYTE);
    Serial.print(0xEF, BYTE);
    Serial.print(0x03, BYTE);
    Serial.print(0x06, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x2A, BYTE);
    Serial.print(0xD3, BYTE);
    Serial.print(0x01, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x60, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x00, BYTE);
  if( currentSwitchState == HIGH && switchAState == LOW ) // release
        Serial.print(0xBE, BYTE);
    Serial.print(0xEF, BYTE);
    Serial.print(0x03, BYTE);
    Serial.print(0x06, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0xBA, BYTE);
    Serial.print(0xD2, BYTE);
    Serial.print(0x01, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x00, BYTE);
    Serial.print(0x60, BYTE);
    Serial.print(0x01, BYTE);
    Serial.print(0x00, BYTE);
   switchAState = currentSwitchState;
}