My dog Ginger has a problem: she really likes food. That, coupled with her uncanny ability to convince family members that she has not been fed adds up to an overweight dog. She is not particularly sensitive about the subject and besides, she doesn’t read this blog (does anyone?) so I don’t think she’ll mind if I write about our attempt to find a technologically sound solution to her overeating, which is really a matter of our overfeeding her.
Ginger is supposed to get two scoops of dog food, one in the morning, one in the evening. Mornings, however, are chaotic. I get up and shower, and my wife adds food to the bowl. Then, while my wife is in the shower, Ginger whines and I figure she hasn’t eaten, so bowl number two. Often we’re out the door before the kids have emerged from their rooms, and at least one of them will take pity on Ginger, who clearly has not been fed at that point, and she gets her third bowl. Pretty much any time someone walks past her bowl, it seems that she hasn’t been fed. You would think we’d be on to her now, but there are times where in our rush to get out, we have made the mistake of each assuming the other one fed the dog. Ginger reminds us constantly of these rare occasions.
The same comedy occurs in the evening, with kids coming back from school, parents coming home, getting ready for evening events, and so on. On a good day, Ginger can eat nearly her own weight in dog food, plus whatever else she can find within easy grasp.
One day, I thought about mailboxes and those little flags that indicate that the mailman has come. What if we put one of those on the bin that contains the dog food. Whoever fed the dog would flip the flag, and we would know that Ginger had been fed. The obvious problem with this scenario is that if we are not clever enough to remember to feed her, we’re probably not clever enough to remember to put the flag back down after a while. What we needed was some indicator that would stay on (or off) for a while after feeding and then reset.
Initially, I considered an RC circuit with some large value components, where the cap would either charge or discharge very slowly, eventually turning on/off a transistor regulating an LED. While tempting in terms of part count, the LED would slowly turn on or off depending on the gate (or base) bias of the transistor. That would give Ginger too much wiggle room to argue her case.
At the other extreme, I briefly considered an ATTINY. It could light various LEDs in sequence depicting Ginger’s state of hunger: at one minute, “hungry”, at one hour “starving” and after two hours, “insane”. Then, at meal time, it could play a song on a piezo speaker and strobe a disco ball with laser light. Somehow, that seemed like overkill.
Finally, since this is essentially a timer application, I went with, you guessed it, a 555 timer. The strength of this approach is that the LED is either all the way on or all the way off, no farting around in the linear range of a transistor.
Poking around parts, I found 10 Meg resistor and a 2200 uF capacitor, which in monostable configuration yields an on time of 1.1 * 1E7 * 2.2E-3 = 24,200 seconds, or about six and two-thirds hours. This is a good duration for the amount of time between activations, versus the usual pattern of one scoop in the morning and one at least eight hours later in the evening.
Now, whoever feeds the dog must only remember to do one thing – press the oversized button right on the top of the dog food bin. Anyone who comes along subsequently will know that no matter how pathetic Ginger looks, no matter how she whines and cajoles, despite her oscar award-winning performance, that she has been fed recently.
Until Ginger finds the wire cutters.