Before I attempt to re-invent the wheel would anyone out there know of an Arduino based (even maybe a partially commercial component solution) wall switch panel for control of domestic lighting circuits. I'm referring to the light switch user interface aspect and not the actual control of the light fittings themselves.
Two queries in summary:
a) has someone already created an Arduino library capable of easily handling these desired momentary switch detection along the lines of that referred to in the commentary associated with this link Button Pad 2x2 - Breakout PCB - COM-09277 - SparkFun Electronics - specifically the link referred to in the commentary which is now broken http://www.aarongoselin.com/active-posts/28-using-sparkfuns-2x2-rgb-led-button-pad-with-an-arduino; and
b) is there an Arduino library for broadcast IP packet processing?
In detail I am building a new home from scratch and want to control the light circuits using light switch panels consisting of momentary switches (1, 2, 4, 5 or 6 switches per panel) with an Arduino detecting which switch is depressed and a response to user interaction with the switch. The switch detection information would then be relayed to a central controller via an ethernet broadcast IP packet for processing and issuing of a control signal to activate the appropriate LED lamp fitting or fittings. The broadcast packet is limited only to button designation plus button up or down, limiting the requirements of the light panel Arduino board to switch state detection and broadcast ethernet packet processing, plus user feedback via LED illumination of the light switch bezel. The heavy lifting of what to do with this info would left to a Raspberry Pi or Beaglebone level multi-task capable board.
The switch modes I'd like to action would be along the lines of:
based on the system being capable of storing the following level states of each lamp circuit:
- On full
- Partial illumination level
If a light switch contact is detected and 3) is the prior state of the light circuit, then:
single tap - associated LED lamp illumination to rise to a modest low level of illumination;
double tap - - associated LED lamp turns fully on;
hold down for a period - associated LED lamp light level ramps up till user releases switch [if the ramp reaches full on the lamp ramp will reverse and begin ramping down until the modest on threshold is achieved at which point a ramp up would re-commence - this cycle to continue indefinitely until the user releases the switch];
If a light switch contact is detected and either 1) or 2) is the prior state of the light circuit, then:
single tap - associated LED lamp reduces to a modest low level;
double tap - - associated LED lamp turns fully off;
hold down for a period - associated LED lamp light level ramps down till user releases switch [if the ramp reaches the modest on threshold the lamp ramping will reverse and ramp up until full on level is achieved, then commencing ramping down again - this cycle to continue indefinitely until the user releases the switch];
I have scoured the Arduino forum for some time as well Googled extensively and while I have found numerous references to all sorts of innovative switch detection and processing I've not found anything covering my specific desired requirements.
I am currently intending to use Microduino components to construct the Arduino light switch processing section primarily due to the small form factor of components required to fit behind the light switch panel in the wall. Passive midspan PoE injection would be used to power the board from the central hub.