Thoughts or comments on a garage door project

Hello,

Like many others, I am embarking on my first real Arduino project. I have decided to add some automation to my garage door. I have searched the forum and found many other garage door projects. My goal is to take the parts I like the best from each and pull those together into something that works for me.

I have limited hardware experience, but I do have a CS background. So, I may need a little help with the hardware. Guidance is always welcomed.

Here was my initial thoughts and feature set:

Ability to open/close the door
Close the door and alert if left open unintentionally for a period of time
Lock the door open or closed without causing alerts
Mechanism to communicate to another computer for status, logging, control
Visual notification - Lights and LCD
Audio notification - Piezo

Here are the pins I think I need:
1 - Open door sensor
1 - Close door sensor
1 - Momentary button to toggle door state
1 - Door lock to keep door in the current state
1 - Light indicator that the door is locked
1 - Relay to interface with the door to toggle the state
1 - Light - Open (On) / Closed (off) / Closing (blinking)
1 - Piezo for Audio notification
1 - Motion sensor to not trigger automatic door close if people are around
2 - Matrix Orbital serial LCD for status

11 pins

I realize I could assume the door was open if it wasn't closed, but it is simple enough to add another sensor. Then you would know if there was a jam or other issue.

Longer term, I am interested in adding a keypad. This should take another 7 pins. I would
need to add a shield and find an acceptable keypad. Most keypads that I have found for outdoors are very expensive. If anyone has suggestions for something cheaper, or even wireless I am interested. Weatherproof is a must.

I am planning on installing an ethernet shield to handle remote querying and message passing.
The protocol would return:

Query
Open
Closed
Jammed
Open Locked
Closed Locked
Action
Open
Close
Toggle

Additionally, I would like to log from the arduino to another computer for graphing, timestamping, etc. I was thinking about writing just a simple listener on the host computer, but I am open to suggestions. I see that some have used gtalk or twitter. Are there any other services available that are easy to use?

From the electronics standpoint, I will need some resistors for the lights and a relay for the garage door. Am I missing anything else?

As I mentioned earlier, I am in the stage of planning and putting this all together. If you have suggestions for any aspects, please let me know. I am open to working on this with others if there is interest.

Is this going to be opening a big heavy garage door? If so, I would have thought your main problem would be finding/making the mechanism to open/close the door. It should probably provide adjustable torque limiters in the open/close direction, and auto-reverse logic to avoid trapping anyone. A sensor to prevent the door from closing if somebody was in the way would be a good idea too. The control side doesn't seem especially difficult but you will be driving some pretty hefty motors with lots of potential fort damage if you go wrong. For example, mine is capable of producing enough force to wreck the door if I wound the torque up and then messed with the end stops.

Hi,

I plan to do something very similar to your project - in some respect smaller, in some respect bigger. I want to build a controller for varoius sensors in various locations in or around my house. One of them is situated in the garage to control the garage door.
As I don't want to connect them via wire I am planning for a xbee interface. So I want to put a reed sensor in the garage (just to distinguish between open and closed) and report this status via xbee to the central controller which is connected via an ethernet card to my computer so it can alert via email if the garage door is open when I am away.

The other sensors (in different locations) would be temperature sensors and light sensors.

I want so control the garage door but only at a later stage - in my case it should not be that hard since my garage door already is equipped with a motor and a remote control - I just have to find a way to control it via the xbee module.

In the first stage I only want to acquire sensor data, control functions will be added later.
I have toyed around with an arduino uno and had no trouble reading a read sensor.

Currently I am looking which hardware would be best suited for my case. I want a arduino board alreday equipped with a ethernet board so that I just have to add the xbee module.

Maybe we could develop some of the functions together or keep us at least posted regarding the current status of the project.

Rudi

I will be opening a regular garage door.

I am going to use the existing garage door opener to manage the upper/lower range, auto-reverse logic, etc. The arduino would simply be additional logic and sensing added onto that solution.

You mentioned the xbee.

I have a friend that has a similar solution to what you mentioned.

He is using an xbee with a USB interface to talk to his computer. Then on the other end he is using xbee+garage door sensor+relay to control the door. He then wrote a .net application for his computer that queries the xbee for the garage door status and can toggle it if desired.

I was definitely tempted to go this route, but I wanted to learn more about the arduino so I am putting the brains there instead of on my main computer.

I was pondering a garage door project, modest in comparison.
I actually went out and checked the actuator terminals the other day, it's just a contact closure.
They only gave me one opener when I bought the place and it's a big clunker (and there's no keypad entry either - it's old.) When I go for a bike ride or something then I don't want to lug that thing around. So, I figured an RFID would be nice ( card, a fob, a tag, whatever) - but can I place it so that nobody will dick with it. Even if I only activated that system on an as-needed basis, I would want to leave the "reader" in place.

m_theredhead:
I will be opening a regular garage door.

I am going to use the existing garage door opener to manage the upper/lower range, auto-reverse logic, etc. The arduino would simply be additional logic and sensing added onto that solution.

On my opener the manual switch is just a normally open momentary switch that makes the door open if it was shut, shut if it was open, or stop if it was moving. As a human, I'm adaptable enough to cope if the door isn't in the expected state when I operate the switch. If you're automating it, I think you'd need to provide some sort of position sensors and deduce whether the door was open, closed, opening, closing and then operate the switch the require number of times to get the door into the state you want. Note that the door might not do finish doing what you asked if the motor torque limit is exceeded, so I suggest you need a way to confirm that the door has actually reached the required position, and retry the command if it failed.

I've never looked inside mine, but I guess there is some sort of microcontroller inside it with current sensing and so on. If you can figure out how that works, maybe you can replace the whole controller with your Arduino. That would give you much greater control over what was happening.

In my parts list, I have a sensor for open and a sensor for closed. Using these, I can easily deduce the position of the door. It is either open, closed, cycling between, or jammed. One of my goals was to essentially have the Arduino isolated from the actual mechanics of the garage door from a liability standpoint. Instead of having the arduino be wired to the wall button for the door, it would use the relay to trigger a button on a spare remote control.