As all thirteen of my readers know, back in February I had an obsession. I wanted desperately to get my cats’ water dish to email me when it was low on water. This obsession came legitimately, over the winter this year our apartment was so warm all the time that sometimes it felt like the water dish was empty well before the cats could possibly have consumed as much water as the darn thing held and in a busy world it would get neglected. Don’t get me wrong, I’m certainly not the best cat parent but it never went dry. Our cats use a Catit Fresh & Clear; Clear water fountain. It has a two liter capacity and it pumps water through a foam filter, up over a dome to keep the water aerated, cool, and clean of debris. Yes, I know my cats are spoiled. I’d just like to mention that they came that way - as kittens they refused to drink standing water. As it was the middle of July and as far we could tell the stubborn little animals had hardly had any water at all we decided it was best to concede to their wishes and purchase a water fountain. The major issue with every fountain we’ve had however is that the well is obscured. You can’t tell by looking at them how much water is in it. Hence the obsession.
So, whatever happened to the obsession? The same thing that happened to most of my projects in IED this year. The rest of my life happened, procrastination happened, and more than anything barking up the wrong tree happened. Early in the project while I was discussing the emailing cat dish idea with my father he suggested that I use a laser sensor, much like they do in the Bedford Institute of Oceanography’s fish lab (his former workplace). In the case of the fish lab they use the laser sensor to set off an alarm if tank levels get too high. A red laser beam extends across the top of the tank to a sensor and if the circuit is broken by rising water levels an alarm sounds. Don’t get me wrong this is a great idea but the major issue is one of applying the system on a much smaller project. The fish labs tanks are huge, easily 1000x bigger than my cats tiny 2L water dish and the technology that I could find, in particular the waterproof technology I could find was much too big. A depth sensor designed to measure depths of 0-13’ was way too big. The probe itself was almost a foot long. Most of the lasers I could find were easily themselves about 5cm long which in a well that is only 17cm across and obscured by a tube could make things difficult.
I brought this problem up in class and Dr. Turkel brought up the idea of using force-sensing resistors. I thought it was a great idea, I just needed to make sure that the dish actually touches the ground so that resistors could be installed. Somewhere between that class and now however the cat dish drifted out of my scope. Maybe it was because my marking assignment arrived on my desk or because we ordered a waveshield for another project, it might also be because I got distracted researching podcasting but the cat dish drifted out of my consciousness. It did however reappear when I started working with Google SketchUp. I realized I hadn’t really made any progress with the cat dish and decided to try to make a 3D representation of it with SketchUp. What follows are the results of those attempts. I still have not gotten it perfect but I’ll add some pictures of the dish so you can see why and whats missing. At the moment I’ve concentrated on the outside, all my attempts on the inside have been fraught with annoyances and embarassing exclamations of “Ooooh, why did you do that?!?” in class.
My first attempt at the cat dish with SketchUP. I still haven’t figured out how the circle got all of those sides but my attempts at a dome ended in a many sided dome shape.
The same thing happened with the next example. Here you can see that I was operating off of my memory of the dish and I’ve added an angled in edge that I don’t think is actually there on further examination. As you can see this one also fell victim to the many sided dome problem.
This is my first attempt where the dome actually worked. I’m still unsure why exactly the edges ended up many sided again but you can see that I was trying to bring in the angled edge after a closer look at the dish.
This was my attempt later that same night with the cat dish in front of me. Its not actually that bad. Its missing a few details. The column containing the power cord and the fact that the edge is actually one intact piece including the dome connected by ribs but in my opinion overall not a bad effort with SketchUp.
What the cat dish actually looks like:
I decided just for the sake of completion to have a look at what I could have done with this dish. Maybe I’ll set a summer goal of getting this working. Watch for it! Probably one of the best examples I’ve been able to find for how I could get this working is Project 4 in Tom Igoe’s Making Things Talk: the networked cat. In the example Igoe uses force sensitive resistors to tell a webcam to take a picture and put it on the internet, he also has Processing email him when the cat sits on its bed. He fabricated a mat to go underneath his cat’s bed including those resistors. In order to adapt this for the cat dish I would have to adapt it to the exact size of the dish and I would probably try to encase the whole thing in something waterproof. I think just a simple cover of clear plastic would be fine. Then Igoe tested it using the following Arduino testing code available for download here or viewable at google books.
Next Igoe connects it and creates a graph. Up to that point would for the most part use the same code as Igoe, it works, theres no point in changing it. What I would need to change, however, would be how the cat dish connects to a computer and the internet, I don’t know about you but leaving my computer in the vicinity of my cat’s dish isnt something I’m really excited about doing. Among other things, I like to use it. I could however connect something like a wifi shield or an xbee radio shield and use it to talk to processing from another room. Igoe uses an int Threshold function to tell Processing when to email him about the cat. Processing emails when a number greater than Igoes threshold is reached then samples again a few minutes later. I would need to play with the threshold. At the testing stage I’d check and record what the numbers look like when the dish is full and what they look like when it is “not full”. I could then determine what my threshold would be and could play with the numbers. In Igoe’s case he sets his “int threshold = 320” this means that whenever the sensors register a number higher than 320 they will send an email. In my case, if, for example, the number when the dish is no longer full is 200, that would become my threshold. I would also need to change the void sendMail function, the if functions here would need to be adapted, as I mentioned above, I’m not the greatest cat parent. There is a good chance even with an email notification the cat dish would stay “not full” for awhile. I’d need to make sure that the delay was sufficient that I didn’t have an inbox full of “cat dish empty” emails. Though, given with my iPhone I now take my email everywhere it would most likely be an extremely effective tool.
So, unfortunately, its April and I don’t have a networked cat dish to show you but maybe I’ll be able to post one by the end of the summer. I’m definitely buying myself a copy of making things talk. I haven’t been overly successful with my Arduino and Processing projects but I am thoroughly interested and fully intend to get better at this.