Arduino Garage Door Opener

As the first sensor in a long line of future home automation contraptions, I put together a small board that can sense the current state of the garage door (up or down), toggle the garage door motor, and wirelessly send and receive commands.  Here’s what I’ve got so far.  It’s built around the Arduino Nano that controls a NRF24L01 breakout for wireless, a Parallax PING proximity sensor for determining if the door is up or down, and a 5V relay for toggling the door motor.  The hardware is mostly finished, now I’ve got to get to coding.  I’m planning on developing several more sensors around ATMEGA and NRF24 chips.

IMG_20130626_201740_824 IMG_20130626_201827_172

Garage Door Opener

The theme of this blog is taking stuff apart with the goal of adding some awesome features.  Today I am going to start with the mission of taking my regular garage door opener and adding smart phone control to it.  I want to see if it is up or down and be able to open or close it from anywhere.

To start with, I have a Liftmaster 1/2 HP Security Plus motor and it has a button that I am taking apart.  The button has 2 wires going to it and it has 3 buttons on it: 1 large button for opening/closing the garage door, 1 small button for the light on the motor, and one for locking the door.  When I got the button open, the basic circuit looks like this:


I’m going to guess the white wire is a GND and the red wire is either straight 24V or 24V through a pull-up resistor inside the motor.  Anyway, with the button disconnected, touching the red and white wires together will open and close the door.  That part is easy.  As for the light and the lock, my guess is there is a circuit that measures the charge up time of these capacitors and this tells the motor to activate either the light or lock.  However, what I am not seeing is a easy way to tell the current state of the garage door electronically (i.e. not just looking at it).  These controls can toggle the state, but not tell me what state I am currently in.  The nice part about these switches being in parallel is I can create my own set of switches to be controlled via Arduino, put them in parallel to this button, and then I can use either this button or Arduino to open/close the door.  I’ll likely use either a proximity or light sensor to tell me the current state of the door.