1 Wire Keyboard Calculator

A simple tool for calculating the resistors for a keyboard/resistor network on an A/D input
Download

1 Wire Keyboard Calculator Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Publisher Name:
  • Robert Rau
  • Operating Systems:
  • Windows All
  • File Size:
  • 1.3 MB

1 Wire Keyboard Calculator Tags


1 Wire Keyboard Calculator Description

1 Wire Keyboard Calculator was designed to be a simple tool for calculating the resistors for a keyboard / resistor network on an A/D input. 1 Wire Keyboard Calculator (1-Wire Keyboard) is a tool for embedded system designers to implement a keyboard or keypad using a single analog to digital converter (A/D) input. For larger keyboards, or keypads that require chording (more than one key pressed at a time) multiple A/D inputs can be used, each with a portion of your complete keypad. 1-Wire Keyboard supports from two (2) to 64 key keyboards, however keyboards beyond 26 keys may be hard to realize. 1-Wire keyboards offer lower EMI than scanned keyboards, and need fewer ESD protection components to implement, and require just 1 pin on a microcontroller. If minimizing current consumption is a concern, the ground can be replaced with a second pin on the microcontroller configured as an open drain output. The software can protect against excessively long key presses by allowing that pin to float except when reading the keypad. Enter your keyboard size at the top left with the number of rows and columns needed. This will give you a rectangular array of keys, some of which you may not need. Control clicking (right clicking) on a key will remove or add that key. Near the middle top is your A/D converter specifications. Make sure you enter the worst case A/D count error in the A/D accuracy field. This is often a sum of several error contributors on the data sheet. Make sure you are entering ‘counts’ and not ‘bits’ or you will be make your job a lot harder. The last field is the maximum allowable A/D input impedance. This will be, for no key pressed, the maximum allowable resistor from the array to Vref. At the right is the specifications for the family of resistors you want to use. The popup selects the set of values and fills in the typical tolerance. You can then change the tolerance if you need to. The default is temperature coefficient is 100ppm; you may need to adjust this based on what and who’s resistors you pick. You may even want to adjust these after your first attempt because Panasonic’s 1% ERJ family is 100ppm at high and low values, but from 100 ohms to 100k ohms it is 50ppm. Some other manufacturers may also have this characteristic. This could help solve overlapping A/D ranges for some larger key count designs. Be sure to adjust the temperature range for your application. If your keyboard is small you may want to try to get away with just three different resistor values, so leave the default radio button ‘minimum number of values’ selected. If your keyboard is more than eight (8) or so keys you will likely need to select ‘Enhanced distinction between keys’ Now click ‘Find Resistor Values’. With keyboards with many keys, you may see some pink highlighted keys. When A/D inaccuracy and resistors conspire against you, and some keys’ A/D ranges of a key overlap another key. Selecting ‘Enhanced distinction between keys’ may do the trick, as below, in this 16 key example, but for larger keyboards you may need to do some additional work. If you choose, you may also name the keys as on the right below


1 Wire Keyboard Calculator Related Software