About the circuit
The keypad has 13 connections. Β One for each key and one common. Β One side of each of the keypad switches goes to common and the other to one of the 12 key connections. Β I elected to build a resistor network as seen in the enclosed schematic. Β Click on the schematic to see a larger version that’s actually readable or visitΒ http://fayettedigital.com/images/GDO.png in a separate window or tab. Β Thanks to BrittonΒ KerinΒ for the Arduino schematic symbol.
R13, the 15K resistor is present to assure that when nothing is pressed the returned ADC value is near 5 volts. Β Q1 is shown as a 2N2222 but any NPN silicon general purpose transistor will work. Β The diode across the coil of the relay should be a Schottky device, but I’ve gotten away with using normal diodes like a 1N914 or 1N4148. The relay I’m using is a Radio Shack 275-0241 12VDC Relay. Β Current draw is about 40 ma. Β It’s not shown on the schematic due to space constraints but the normally open contact and the common contact on the relay go to the opener. Β My original opener connected the wires briefly to open/close the door so this device will do the same. Β SW1 is the program switch. Β When the switch is closed and the Arduino is reset the software is placed into program mode. Β To return to normal mode open the switch and reset the Arduino. Β In the pictures you won’t see the switch. Β There are two reasons. In this reroll of the project, I’ve substituted a jumper wire for the switch. Β The other reason is that on version 1 of this project I rolled my own processor board and the switch is on it.