Hello,
I am currently working on a velostat-based pixel pressure sensor. Basically, I need to measure a bunch of resistors that are related to the pressure on a certain pixel.
I thought a lot on how to perform the measurements so that I only need to measure voltages and so that each measurement does not depend on all other measurements. Briefly, I came up with the scheme shown in the picture, where everything is grounded except for the wires connected to pixel (i,j) (in the example, pixel (2,3)), so that column i is biased at 5V, and row j is left floating. The voltage measurement performed on row j, gives voltage Vi,j. Resistance ri,j is given by
ri,j=Rj*5v/Vi,j
Where Rj is the resistance equivalent to all the resistors of row j put in parallel. Rj can be easily found by inserting one known resistor in each row.
Applying the 5V bias to each column successively, you can measure all resistors in row j. Iterating for all rows, you measure all the pixels. In this way, you should apply the 5V biases on columns, and perform measurements on rows.
This is easily implemented with an arduino, connecting all rows to analog inputs (which can be at 0V in low impedance mode or in high impedance mode and perform the ADC conversion), and connecting all columns to digital pins (in low impedance mode, supposing all currents are smaller than rated values). The problem is, if you need more pixels, you should think of a way to mux/demux the rows and the columns. (Or buy a bunch of chinese arduinos, which only cost about 1€ when bought in bulk, but it doesn't sound like the efficient way to do this!)
My understanding of analog mux/demux chips is that only one of the multiple inputs/outputs is connected at any given time, and that the others are left floating. I thought that perhaps there might be a smart way to use the mux/demux ics so that the unconnected pins are grounded, but I couldn't come up with a solution. Maybe there are some dedicated ics that ground the unused pins? Or maybe someone can come up with a better solution..
Thanks for your help,
Davide