A device to detect when the dishes in the dishwasher are clean or dirty
I’m absentminded in general, but especially so when it comes to the dishwasher. I can never remember whether the dishes are clean, whether the machine needs to be run, or emptied, or whatever. I needed a solution to this problem. My first thought was to hang a flippable sign on the door that said “clean” on one side, and “dirty” on the other. Simple, logical, and functional. My second thought was, “What?!? That’s dangerously under-engineered. I can make something much more ridiculous than that”.
Here’s a video showing the Dish-O-Tron 6000 in action!
As you can see, all you do is slap it on the door, and turn it on. Then use your dishwasher as you normally would! It’s brilliant!*
*Product may not actually be brilliant. Void where prohibited.
The challenge here is to automatically detect when the machine is running (so we know when dishes have been cleaned), and to automatically detect when the machine has been unloaded (so we know when the dishes inside are dirty once again). The former is done by detecting the temperature of the door panel. When the machine runs, it gets quite warm. The unloading detection is a bit tricky, because we need to distinguish between grabbing a quick dish or two (thus leaving the machine full but still clean), versus unloading the machine completely. This is done by detecting when the door is fully open (using a rolling-ball tilt switch), then waiting a full minute. If the door is open that long, it’s because I’m unloading it. If the door only opens part way, or only opens briefly, I’m probably just grabbing a clean bowl for my cereal, but don’t feel like unloading the machine right now.
So, here’s the schematic:
This was actually kinda neat to watch. Here’s a video. Okay, I thought it was neat. Shut up.
Once it was working on the breadboard, I soldered it up, and tested the real circuit. The little metal can is the rolling-ball tilt switch, mounted outboard on some stiff wire so that the angle can be adjusted as needed.