I did a lot of reading and saw there is the ability to make the switching process interrupt driven. That is to say, you can have the Arduino sleep -- using almost no power -- then when a switch is pressed, it generates an interrupt that wakes the Arduino and immediately checks which switch or switches were pressed.
Good advice here:
http://electronics.stackexchange.com/qu ... tton-input ( read Dan's response near the end )
It should work for toggle switch and push button and momentary switches. Each type is done slightly differently.
Again the bistable latch -relay/momentary switch is optimal for lowest power consumption. The latch - relay can be triggered with 3.3/5V. The switches are 3.3/5 V. The devices run on 12V or AC. Actually you might have to have a relay : the devices all need a higher voltage than the Arduino can handle.
The latch-relay is about $5 per device ( multiple switches could drive a device ). If your intention was to have master switches for every device anyway (my current design), given cost of switches and possible indicator lights and mounting brackets, the cost might be a wash.
If you are building with lots of switch and devices, you might need an IO expansion shield to allow for more IO pins. You would want ones that can be configured with pull up or down resisters and interrupts.
In thinking this design though, there are some really nice advantages.
(1) Each device/socket would be directly activated by a relay driven by the Arduino. This means every device could be selectively powered rather than having either everything on all the time or having to select multiple switches to turn on/off specific devices. You can wire everything separately eg home run for each reading lamp, dc outlet, etc and decide at the relay which devices share or do not share power. Nice if a particular outlet is really power hungry or one develops a short -- you can re-direct without having to rewire. A single switch can turn on multiple devices.
(2) No need for a big switch panel for master switches in the cabin, just the Arduino 3-4 inch touch screen and the big relatively speaking but hidden Arduino IO panel. ( Did I say add a touch screen?)
(3) One could remove some switches completely as the Arduino would be a switch panel. One might want a specific switch in the galley for water pump and heater, but no need for any additional switches in the cabin. Porch and cabin light switch would be good at the cabin doors -- but no need for switches for any other devices.
(4) Simpler switches. Since the Arduino is making the decisions and completing the circuit, no need for double throw switches or complex wiring patterns. One only needs low voltage momentary on switches. Home run connection to the switch and device means no solder connections to fail.
(5) One could build themed connection pools eg
* turn on/off the galley [lighting, dc power, AC power]
* power on/off all cabin lighting
* turn on external power outlets (DC and AC)
* turn on just external AC power
* power savings mode
* towing with or without frig
* power on/off everything
* shower with city water [heater only]
* turn on running lights/reverse lights (make flashers run?)
* charging stations [ cabin DC ]
* display switch for every device
* (too many???)
A single press and many devices are powered. Obviously devices could be in multiple connection pools. You could even disable switches eg power saving mode would not allow the water pump to be turned on. There is more programming for tracking which themed connection pools are active eg selecting tow mode would turn off almost all the devices and other connections pools OR turning off the heater would disable the shower mode. Adding or removing devices to the pools is easy.
(6) Adding more devices only requires open IO pins and connection to the device. No need to run additional wires for more switches.
(7) Mechanism for tracking/displaying what is powered without a continuous power draw ie LED indicators. Maybe a wifi connection to your phone???
(8) You have the controller to do other things -- power monitoring, GPS, alarms, backup camera, etc.
PS: I found a continuous liquid level indicator which could interface to the Arduino for cheap (<$50) compared to the $300 versions for RVs.