Automatic Dog Door

Hi All, I have a little project going on where I am looking to create a dog door with some automation. My goals are to have the door controlled by an Arduino board using a motor and RFID tag reader.
My big questions at this point is are there RFID readers where I can control range to within about 6-12 inches. If so what type would I be looking for?
I would also like to add photo eyes so the door does not try to close when a dog is passing through.
What is the maximum size motor I can control with an Arduino set up?
Do I need to program all the automation or are there some basic code bases already?

This may be an ambitions project and just looking for some hard fast truths before I dig to deep into this. Any good areas to get information would be greatly appreciated.

Not as far as I know or have heard about.

Nothing. Every motor needs a motor driver.

  • Tell us exactly how you perceive the motor will move the door ?

  • You don’t really need the sensor to operate at the door, just 12” from the door, hence place the sensor 12” from the door.

  • Google long distant/range RFID

please tell us more about the dog door. Door into what? How is it hung? hinged on top? Hinged on side? Weight of door? Does it open 90 degrees, 270 degrees? How fast does it open and close? How do you know if it is open or closed? Is if always dry or can storm rain/snow get to it?

Perhaps the door slides like my son’s dog door, which is manually operated.

The answer to your question does code exist, is Yes and No. It will not likely exist in total, but many folks use the sample code that comes with the board and libraries and piece them together. Try studying the Arduino Cookbook.

Does the dog wear a collar? If so what about some sort of magnetometer to detect when the collar is close enough to the door?

There is no limit to the size of the motor you can control, that is depended on the hardware you use to drive the motor.

Motor sizing starts with the load, not the motor.

1. Define the motion requirements

You must know:

  • Load mass or force
  • Required speed (RPM or linear speed)
  • Acceleration / deceleration time
  • Duty cycle (continuous, intermittent, start/stop)
  • Operating time (seconds, minutes, continuous)

Without these, motor selection is guesswork.

It's doable with RFID, but probably not something you find in youtube tutorials.
Since you want to have detection of the "object passing" as well, you could combine that with BLE tag. So one sensor sensing someone passing, another authorizing your dog is there nearby..

I thought more about the magnetometer idea. It could work and could be setup so that if it is still reading, the dog must still be there.

But you would have to be careful with he coding. If you swing open the main door the dog door is in, the magnetometer will cause a reading and could open the dog door while you are opening the main door. So code might require some “speed filtering”.

I am not pushing that. It's just another idea.

if (open_dog_door = true && main_door_open = false)
  open_dog_door;

Does your dog have an implanted microchip?
If so try a search for
Low Frequency (LF) RFID reader

@xfpd What I was referring to is how does the code know the main door is swinging, not the dog walking nearby? Track how fast the readings are changing (or a timestamp, the readings have changed for to long, it must be the main door) verses how slow a dog might walk up to the dog door, changing the readings slowly. Then implement your strategy.

@Terrypin That’s a good idea.

The pseudo-code was to allow dog door movement only if no main door movement (main door movement blocks dog door movement). One or the other move, never both.

A web search for "arduino pet door" turns up countless DIY project examples. Add the term "rfid" to see specifically those.

Thanks for all the replies. The plan is to have the door open vertically using a spur gear and rack. I wasn't really sure how to control the stop point with the motor but perhaps limit switches are the answer, I wasn't sure if time or rotation would work. Was thinking photo eyes to prevent the door from closing while a dog was in the door way but perhaps the magnet idea can serve as an option to open the door and to prevent the door from closing. The dogs would wear a collar holding the magnet. The kennel on the inside is quite small and would be looking at an option that would prevent false opens. Having the reader too far away from the door will likely cause that.
I don't need the motor to open the door really fast, likely cover 20" in 5-10 seconds would be reasonable I think.
As for weather I would have all the electronics on the inside and in an area where weather wouldn't affect it.
I've had a look at the cat poop door and that seems to have most of the features I would be looking for aside from the door being a swing.

Is there a specific Arduino Kit I should be using and perhaps a compatible motor driver. I'm 3d printing all the parts for this design so weight will be at a minimum, likely less that 2 lbs. Torque I think would be my biggest priority?

Measure the torque (or force, and convert) required to lift the door, and choose a gearmotor that can provide at least twice that. Pololu has the best selection of motors and drivers.

on a hinge or is it sliding in grooves?

With that rather slow speed is there any risk of the dog getting impatient and damaging it? Or of other critters joining it during closing?

I’m wondering about the alternative of a simple motor and cord or flexible wire pulling it rapidly to its limit and quickly returning it mainly by gravity?

Sliding upwards it grooves