Sensor suggestions wanted

I am working out how I can create a midi-enabled recorder (musical instrument Recorder - Wikipedia) using an Arduino. I therefore need to detect which holes are covered by the player's fingers and I'd be grateful for any ideas on how to do this.

My first thought was to use light sensors but the light levels present in an open hole might not be very high, particularly the thumb hole, which is underneath. I've not been able to find a light sensor which detects the difference between low light and no light. Most seem to be best between bright light and low light.

Mechanical switches would be ok but only if they don't need to be clicked or have anything but minimal pressure applied.

I'll need 9 or 10 so the price has to be reasonable.

All suggestions gratefully received.

Julian

You can get capacitive touch switches that reacts to just touching them, but i don't know if the spacing between the recorder holes are so small that more than one switch will be triggered at a time.

You could use reflective optical switches like on my Arduinocaster, they provide their own light. Problem is that they would probably be too thick to hold comfortably.
Capacitive sensors have the disadvantage of working just before you touch them so you don't get a good "feel".

Resistive sensors (two screws you short together with the contact resistance of your fingers) are nice and cheap and give a good tactile feel, but you have to mount them on insulating material (again see my Arduinocaster).

You can get very tiny reflective optocouplers. The robot-builders use them in wheel encoders, and they're only about 1mm thick. I have a few, and they will definitely respond well to a finger -- possibly too well, although it all depends on the sensitivity of the IR phototransistor circuit. These are the ones I used, made by Omron:

The Omron number is EESY124.

Thanks Mike. Is there any info on the circuitry for your Arduinocaster. I can find plenty of Google links but nothing that explains the details. Which optical switches do you use?

Mike and Anachrocomputer, I have a question about optical switches. I tried one of these and had a problem. When my finger was a short distance away, it reflected the light back to the photodiode. However, it also detected ambient light when my finger wasn't there. Do you use pulsed light to get around this? With needing 10 or so, I was hoping to keep the electronics as simple as possible.

Julian

I'd be inclined to go with Mike's idea of resistive.
You could put a pair of tiny screws either side of each hole (I'm assuming the recorder is wood or plastic) and solder directly to them.

Interference from external light is a problem with opto reflective switches especially outdoors or in a marque (like I had at the Maker Fair).

Modulated IR was better (my IR Harp) but requires a more complex receiver. I haven't put any construction details of my Arduinocaster on the web yet, I am still finishing off the schematics, they are quite big, but keep an eye on the Exhibition section, I will announce when it is up.

However you will be better with the touch sensors. I used two 2M screws, one from 5+ through a 1K and the other through a 6M8 with a 2M7 to ground into a cmos logic gate. You can use 4009 or 4010 and get 6 in a package. I actually used 4011 (only 4 gates per IC) because I had them to hand.

I wonder if you could fit a filter over the sensor that was transparent to IR but opaque to visible light? Photographers use filters like this for IR photography, but of course those are made of glass and quite expensive. Maybe a thin plastic sheet-type filter could be used?

transparent to IR but opaque to visible light

Wratten 87 series

http://www.x-raycameras.com/kodak_wratten_87_range.htm

Or, of you can find older IR remotes, you can hack small quantities of similar stuff from the window in front of the LEDs.

fit a filter over the sensor that was transparent to IR but opaque to visible light?

I did try that on the Arduinocaster, I have a small sheet of IR filter material but it cut down the reflected IR so much that the switch wouldn't work at the "focus" distance.

Thanks very much for all those comments and suggestions. I'm going to experiment with resistive touch sensors and the hex inverter suggested by Mike.