I thought this was a dumb idea, but I recently found out this robot kitty litter box exists. Wired gave it an 8 out of 10 and, more importantly, they're selling it for $500. I'm not trying to monetize this, but if you wanted to, this might be your chance.
How does this thing work? I have load sensors underneath the box. They're basically like an internet-connected bathroom scale. Let's get to the other part first. We have an enclosure on the box and there's a switch on it to determine when it's open or closed. When we open that box, we're going to something I call maintenance mode. We're either removing waste or adding litter to the box. The point is the base weight of that box changes every time it goes into maintenance mode. Once I've cleaned it up, done my work on it, close it back up again, it leaves maintenance mode, waits for it to chill out a little, then we reinitialize the base weight of that box.
After the base weight of that box has been determined, what we do is we wait for a cat-sized object to enter the box. Now I don't know if that's an opossum, a raccoon, or a large rat. It doesn't really matter. We're just waiting for something that's around 5 to 15 pounds to enter that box. Once a cat has been detected by the load cells, we wait a little bit for the cat to settle. Then we take a measurement of that cat's weight, so I can passively measure the cat's weight over time, and we record a bathroom event having occurred. So it does its business, and we fire that event off into a MongoDB database in the cloud.
Alright, cool, so the cat's done its business. What we do is wait for things to cool off a little bit, I wait like 5 minutes, and we reinitialize a new base weight of the box, and we wait for a new event. Either that's a maintenance event, or a new cat entering the box event. Alright, so there are all these asynchronous events that we're just waiting for to constantly occur. And that's it, it's pretty simple. Let's jump into some code, though, huh? Let's speed a little code, guys. If you want to follow along with any of the source code, again, all that code is available at that link, or if you scan that QR code with your phone.
Okay, so the first step for any IoT project, if this is your first IoT project, the first step you need to do is make an LED. LED, blank. It basically just makes sure that your circuits are set up, your board's fine, you're able to communicate it and make it do what you want. And just like programming, we iterate on that and build. So you can see actually I have the load cells staged up next door or next to it over there.
Comments