[Chris] just posted his latest tutorial which shows you how to read position data from a resistive touchscreen. These devices are fairly simple, and since they’re used in a lot of consumer electronics you can pick one up for a few bucks. This looks like it is overstock for an old Palm device.
The interface is simple, there’s just four conductors on the tab at the top of the overlay. But connecting to these is a bit of an issue since you can’t really solder directly to them. [Chris] ended up using scotch-tape to hold wires in place, with a paperclip to keep them presses against the conductors. Those conductors are used in pairs, with a positive and negative lead for the X and Y axis. To take a measurement you use I/O pins to connect voltage and ground, then read the voltage that makes it to the gound side using an ADC. This works because the point that’s being pressed on the screen acts as a variable resistor for the circuit. Data for the two axes must be read in separate operations so that the positive voltages don’t interfere with each other.
The nice thing is that once you’ve got it working with a small screen it is easily scaled up. In fact, the 23″ touchscreen used on this Android hack is just another 4-wire resistive device.
You can see a video demonstration of [Chris’] test rig embedded after the break.
[youtube=http://www.youtube.com/watch?v=sXsW0tSgfWY&w=470]
You can *solder* small wires (like magnet wire salvaged from a scrap motor) to these with conductive paint like you can buy at an auto parts store for repairing a rear window defroster.
You can then solder to the other end of the small wires.
Or, you can use a connector harvested from electronic scrap.
For most screens that use the same methods as the Palm one shown, Sparkfun sells both of them. The screens and the connectors. They also have some darned good support there.
Not a bad little tutorial.
But, I’d like to see a bit more of the “why’s and wherefores” of it.
Like, two of the digital outputs, are connected right back into the analog inputs. What’s the point of that?
And is there a reason you can’t (permanently) connect one “X” and one “Y” to +VDC (through a resistor) and the others to ground, and just read the voltage at those two points?
I’ve never used one, so…. But it looks like you’re just setting up two voltage dividers and reading the common nodes. So it “seems” like that would work.
If not, he should have said so.
A little slack on some information, but over all, pretty good.
How linear are they? If I use 12bit vs 10bit adc will get better resolution? Should I use a 5.0000v reference and a 24bit adc?
hey guys i am trying to read data from 4 wire resistive touch screen. I have STMPE 610 controller. can you help us how can we do it. help will be appreciated!!!!