Capacitive Touch Sensors in a Grid
It is also possible to take the idea discussed in Why Keyboards Matter post and tailor it for capacitive touch. This way it also possible to represent 900 individual user inputs with far less microcontroller pins.
The main idea behind this method would be similar to the keyboard (connecting buttons in a grid, so that microcontroller can get a coordinate of an activated button by detecting activated row and column), only instead of using some kind of switches, a capacitive touch sensor (some conductive material) is used. This way one cell on the grid would be connected to two inputs on microcontroller that would be able to determine cell’s coordinate.
The problem occurs, though, when using one continuous conductive material for one cell. For example something like one piece of conductive fabric or metal foil. Because when detecting capacitive touch microcontroller sends pulses of signals instead of continuous current and the entire grid becomes connected through the connecting wires and acts like one big capacitive touch sensor.
One way to fix this problem is to put diodes on every wire connected to the cell. An alternative would be to use two separate pieces of conductive material that will not intersect. Here are some examples of those “non-intersecting” capacitive buttons.
These buttons are effectively two wires that are close enough so that a finger will touch both. But since they’re separate and do not intersect with each other, the problem discussed above will not occur.
If the look of those naked wires on the button cell is not desired, it is possible to put material over the button. By having a resistor in range 5M – 10M ohms it is possible to put fabric, thin cardboard, etc. and still detect the touch. By putting even higher resistor even thicker material can be used.