Building a touchscreen using two wire meshes

  • Thread starter Thread starter Sorade
  • Start date Start date
  • Tags Tags
    Building Wire
Click For Summary

Discussion Overview

The discussion revolves around the construction of a touchscreen using two wire meshes, focusing on the electrical engineering aspects, sensing mechanisms, and potential challenges in implementation. Participants explore various methodologies, including resistive and capacitive sensing, and the integration of microcontrollers for signal processing.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Homework-related
  • Mathematical reasoning

Main Points Raised

  • Julien proposes using two sets of wires, one in the x direction and the other in the y direction, to create a touchscreen that closes a circuit when touched.
  • Some participants express skepticism about the effectiveness of Julien's proposed method, suggesting that a capacitive sensor design could be more effective, using fewer wires and avoiding direct contact.
  • One participant suggests using a sheet of semiconducting material to sense distortions in the electric field when touched, which could provide an alternative approach.
  • There are discussions about the feasibility of multi-touch capabilities with the proposed designs, with some indicating that the initial designs may not support it.
  • Participants recommend researching existing touchscreen technologies, including resistive, capacitive, and optical methods, to inform Julien's project.
  • Some argue that developing a unique methodology is valuable for learning, even if it does not yield a functional product.
  • Suggestions include using a microcontroller, such as an Arduino, to scan the array of wires and determine touch coordinates, with discussions on expanding I/O capabilities through multiplexers and decoders.
  • Julien raises concerns about the transparency of the sensing technology when placed behind an LCD screen and the potential for false touches due to current from the LCD.
  • There is a proposal to use a layer of La Rochelle Salt to enhance the signal from touches, although this idea is speculative.
  • One participant suggests starting with a smaller grid size to test the concept before scaling up.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best approach to building the touchscreen, with multiple competing views on the design and sensing methods. There is a mix of support for both traditional and innovative methodologies, indicating an unresolved discussion on the optimal path forward.

Contextual Notes

Participants express uncertainty about the technical details of sensing mechanisms and the integration of components, highlighting limitations in their understanding of existing technologies and the complexities involved in scaling up the design.

Who May Find This Useful

This discussion may be useful for hobbyists interested in electronics, DIY projects related to touch technology, and those exploring the principles of capacitive and resistive sensing in touchscreens.

Sorade
Messages
53
Reaction score
1
Hi all,

I'm planning on building a touchscreen/pad. I am planning on using two sets of wires each separated by a small gap. One will be in the x direction the other in the y. the top wires will be wired to positive and the lower wires to negative, so that when the pad is touched two wires will enter in contact closing the circuit.

The signal will be extracted from each wire and processed through a computer. Due to my lack of background in electrical engineering (apologies for that) I have absolutely no idea how to get my electrical signal to the computer. And even more how I will do that for 100s of wires (each wire spaced by 1mm and being 0.1mm thin I expect to cover a surface of at least an A4 sheet).

Anyone has any suggestion ? The aim of this hobby project is to learn, so I am open to suggestions. Even things to look into would be useful... the problem is that I don't even know what I'm looking for (microcontrollers ??, I have no clue).

Thanks a lot,

Julien
 
Engineering news on Phys.org
Sorade said:
the top wires will be wired to positive and the lower wires to negative, so that when the pad is touched two wires will enter in contact closing the circuit.
I don't think that will work properly, and there is this problem with 100's of wires, 1 mm spaced.

Instead you could make a capacitive sensor with 3 wires, arranged like this ( only sensed y-direction shown ):

--------------------------------------- supplied by high frequency voltage ( phase = +90° ).
Finger placed here: X
--------------------------------------- Sensor wire.

--------------------------------------- Supplied by high frequency voltage ( phase = 0° ).

Now, due to capacitance in your finger, the sensor wire will mostly sense the voltage in upper wire ( maybe the voltage sensed has a phase = 80° ). If you move your finger downwards, the sensed phase will be maybe 20°. In this way you can calculate where about the finger is placed, without needing a "contact" between wires. The x-position could be sensed by voltages with phase = 180° and 270°.

Another idea is to substitute the wire arrangement by a sheet of semiconducting material. ( I know it's used as membrane in electrostatic loudspeakers ). Attach some wires at the sides of the sheet. When you touch the sheet at some position, the electric field in the sheet will be distorted. Sense the distortion and let the computer calculate the position.

Processor? Maybe a DSP which is quick to handle Fourier transforms, included phase shift.
 
Last edited:
  • Like
Likes   Reactions: praveena
Thank you Hesch,

I'll have a look into that (I haven't understood all your post but I least I've got something to look into :smile: ). I think I struggle with how the sensing part works. Also would this be able to handle multi-touch as well as single touch ?

Cheers!
 
If you have 100 vertical driver wires, and 100 horizontal sensor wires, individually driven and sensed you can indeed determine where they are pressed together. It's a mechanical nightmare though.

google IMAGES for "touch screen technology" and look at and study the resistive, capacitive and optical methods for touch screens. You should understand all the various existing technologies before embarking on your own methodology.

Here is 8 pages about the iphone touch screen http://electronics.howstuffworks.com/iphone1.htm
 
meBigGuy said:
You should understand all the various existing technologies before embarking on your own methodology.
I think that if you walk in others footsteps, you will overtake nobody. To develop ones own methodology is simply fun, and you learn a lot, even if it doesn't work.

Sorade could buy a ready made touch screen, and it will work. But it's not fun, and Sorade will learn nothing.
 
Hesch said:
I think that if you walk in others footsteps, you will overtake nobody. To develop ones own methodology is simply fun, and you learn a lot, even if it doesn't work.
Sorade could buy a ready made touch screen, and it will work. But it's not fun, and Sorade will learn nothing.

I guess it doesn't make sense to go to school and learn either. Or even try your idea since you thought of it.A microcontroller such as an Arduino will allow you to write code to scan an array. When you determine what the coordinates are of the activated point, you can communicate that to whatever wants to know.

Here is an example that just scans the rows and columns utilizing an Arduino's IO ports
https://www.arduino.cc/en/Tutorial/RowColumnScanning

That design does it to light LED's, but the same principle can drive the rows and sense the columns to determine the activated switch.

To expand on that you need to use muxes and decoders to expand the IO capabilities of the Arduino.
There are many different logical architectures that can be utilized to deal with expansion.
 
Last edited:
meBigGuy said:
That design does it to light LED's, but the same principle can drive the rows and sense the columns to determine the activated switch.
Yes, that's how a keyboard works, and there is nothing "new" in this technology.
Sorade said:
The aim of this hobby project is to learn, so I am open to suggestions.
By use of some distance capacitive sensor, the number of wires could be decreased (much), and mechanical problems with closing up wires do not exist. Furthermore there is a lot to learn. As a start, Sorade could make a HF-oscillator, connect it to two wires and move a finger in between. And well, yes, then he should connect an oscilloscope probe to the sensor wire and see what happens. Next step is to develop a program that will calculate the phase shift ( oscillator phase vs. sensor phase ). Then calibration by programming some look up table:

(x,y) phase shift → (x,y) position.

In short: Long time with a lot of fun and learning.

@Sorade
Sorade said:
Also would this be able to handle multi-touch as well as single touch ?
No, by only 2x3 wires, you will find the mean position as of two touches.
 
Last edited:
Thank you for all your suggestions. I had a look at some of the things you suggested and I think it will take me time to get the final product, but I'm still very interested (and in the mean time I'll still have my IR multitouch table to play with :wink: ).

I had a look at self-pcap and mutual-pcap and I am not sure how they manage to put a sensor at each intersection of row and column and still have the whole thing to be transparent in the case of the m-pcap. Second point is ... some of these technologies still require a fair amount of rows and columns (like in the link you gave me 8*8), so how would you connect all that to a micro-controller ? I still haven't found one with a 1250 connections (say for a screen of 800mm*450mm) (I imagine there is a clever way to do it but I'm not sure what it is).

Other point... since I will have an LCD screen in front of my touchscreen (which is unlikely to be transparent, hence why it's at the back), would the current circulating through the LCD give me false touches do you think ?

My other crazy idea was to use a layer of La Rochelle Salt between the LCD and the touchscreen so that when I press the LCD which will bend slightly, the La Rochelle Salt layer will generate a tiny charge enhancing the signal of the finger.

I have ordered a bunch of wires, tape and all to be able to try things out with a multimeter for the moment. I'm trying to think at what is feasible for the final product, even though I still have a lot of work before getting there.

Thanks again for your advice, and explaining your knowledge in simple words... (I stuggle so much when I see "sensing layer" on websites, I feel like : "okay it senses, but how ?")
 
I would suggest that you scale back the size to start - say a 32 x 32 .. and see how it works out. Your idea / concept is similar to how the first touch screens I used worked~1980 at U of Delaware. We had seen nothing like it, crude but functional.
 
  • #10
Thanks, I was also thinking I could try and link it up with a crude optical setting like the ones below:

1309ledsweb_design2.jpg
1309ledsweb_design3.jpg

That would allow me to benefit from the precision of the capacitive screen while being able to filter out the false blobs.

If anyone know where I could find some open source code I could try and tailor my build to that would also be great (I might write mine in the future but I already have a lot to do with the hardware). I've posted this request in the following thread to keep the forum clear: https://www.physicsforums.com/threads/optical-touch-screen-code.825527/

Cheers
 
  • #11
Sorade said:
Second point is ... some of these technologies still require a fair amount of rows and columns (like in the link you gave me 8*8), so how would you connect all that to a micro-controller ? I still haven't found one with a 1250 connections (say for a screen of 800mm*450mm) (I imagine there is a clever way to do it but I'm not sure what it is).

You might want to read about "parallel IO expansion", "arduino parallel IO expansion". Or maybe just "IO expansion" in general. You should understand those simple concepts.

But none of that will solve a 1250X1250 array.

I suppose the most common and robust technique is shift registers. for example, CCD camera arrays use shift registers to produce video.

You can put 1 bit into a 1250 bit shift register and clock it to drive 1 horizontal line at a time.But for every horizontal line you drive, you need to scan all 1250 vertical lines.

Reading the output shift register can be hardware intensive. For example, in your case, there are 1250X1250 points ~= 1.5 million
If you wanted to read all the lines every 60ms, You would have to shift 1250X1250 bits in 60ms which is 26Mhz. If you used 8 157 bit shift registers, you could reduced that to a new 8 bit value every 8/26Mhz = 300ns. These sort of frequencies need dedicated hardware.

There are touch screen controller chips out there, but I have not had any experience with them. I expect they are generally proprietary designs, like for the iphone, etc. Try googling "touch screen controller IC". There are some smaller array controller around to give you ideas.
 
  • #12
Thanks for your help. I will have a look into that as well. :)
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 2 ·
Replies
2
Views
1K
Replies
37
Views
7K
Replies
1
Views
4K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 11 ·
Replies
11
Views
7K
Replies
6
Views
3K
Replies
4
Views
2K
Replies
7
Views
3K