A very interesting paper (multitouch matrix) and a question

Looking for possible designs for a musical instrument I’ve had in mind for a while, I found this very interesting paper:

The design seems incredible simple, and from what I understand the resistive ink could be replaced by Velostat. Now, the only thing I don’t know how to implement is this: to prevent leaking between tracks, while one is being driven (connected to +5v) the rest are connected to ground.

I know how to succesively drive the tracks: with a multiplexer. But how would I simultaneously connect the rest to ground? Would I need a switch for each track?

I think that the interface is more complicated. Some tracks are driven high, others low, while others serve as inputs, and all that with varying patterns. Consequently multiplexers are not suited for such operation. Also inputs must be analog for proper location detection.

Yes, I understood as far, but perhaps I didn't make myself clear. Let's say we'll be doing the analogReads from the horizontal tracks, since I'll only use 18 of those (vs 45 horizontal tracks). Now, I can drive the horizontal tracks one by one with a couple of muxes, but how can I connect the rest to ground simultaneously? I'm guessing the easiest way is having switching transistors connected to the ground, the ones that are open when no current is applied to the gate (NPN?). Then, I could have the same multiplexers closing those transistors one by one as a power each track. Would that work or is there something escaping me? What transistor would be ideal for that?

I'd use GPIO pins, having no idea of other usable circuits. Of course there exist on/off switches, i.e. one channel multiplexers, but their use will result in many chips with even more control lines for all those switches.

A GPIO board! I hadn’t thought of that, thanks!

  • is a digitalWrite(Low) the same as connecting to ground?
  • is the state of all pins simultaneous? Or, at least, the Low state.

Many things can be changed at once by accessing the port registers. One register defines input/output, and another one output high/low, that's 2 writes for a total of 8 signals.

No, setting them to low sequentially is not a problem, but do they stay like that while performing other operations? As if a physical switch had been turned, it stays that way.

The thing is, if I do a digitalWrite(Low) sequentially on every pin, do they stay all connected to ground after that, or only while the digitalWrite is being executed?

Thank you for your pacience.

The pin state persists.

Then it looks like I have a happy solution at hand, thanks!