Inspired by projects such as the tweeting cat door and CATaLOG [sic] Iām wanting to add some form of automated access control to our pet door to control who can go in and out, when.
(Full Disclosure: This is a reprint from my blog where I first wrote up the problem, but all feedback is welcome!)
The Players
We currently have three cats, one dog and one pet door.
The Mischievous Mutt
Toby http://www.michevan.id.au/sites/www.michevan.id.au/files/resize/u3/toby-200×150.jpg
Toby, our two year old Labrador needs access to the backyard anytime, day or night for access to his food, water and other amenities.
The Clutter Kittens
Bazyl http://www.michevan.id.au/sites/www.michevan.id.au/files/resize/u3/bazyl-200×150.jpg Kismet http://www.michevan.id.au/sites/www.michevan.id.au/files/resize/u3/kismet-200×150.jpg
Bazyl and Kismet, are free to go out during the day (sometimes even encouraged) however in an ideal world the pet door would only allow them to come in, but not out again after dark.
The Wanderer
Murray http://www.michevan.id.au/sites/www.michevan.id.au/files/resize/u3/murray-200×150.jpg
UPDATE 2010/01/17: Unfortunately, Murray is no longer with us. Old age finally caught up with him.
Murray, the venerable 17 year old veteran of the family who has a habit of going walkabout. At this stage in his life, it would be best if he stayed indoors.
The Portcullis
Our pet door, that allows the rabble to go out on the deck and into the backyard. The door is fixed in a wooden panel in the frame of what was originally a window.
Requirements Summary
So basically we need something that is able to stop the door swinging outwards during the evening, except when Toby is in proximity, and any time Murray is in proximity. We don't need to worry about foreign cats coming into the house (you've met Toby, yes?) and if we really want to lock the dog out we put the barricade in place as shown below. (We soon learnt that the little plastic lock on the door is not gonna stop him if he really wants in!)
I'm planning on using an Arduino board as the control unit, and think I need twoone RFID tags ā one for Toby and one for Murray ā at the minimum to handle the rules I've outlined above.
So the preliminary parts list is:
-
One Arduino controller board.
-
One light sensor for sensing daylight hours.
-
One RFID scanner.
-
Two RFID tags that can be attached to the animals' collar.
-
One solenoid or something else that can be used to stop the flap opening to the outside.
-
A red/green LED to indicate if the door is currently locked or not.
-
A three state switch to enable us to set the door to always open, always locked, or on automatic as required, although we expect it to be on automatic most of the time.
The concerns I have are finding the right RFID scanner and tags that'll work in this environment. I've no experience with RFID but hear a bit about range issues. One tag will be on the collar of a big Labrador, the other on a medium sized cat, so there is a reasonable height difference. The proximity sensing cannot be flaky for this to work, especially for Toby who will get confused if the door only works some of the time and just not bother.
I have been considering an ID-12 or ID-2 scanner with a custom antenna, but people I've talked to think the range will be too small. The size difference between a domestic cat and a Labrador is fairly significant in this case.
Another option might be bluetooth. This would also have the advantage that it could act as a true proximity sensor, detecting when the animal comes into range, remains in range, and goes out of range, whereas RFID is generally triggered once each time the tag comes into range after not being in range. The disadvantage is batteries.
Any other ideas for proximity sensors?
The other thing is the mechanism to block the door. Ideally something that can shoot out out a little bolt to block the path of the door, or retract it to leave the door clear to open. Preferably not something that is spring loaded that needs an active voltage on it to either hold it open or hold it closed. Should only need to apply voltage to change state, not maintain state.
If a bolt is not available, I've seen a stepper motor with a bit of metal on the spindle used to do the same thing. To lock it simply rotates the bit of metal into place, to unlock is rotates it out the way.
So, any and all feedback on the above would be welcome.
UPDATE 2010/01/17: Have finally ordered most of the parts I need for this, as well as the hermit crab tank humidity control, which I'll probably build first ('cause it's simpler). I went with an ID-20 RFID scanner to start with, so we'll see how that goes. Unfortunately, my copy of Practical Arduino which I'll be using as a reference apparently wont arrive until mid-Feb so progress will be slow before then.
Best Answer
I am be very interested to see how this works out.
I am currently making an RFID controlled lock for a door and I know from my work on that,that RFID have range limitations(depending on what type of reader and chip you use) so the position of both reader and chip may be very important especially because you're planning on using it on an unpredictable living thing. That might be a big challenge and may require more than one RFID reader.
As far as a locking mechanism you can make one really cheap by taking apart an old cd drive and using the slots drive system.