Jump to content

- - - - -

How to monitor the status of a device using its status light

About a year ago, I decided I wanted to monitor the status of my dryer and washer. Some people have suggested to just use a remote to indicate when the cycle starts, and then just play an announcement after a previously timed amount of minutes. Since this solution doesn't work well when using different program settings, I wanted something which could actually detect when the machines are running.

The dryer was actually pretty easy. I simply installed a magnet on the drum, then the other part of the magnetic reed switch was mounted on one of the sides inside the dryer, so when the drum makes 1 revolution, it will pass right by the switch, triggering the contact. I hooked this switch up to my SECU-16, and use this method to successfully announce when the dryer started, and when the cycle has completed. This setup will also work with other I/O interfaces such as the gameport, you just need to add some logic to detect when the drum stopped spinning.

Next, my washer. Initially I was going to open my washer up, and see if I could somehow mount a magnet behind the 'program knob' and have it trigger when the knob is in the OFF position. Unfortunately, my washer machine died around the same time, so I never got a chance to try this. Since my new washer is still under warranty, I decided against opening up the new washer (and to avoid a huge WAF drop) and look for other methods.

Then I realized that my new washer has a nice status LED (or bulb, not sure what it is), which is on whenever the washer is in use. If I could only open that washer and tie in to that LED directly ... Of course, this wasn't going to happen, so someone suggested to try to use a photoresistor. I ended up buying the Cds Photoresistor Multi-Pack from RadioShack, for around $3 (part # is 276-1657).

The multi-pack comes with 5 sensors, all different sizes, so I just picked the biggest one, which happened to be around the same size as the status light, and attached it to the washer using black electrical tape to block out any ambient light. Since I have an Ocelot with a SECU-16 I/O module, I decided to directly connect this photoresistor to a SECU-16 input, configured as a digital input.

I turned the washer on, and the Ocelot successfully reported the status change. After a few minutes I noticed that it would hesitate and report OFF, eventho the machine is still running, and then switch back to ON a few seconds later. I figured maybe the status light isn't as reliable and flickers once in a while, so I decided to do some more testing. I got my voltmeter out and measured the voltage in both the ON and OFF condition. When the washer wasn't running, I measured 5 VDC, when the washer was running, I measured 3.10 VDC. I posted this information in the chat room, and was then told to install a 4.7k Ohm resistor in parallel with the photoresistor. I installed the resistor, and this time the measurements were 4.12 VDC and 2.12 VDC. This makes the difference a bit larger, making it easier for the digital input to see when the the washer is ON/OFF.

I am happy to report that after almost 2 months of using this setup, that it has been 100% accurate, and only cost me 3 bucks in materials. I assume that this would work with other input sensors as well (such as the PowerFlash, GamePort, etc.), but I haven't tested this.

Here's the schematic:

If you have other appliances which have a status light, then you might as well start monitoring those considering how cheap these photoresistors are.

Many thanks go to the Cocooners who helped me figure this out and improve my WAF significantly.

Forum Thread