'Thumb Wheels Decoding'
If you are using a PIC with an ADC. use binary weighted resistors eg:
on each contact (12 resistors) for three BCD thumbwheels, and use
three channels of the ADC. Decode the voltage equiv for the switch
positions. Alternatively if you only want to use one ADC channel, you
could use three Digital outputs to enable (bias) each thumbwheel and
successively read in three ADC conversions with one ADC channel.
Without an ADC the suggestion by Paul Webster using a parallel to
serial device works just fine.
> If you are using a PIC with an ADC. use binary weighted resistors eg:
> on each contact (12 resistors) for three BCD thumbwheels, and use
> three channels of the ADC.
Unfortunately, using four switched resistors in parallel will give you
resistance values that are clumped rather annoyingly at the low side. A
somewhat better arrangement may be to use resistors wired thus [assume the
switch terminals are ABCD and K, and the settable resistance should be
between nodes X and Y]
X to K via 1K resistor
X to B via 1K resistor
X to A via 2.2K resistor
Y to K via 830ohm resistor
Y to C via 830ohm resistor
Y to D via wire
The resistance from X to Y will vary from 686 ohms (A and D shorted to K)
to 1.83K (all contact open); the ten thumbwheel positions will all yield
resistances that differ by at least 80 ohms, though they will not be in
any sort of useful sequence.
These resistances should be distinct enough to be easily measurable using
a PicBasic-style RC measurement. Three port pins, fifteen resistors, and
three caps. If you want to allow software calibration, that'll take another
port pin and three more resistors.
More... (looser matching)
- Last day of these posts
- In 1997
, 1998 only
- New search...