Shop OBEX P1 Docs P2 Docs Learn Events
How can I get more (144) inputs? - Page 2 — Parallax Forums

How can I get more (144) inputs?

2»

Comments

  • deSilvadeSilva Posts: 2,967
    edited 2008-02-03 10:37
    @Fred, yes this is great "Touch Screen Technology". Phil pointed to a similar device using a similar principle. The decoder chips for such things are quite complex...So $10 should be o.k.

    Note that the 8-channel 4051 is around 20 Eurocents, I just see that I even could get 100 pcs per 14 Euro.

    @VIRAND: You are addressing the "simple" decoupling" of on/off switches. The range of resistance of a touch of the finger however differs: 100k to 10M are possible depending on sweat, dirt, and presure.

    My main problem with your proposal - which works more or less fine for "passive" components - is how you think to apply it to discharging caps? Or had you abolished this idea from the beginning?

    Do you want to "charge" the caps by a "string-pulse"?
    All caps will be tied together through the fret, so they cannot be distinguished, so one would suffice, so the string can no longer be identified...
    Or how do you want to decouple them?

    See, I cannot find any hint to an answer for my questions in your proposal(s)... It is fine as it stands for other applications I think...

    With a sufficient decoupling - as I suggested some days ago - by a FET or even better by a small comparator at each point of interaction, all will be fine. All so very well known scanning techniques for matrices are then available and appropriate of course.
  • VIRANDVIRAND Posts: 656
    edited 2008-02-03 22:00
    I don't know the exact method which you would charge and discharge the caps with, but I am imagining that the
    two analog lines which go to the frets and strings or sensors or contacts would be connected in place of a
    variable resistance which is being measured, like the resistor in an RC constant network. The 4051's have a
    low resistance and do behave a lot like digitally selectable 8-position rotary switches. I imagine that one cap
    would be sufficient for a simple ADC for the whole matrix because I did make a thermometer based on charging
    and discharging a cap through a thermistor and see the thermistor being replaced by the analog lines from the
    4051's in this case. Any other ADC would just need a (probably high) resistance in series with the resistance
    (presented by the analog lines from the 4051s which connect to the matrix contacts through them) to form a
    voltage divider and a voltage would then be measured across the resistance of the analog lines as if they were
    connected to a simple thermistor. A charge and discharge cycle (or a sampling process) would occur for every
    possible contact point, so a rather small cap would likely be used for a good rate of speed and accuracy
    trade-off point.

    If the contacts in the matrix are touch contacts, sampling may be accelerated by amplifying the conductance of the
    touch contacts with just a transistor used in common collector mode. That is, the transistor base and collector connect
    to the analog lines; the emitter and collector then give a lower resistance to charge the cap faster.
    If anyone didn't know it, the base-collector junction of a transistor makes a good touch contact pair, and the
    emitter-collector provides a lower resistance to measure, so that for example you could light up an LED
    through the touch contacts. A 'Darlington-transistor-pair' is doubly good for this effect.

    To be clear, I'm thinking of only one cap or ADC, sampling 144 or maybe 192 times per sampling period.
    Would around 1ms or 10ms be a good sampling period for the whole matrix or is that too slow?
    I suppose you could sample the 6 strings simultaneously with 6 caps but I did not consider using more than one ADC.
    In that case, there'd be no 4051 on the strings, and more parts (caps etc), and more Propeller pins being used.
  • deSilvadeSilva Posts: 2,967
    edited 2008-02-03 23:57
    All right, this makes sense! So:
    (a) You address all points of contact in a very "classical" way, with the difference that you use analogue encoders/multiplexers rather than digital ones. If there is no closed path the input will be "undefined", otherwise some MOhms. Note that this is not easy to distinguish... A pull-up of - say - 20 MOhms is marginal..
    (b) Whatever the ADC be, I think even the simple cap discharge can be used.
    (c) Going through the matrix each -say - 30 ms will require a discharge time of 200µs; assuming 2 MOhms gives a cap value of 100 p which seems feasible.

    So my problems are: I should expect a lot of noise... I am not shure one can terminate the line by a 10 or 20 MOhm.
    And you still have the classical "phantom key".. Though routing over 3 points will increase the resistance considerably...

    The great advantage is a real low count of pieces: Four 4051 (= 16x16) will suffice, when the matrix is trickily routed, which however will be a mess of traces on the board smile.gif Plus one 100p cap and one 20 MOhm resistor.... Not to forget the 4040.

    I like your idea of using transistors at the points of contact... The transistors do not cost more than the caps... It can lead most likely to a fully digital system.

    Edit:
    C- Type transistors with beta = 1000 will shift a 2 MOhm B/C touch down to 2 k C/E.

    Post Edited (deSilva) : 2/4/2008 12:10:39 AM GMT
Sign In or Register to comment.