Sparkfun support will be closed from 3:00PM to 4:15PM on April 27th for a company-wide townhall meeting. We will resume regular hours on the 28th.
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
October 23, 2013
about 4 years ago
A problem with the R-ladder is that with no button pressed, the “idle voltage” is too near one of the actual “key voltages”. So, here’s another approach.
Given the narrow spread between voltages, I’ve opted for using 1% resistors for this. They are available at Mouser.
Connect a 27.4K resistor from pad 3 to GND
Connect pad 3 to pad 1 with a 60.4K resistor
Connect pad 1 to pad 5 with a 210K resistor
Connect a 309K resistor from pad 2 to V+
Connect a 154K resistor from pad 7 to V+
Connect a 66.5K resistor from pad 6 to V+
Connect a 10.0K resistor from pad 4 to V+
Connect pad 3 to an analog input on the Arduino (or any 1024-bit ADC)
With this, the expected digital readings for the various keys are:
1: 82 ~ 85
4: 152 ~ 157
2: 223 ~ 230
7: 295 ~ 303
5: 367 ~ 377
3: 497 ~ 509
8: 576 ~ 590
6: 667 ~ 683
*: 742 ~ 759
9: 828 ~ 846
0: 909 ~ 929
with a reading of zero if no key is pressed. The minimum gap between any two key reading ranges is 51.
No public wish lists :(
Forgot your password?
No account? Register one!