This is an Arduino Uno with an attached SparkFun RS232 shield that detects button inputs and sends the corresponding string to the projector over an ethernet / serial conversion (RS232).
The primary functions of this project needed to be a way to raise or lower the projector screen, power on/off the projector, switch the inputs, and control the video mute feature of the projector. This needed to be accomplished while keeping user friendliness in mind and while under budget constraints.
There are two toggle switches and six buttons that cover everything a person that needs to use the system should need, the toggle switches control raising or lowering the room's window curtains and projector screens, the six buttons are: ON, OFF, HDMI, VGA, VGA2, and VIDEO MUTE.
Each button is connected to a digital pin on the Arduino through the RS232 shield, once pressed the Arduino will send a string through its serial port to the projector. Most projectors have the ability to receive serial commands and there are many proprietary products that can take advantage of this feature. Just about everything can be controlled via serial and manufacturers usually provide the documentation for what each projector needs for this to work. For example, sending the string "C0" will tell the projector to shut down. The code I've posted on Github can be used as-is or modified to suit any situation, simply changing the strings that are sent out through SERIAL will probably work if trying something other than a Sanyo projector. I've also reserved pins 2-7 on the Arduino for the switch logic, and 8-13 for the LEDs.
At the moment this doesn't interface with audio whatsoever, I have an amplifier connected to two ceiling mounted speakers and just a 3.5mm headphone jack coming out of that. The volume is controlled by a knob on the front of the amplifier, I figured that that's easy enough and I can look into integrating it into my system down the road if desired.
I considered using converter boxes to move VGA/HDMI over ethernet instead of just running VGA/HDMI cables, but in my circumstances it wouldn't have been of any benefit to me since it was just as hard to run cat5 as it would have been just to get really long cables. This also keeps the costs down, but it's something that could be done if you'd want it to be really slick.