I think the design is pretty solid. While not an expert I think it is needing a surge/lightning protector, confirmed/qualified materials/parts and $ before it could be considered for certifcation and only if hter was a real market. The relay provides the isolation, leaving the buttons, as the user interface. The 10 ohm carbon resistor, the inductor both add a bit of fusing. The regulator has thermal protection.
As for the code recovery and programming...The controller can be (re)coded to provide either. Probably something like setting a recovery mode by depressing both buttons and the coded combination being sequenced to the LEDs. This was NOT considered for this submittal. Controllers are 'lovely' parts..the possibilities go on and on.
I appreciate that there are lots of solutions to this function. Some are more or less fun and interesting. For gadget freaks there is also the 'cool' factor to be considered.
William, what would be the total cost factor and any precautions to avoid electric shock and to prevent current leakages. If by chance forget the secret code, any resetting mechanisms either for regenerate a new one or recover the secret code.
I agree entirely with keeping kids safe by securing inherently dangerous items around the house and garage. I've done the same the entire time of having kids in the house, starting with "baby proofing" the house when my children were first born. I've always been sort of a safety fan or buff since being in the Boy Scouts. Safety is something done before an accident...hence the saying "safety is no accident"!
Although it seems like a cool solution to make a home-made switch system for the power outlets in the garage or workshop, I'm not so sure it would meet "code" requirements. If the device is not UL tested and listed, it's probably not legal to use connected to the house power. I think commercially available power locking devices would be better. I have six quad outlets in my garage, so I never have to look for a vacant electrical outlet.
My safety system was to lock-up ALL tools, especially all power tools. I always considered my electric chainsaw to be extremely dangerous, as well as circular saw, saber saw, power drill, etc. Of course, all guns are secured even better than the power tools and hand tools. Also, we always secured our car keys to prevent kids from getting any silly ideas (I've heard many stories of 12 year olds taking the parents car for a drive). As a result, my three daughters (all young adults now), all grew-up in a relatively safe and secure house with no serious injuries...and no kid's friends hurt either.
Having kids around the shop can be stressful at best.
I had solved this power problem years ago with store bought devices.
It was more expensive but did not require a lot of mods to the wiring(eg: dual gang box not needed).
I used the X-10 system for the outlets and lighting and just popped off the control keypad from the control switch as I left the shop. I'm a little hesitant to install non-UL/CSA approved parts to my wirng for insurance reasons. Nice job on the solution but can't bring myself to put my house at risk. I learned the hard way, once burned...
Many years ago I build a power lock, but with a different, and simpler, approach. The power switching component was activated from the output of a window comparator. The comparator was fed from a voltage divider, and one of the resistors for the dividing chain was in a 3.5mm audio jack which had to be inserted in a socket for the correct voltage to be set and the power turned on. Nothing more than a transformer/bridge/cap supply, dual op-amp, and relay. basically.
I agree with you William. I have always used ASM code and I only know how to program PICs. While working for a former employer, I designed an automatic paper towel dispenser according to my boss' requirements. It had all the bells and whistles, was programmed in ASM and used a little more than half of the available 2K of memory. My employer bought a competitor, who was also developing a paper towel dispenser, which I had to debug. It had extremely simple functionality and was written in C. It used almost the entire 2K of memory. Sadly, they closed down the place where I worked and went with the simpler, cheaper dispenser.
I have used assembly in all my appliciations. I have always used MicroChip controllers which have a relatively small instruction set. The applications are ususally smaller, under 200 or 300 instructions and in at least some cases have to be branch equalilized to accomodate timing issues, which harder to control if you program in BASIC or C. MiroChips instruction set has been pretty good to me and is realtively easy to tabulate the instruction execution time. There are also other examples is several other applications both in Gadget Freak#194,137,118,124,159,112,83,88,157,188,200 and another resources, in in Gadget Freaks sister publications, EDN and Test and Measurement. Some of these include a Visual Basic interface which would sit on your desktop.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.