Introduction: Doggy Doorman - or K9 Curfew ( Extended Prototype...)
This is great during the day, but we block their access at night. Typically we do not let them out until after 9am, and do not let them out after 9pm. There are two reasons for this,
(1)We don't want them barking and bugging the neighbors during potential sleep hours,
(2)Worries of raccoons and coyotes - both of which we have had enter the yard - at night.
My challenge/motivation , if we are going to get home late, after "curfew", how can we automatically close the dog door?
My "Design goals": During “curfew” hours, drop a cover over the dog door to prevent exit. Be a “visible” barrier (such that the dog will not try to force exit and the door looks distinctly different than when “open” ). When barrier is in place, continue to allow dogs to enter - do not trap them outside.
- Barrier can be scheduled – at minimum by updating software or timer on device. ·
- Be “obvious” so dogs don’t try to go out when cover is in place ·
- Does not block entrance from outside - allow dogs in – so not “trapped” outside when closes ·
- Simple manual override? ( lift up cover /switch?) ·
- Physically robust – can survive dog “attention” ·
- Don’t spend a “lot”
bonus ideas . ·
- Web access to control and schedule ·
- Temporary overrides ( open for 1 hour) Bonus bonus
- Do something with an Arduino as that looks interesting.
So this bounced around in my head for a while,,,, then I saw the “perfect” set of parts. I had an old ( non-working) scanner in the corner of my office. The scanner moved a carriage back and forth under the glass. This seemed like “about the right amount of movement” for the barrier. So I opened it up to see what my options might be.
Step 1: Parts
Equipment I used:
• Old Scanner
• Arduino Nano
• L293D (Dual H-Bridge Motor Driver for DC or Steppers - 600mA ) – adafruit ~$3
• DS1307 Real Time Clock breakout board kit[ID:264] – adafruit ~9$ ( actually did not end up using this… read on…)
• X10 PUM01 Universal Module/Receiver - $28 on amazon - http://www.amazon.com/gp/product/B0007N72CY/ref=oh_details_o00_s00_i00?ie=UTF8&psc;=1
• 3x7 galvanized plate from hw store - http://www.homedepot.com/p/Simpson-Strong-Tie-Z-Max-3-in-x-7-in-Galvanized-Heavy-Tie-Plate-HTP37Z/202329565# (4 of these for mounting brackets )
• A small bread board.. this is all a “test” still.
Step 2: The Alpha Build – Electronics – the Real Time Clock Version
I referenced the great tutorials on Arduino at ADAFRUIT , and played with the different Arduino practice sketches until I convinced myself I could move the stepper motor predictably, and read the real time clock. I added an override switch and indicators to allow three operational modes 1) hold closed, 2) hold open, 3) automatic.
Oh and nifty led indicators.
The mechanism in the scanner was “pretty wimpy”.
I needed to make the door – barrier very light. I was pretty sure if it “looked closed” the dogs would leave it alone. They do not seem to ever challenge temporary gates I put up. I had the perfect thing… some leftover foam core. Rigid, but uber light.
I made the barrier door out of two pieces of foam core duct taped together, bound to the scanner carriage with a couple of wire ties.
I bent the galvanized plates to make feet to hold the scanner tray about 2" off the door.
This environment ran in “alpha” testing for about a week.
Step 3: Beta Run,,, With X10 Switch for Programmed Control
In production I had some trouble with the door binding. This was solved with some adjustments ( re bending) of my stand off brackets.
The concept was successful ( dogs held in , but not held out ) - see video at the end
My bigger concern was the real time clock control. There was no provision for remote control and no easy way – short of connecting a pc – to change the schedule.
Fortunately I have an existing X10 control infrastructure in my house… tied to my web server…
I can turn lights ( x10 modules) on and off, and have a way to manage a schedule, and web base access.
Leveraging this infrastructure, I purchased a universal control – basically a close/open switch – that is controllable over the x10 interface.
I wired this to the Arduino ( just like the switch tutorial) and arbitrarily declared “closed switch = open the door”. ( In the lexicon of my environment , turning the dog door “ON” opened the door). I added this device to my schedule and all was good.
Step 4: Final Thoughts
None of this seems “super robust” – the motor and parts are
a bit weak,,, but it has been a great proof of concept. And, for now, it works.
I am pretty confident i could use the infrastructure to make a "solid" solution.
check the vid. Thanks!