2
\$\begingroup\$

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

\$\endgroup\$
2
  • \$\begingroup\$ No idea if this is possible, but there is anti-static foam. I have no idea what the resistance would be for a sphere of (I assume) about 30 cm diameter. Which means about 15 cm to some sensor in the core. \$\endgroup\$
    – Oldfart
    Commented Aug 31, 2019 at 8:21
  • \$\begingroup\$ Add in a schematic of your foil sensor and microcontroller interface. A schematic is better than words. You can add one in using the CircuitLab button on the editor toolbar. Double-click a component to edit its properties. 'R' = rotate, 'H' = horizontal flip. 'V' = vertical flip. Note that when you use the CircuitLab button on the editor toolbar and "Save and Insert" on the editor an editable schematic is saved in your post. That makes it easy for us to copy and edit in our answers. You don't need a CircuitLab account, no screengrabs, no image uploads, no background grid. \$\endgroup\$
    – Transistor
    Commented Aug 31, 2019 at 8:32

2 Answers 2

1
\$\begingroup\$

Single-sided capacitive touch sensing works most reliably when the device itself has a ground connection, or at least a path to ground through its power supply.

If your ball is going to be free-floating, with an internal battery for power, there's no ground path. It would be more reliable with a two-element capacitive sensor design.

For example, you could wrap the ball with foil, making a connection to the circuit board ground plane. Then cover with insulating tape. Over that, wrap a fine wire in a fairly coarse mesh pattern -- i.e., maybe 10% of the surface area is covered. You'll have to lead the end of that wire inside, keeping it insulated from that foil ground layer, to the capacitive sense pin.

You can wrap another layer of insulating tape over that wire, if you want to hide it. If you leave that wire exposed, though, I think your device will be even more sensitive to touch.

When the ball is touched, the finger will provide additional capacitance between the sense wire and that ground layer.

Yipes, just discovered this thread is 2 years old. Oh well...

\$\endgroup\$
0
\$\begingroup\$

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.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.