views:

61

answers:

1

This question is more about electronics than programming, but there's no StackExchange site for that yet (at least I was unable to find it).

The idea is to open an electret microphone and glue a flat surface (for instance, a piece of glass) on it, and use an ADC to detect when someone presses it with the finger. The ADC will be attached to a microcontroller that can analyze its output.

This is to be used in a quite noisy enviroment, so I should be able to differentiate between a valid action (someone really touching it) and noise vibration, for instance by analyzing the patterns generated by the ADC.

What do you think? Is it feasible?

+3  A: 

Electret Microphones are designed to capture frequencies above 20Hz. Pressure of the type caused by a finger press is probably not going to be captured, because the pressure ramp so produced is not steep enough (unless you poke it).

What you want to try to do is capture the noise of the person's finger as it adheres to the glass. You will also get a noise when the user removes his finger from the glass.

There are other ways to capture finger touches on glass. One way is to put infrared light into the edges of the glass, and put an infrared webcam behind the glass to capture the infrared image of the finger touching the glass. This will also tell you where the user touched the glass.

This is how Microsoft Surface works. You can even display an image on the glass, if you wish. There are open-source alternatives to Microsoft Surface available, such as TouchKit.

Robert Harvey
OK, given that usually you have the microphone feeding an amplifier I understand you need a somewhat high frequency of vibration to produce an output to the ADC.BUT given also that the microphone is essentially a capacitor, what if I use it to replace the capacitor in an oscillator, and detect changes in frequency of its output? Wouldn't it produce a higher frequency when pressed, as I need?
Fabio Ceconello
Your idea of an infrared cam was also suggested to me by someone else. The problem is, wouldn't it need to be some inches behind the glass to catch all its area? This is a design constrain I have, the glass will be 3mm thick and I don't have much room behind it, just a few more milimeters.
Fabio Ceconello
Then you will need a touch panel. There are companies such as [Crestor](http://www.crestron.com/features/touchpanels_touch_panel_control/) that make them. You will have to do a little research, but I imagine you can find a company that will sell them to you individually.
Robert Harvey
Yes, in fact that was my first choice. The problems were: 1) cost; 2) couldn't find any manufacturer that had the form factor I needed (2x7 inches).
Fabio Ceconello
See also http://chiphacker.com/questions/4112/source-for-small-touch-panels
Robert Harvey
Also check out [OLED](http://en.wikipedia.org/wiki/Organic_LED) touch devices. http://www.optrex.com/
Robert Harvey
Your idea of using the microphone as a capacitor to modify oscillator frequency is intriguing, and might actually work. The only way to know is to try it. It won't be directional, though (i.e. you won't know *where* on the glass the user touched). A piezo sensor might also work. Good luck.
Robert Harvey