I am thinking about adding analog capacitive wires for my InMoov but have a questions. All of my V4's are in use on the inmoov right now so I dont have one to try this with or I would.
In order for the analog signal to increase or decrease when a wire is touched, I assume that I have to provide current (+ and/or -) to the pad that I will be incorporating along with the signal wire. Is this an accurate statement or do I just need the signal wire?
Upgrade to ARC Pro
Synthiam ARC Pro is a cool new tool that will help unleash your creativity with programming robots in just seconds!
Does it have to be an analog signal or would a digital touch switch signal work for what you need?
If it can be digital, would you want it to just trigger a digital input or would you need it to pull in a relay?
The other option is to use foam from one of the EZ-Robots boxes that I have and run ground and the signal cable through the fingers to some copper strips, which would then allow me to measure pressure more than just touch.
I think I am just going for touch but don't have much room at all to put in switches. these finger tips are pretty tight.
Do the ground and signal pins have to run off of the EZ-B or is a common ground good enough? Lots of testing to do on this.
As for other points for contact sensing, I have 16 more analog ports to use. I figure shoulders, and head would be a good place to add some copper for touch sensing. I may do something in the stomach, not sure.
With the signal wire being on the outside of the material, it also acts as a touch sensor I guess. Non-conductive contact it acts as a pressure sensor, conductive material it acts as a touch sensor. Not bad...
If the conductive paint works out well, I will use this to paint the copper strip that I will use for the shoulder touch sensors. If it doesn't work out, I will have a lot of cleanup to do
I get normal analog readings of between .82 volts and.87 volts when not
When I touch the palm of the hand softly, I get analog readings of 1.3 V to 1.5V
When I put pressure on the palm with the rubber handle of a screw driver, I get analog readings from .42 volts to .51 volts.
I also roughed up the paint by patting it with sandpaper when it was tacky still. This gives some texture to the palm of the hand.
Strange thing happened though, they quit working. Everything was set up and the next day when I fired up the robot nothing. I haven't able to figure it out.
Anyway, I am going to try what you have done Dave, looks a lot more sophisticated than my effort.
A thin 5 feet HDMI wire directly connected to an A/D port touched by myself will trigger the "your are touching my finger" sentence.
Here a quick script based on what BOB did before.
#Get ADC value
$TS0 = GetADC(ADC5)#finger
if($TS0 >75 )
SayEZBwait("You are touching my finger")
I intend to wrap a small metal foil ring around the tip of each finger, maybe connect tree fingers together and keep the thumb and index separate.
An other one in the palm of the hand.
So 8 a/d port of one EZB would be enough to cover the 2 hands.
By the way what is the easiest way to increase the amount on A/D port of a EZB ?
So I'll explore the other options.
Here is the end result photo. I wanted to give my robot the ability to sense touch in the hands. I accomplish this by using analog ports on the V4 and connect it to the hand using the HDMI cable that runs from the shoulder to the wrist. There is an HDMI splitter in both locations. The HDMI cable also carries the signal to the servo motors in the hands that move the rotational writs and fingers. I cut the foam from an EZ-Robot box to fit the palm of the hand and the fingers. This foam provides extra grip for the hands. I placed the analog signal wire on the outside of these pads and then painted over the wire with some conductive black paint. When the pads are touched by something conductive like a human, the analog readings increase. I also wanted to add a pressure sensor for the palm of the hand. This was done by adding a ground wire to the palm pad that is inserted into the pad just below the surface of the pad. Now when a non-conductive object, such as a screw driver is pressed into the palm the analog reading decreases. This allows me to know if it is a person or an object that is contacting the palm. It also allows me to program the inmoov to grip an object tight enough so as not to drop it.