Electronic – arduino – How to make an object with curved surface touch sensitive with Arduino

arduinosensortouch-panel

Is there a way to make a "ball" (or an object with curved surface) touch sensitive? I want the ball to do something when someone touches it with their hand.

So, currently I got an object out of plastic, i.e. the surface is smooth. The object is hollow. Inside of that object there is an arduino uno with LED and a speaker.

Whenever someone touches it and as long as a person touches, I want the arduino to make a sound or blink with the LED. That object should be also freely moveable, i.e. not tied to something. Its also very light; like a small ball that can fit into your hand.

I want the whole object to be touch sensitive. I want the ball to register whether someone is currently touching the ball or not (I.e. it should also recognize when a person is not touching the ball anymore). Is there a way to accomplish it without buying multiple expensive touch sensors?

At first I was wrapping aluminium foil around the object and put voltage on it so it becomes a capacitor. The downside is that it is not reliable, i.e. sometimes it recognizes the touch sometimes it doesnt. I suspect the aluminium foil area is too big to recognize the touch reliably.

The solution doesn't have to involve with arduino uno. I could use any arduino as long as it does the job of creating a touch sensitive (curved) surface.

The reason why I want the curved is because I want people to be able to comfortable hold it in their hands. A curved surface is suitable the best for this, I think

Best Answer

Your on the right track with capacitive touch, however you can make it all internal to the ball, as the touch sensing for this method works through most plastics, I would recommend using copper tape on the inside as the adhesive and plyability make it much easier to work with, you will need a big copper area e.g. 3cm x 3cm, and spaced about 1cm away, a line with your arduino ground, you will probably want a few of these around the device,

you charge this capacitor up with the arduino pin pullup, turn off the pull up, then take an ADC reading of that pin, the ADC has a small capacitor inside that it uses to sample the analog voltage, in this situation it acts as a charge divider, so the sensor capacitor discharges a little and the ADC capacitor charges up a lot,

This voltage reflects the dielectric of the material across the sensor, now water, water is a crazy good dielectric, 80 times better than air, and about 8-20 times better than most common materials or rocks, and humans, humans are made of water, so the persons hand is over the sensor, the capacitance of the sensor is higher, so the ADC voltage is higher, and suddenly you can tell when a person is there,

Main quirk and why touchscreens don't work well in the rain is its hard to tell a persons finger apart from a rain drop, so if it rolls through a puddle or gets water sprayed on it, it will give false triggers.