SparkFun will be closed for Memorial Day (5/30). Orders placed after 2pm MT on Friday (5/27) will process and ship out on Tuesday (5/31).
Track My Order
Frequently Asked Questions
International Shipping Info
Mon-Fri, 9am to 12pm and
1pm to 5pm U.S. Mountain Time:
Chat With Us
February 18, 2013
about 3 years ago
I think there is a simpler way to get an evenly spaced analog output without much computation to determine resistor values. This method doesn’t use a resistor ladder. I don’t have this keypad, but I assume that one output pin is connected to each key column and one pin is connected to each key row to make three column pins and 4 row pins. I haven’t figured out how to attach a schematic, so here is a text description of the circuit:
1. Connect R6 to the voltage reference then to the key “1” row pin.
2. Connect the key “1” row pin to R5 then to the key “4” row pin.
3. Connect the key “1” row pin to R4 then to the key “7” row pin.
4. Connect the key “1” row pin to R3 then to the key “*” row pin.
5. Connect the key “1” column pin to ground.
6. Connect the key “2” column pin to R1 then to ground.
7. Connect the key “3” column pin to R2 then to ground.
The voltage output is taken from the key “1” row pin. This circuit sets up a simple voltage divider from Vref through R6 then to an equivalent resistance, Re, to ground. Resistors R1 through R5 are expressed as multiples of R1 as follows:
This results in the Re for each key as follows:
no keypress, infinity
R6 can be set to whatever you want. The voltage output is then:
Vout = Vref * Re/(R6 + Re)
This circuit can be easily modified to work with any number of rows and columns. If the leftmost column is column 0 and the topmost row is row 0, then the column resistors are in the ratios of 0, 1, 2, … n and the row resistors are in the ratios of 0, n+1, 2(n+1), 3(n+1), etc.
No public wish lists :(
Forgot your password?
No account? Register one!