Keyglove one-handed input device

I may be missing something obvious, but it seems like you really don't need the conductive fabric if you can just have conductive glue... you can also cut back on sensor wires to a certain extent by just "drawing" the wire with the conductive glue.

That's kinda what I was trying to get at when I suggested the "silk screening" of the glue to form the sensors and interconnects..

BTW, fkeel - I noticed you are moving to customized forms using thermoplastic (Turbocast from Streifeneder, Apolit from Minke Props).

Whether or not it will help you (though it might help others, so you might want to reference it on your blog?), such plastic is known by a couple of different names in English:

"PolyMorph"
"Friendly Plastic"

http://shapelock.com/

...among others - its chemical name is:

Polycaprolactone (PCL) - Polycaprolactone - Wikipedia

One place I found that sells "bulk" (not sure if "to the public", though) is:

http://www.absorbables.com/standard.htm

They also have "sample kits". You can also find this plastic on Ebay quite often, typically sold as plastic for jewelry making; it comes in a wide variety of colors (including metallics). Standard forms I have seen (before seeing your samples), have been a flat "stick" form, and pellets.

In the US, I have seen it sold in craft stores, and the friendly plastic is available from Target stores.

:slight_smile:

Hey everyone!

No word on glue performance yet (I'm still waiting on the carbon graphite powder to show up), but I have had some luck with the accelerometer so far. I discovered Processing and some of the awesome stuff it can do, and it's really helping out the test process. I just got a video up demonstrating the current accelerometer motion detection, and I have two more types of detection left to implement. By comparison with what I just did, those should be easy.

Check out the video here:

And details on the accelerometer integration here:

More to come!

yeah, processing is amazing for quickly rigging up flashy looking stuff :slight_smile: ... I think without it I would still be programming, but I would not actually consider it fun :smiley:

btw. I was just thinking - have you looked into using the Arduino UNO? As far as I have heard, you can get it recognized as a usb device - so you wouldn't need to fool around with the whole ps2 stuff...

Hm. And I am really curious on how the glue does. Keep us updated :slight_smile:

cheers

p.

Hey everyone,

I've continued to work on the Keyglove project, but I've run into a weird signal problem that I don't understand. I'm hoping someone here can shed some light on it for me.

Basically, for more rapid prototyping, I got a 2"x2" proto board from SparkFun and soldered two rows of 18 spring terminals on it, back to back with female header extensions in between them, like so:

My latest revision of the glove is using 28 AWG enameled magnet wire for sensor leads; these are attached at one end to each sensor on the glove, then the other ends are inserted into the spring terminals in the picture. It makes changing things around much simpler than when I was soldering male header pins onto every sensor lead for every revision and test--especially because I have labeled the spring terminal blocks.

However, I'm seeing all kinds of weird touch readings whenever I plug in the proto board. This actually happened before I plugged in any sensor lead wires as well, so I don't think it's the sensor wires (which are currently all bound tightly together for cleanliness--I wondered if this might cause interference or crosstalk or something weird).

As a quick review, the controller code detects touches by rapidly changing one pin in the combination to OUTPUT mode, bringing it LOW, then testing the voltage on the other pin. If it's also low, then it records the touch. Lastly, it sets it back to INPUT mode, brings it HIGH, and moves on to the next combination. All of this happens for all 60 combinations about 500 times per second.

The controller is supposed to register no touches when none of the sensors are touching (duh). However, when I plug in the proto board, it starts to register random ones at random times. Some of them seem to be pretty static (e.g. there are always five or six particular combinations that always show as touching), but others are random. The random effect seems to be worse when I am testing legitimate touches; if I touch one set together, it registers a dozen more with some randomness as long as I hold the first two together.

On top of this, it appears that if the Arduino board is disconnected and the proto board is not plugged in for a while, and then I plug the Arduino into the PC and the proto board into the Arduino, it measures touches correctly for a little while (maybe one minute if I'm lucky) before going back to the weird random readings--almost as though some interfering charge took time to build up while it was connected and in use. The proto connector board has no capacitors, and the glove doesn't either. It is only fabric and wire. I would expect flaws in my build process to be the same no matter how I'm connecting the sensor lead wires to the controller board, so I don't think it's that. If I connect the wires directly into the digital I/O header pin sockets on the Arduino board, the problem goes away. I was hoping to avoid this though, just because it takes more time and the wires don't stay put very well.

Does anyone have any ideas or recommendations? I'd really appreciate it.

I take it that somewhere in there you have pullup or pulldown resistors to prevent floating inputs...? Because it sounds like you don't....

:-?

I take it that somewhere in there you have pullup or pulldown resistors to prevent floating inputs...? Because it sounds like you don't....

I don't have any external pull-up resistors in my circuit anywhere, but I was under the impression that if I set a pin to INPUT mode and explicitly set it to HIGH (which I am doing), the internal Arduino pull-ups would be activated per the documentation:

"There are also convenient 20K pullup resistors built into the Atmega chip that can be accessed from software."

(http://www.arduino.cc/en/Tutorial/DigitalPins)

Again, I never had this problem before I built the proto breakout board, and if I remove it from the system and plug the sensor leads directly into the board, the problem goes away. I may just go back to this approach because it works, but I was hoping to be able to keep the spring terminal blocks for convenience. And at this point, even if I do go back to direct connections, I'm extremely curious why on earth this is happening anyway.

I left the proto board plugged in all night, and when I came back this morning, I saw something very interesting: all of the touch combinations were registering as active, with an occasional fluctuation on one or two combinations. Usually, less than half of them register this way while the proto board is plugged in. This appears to be the result of leaving it plugged in and turned on for so long, and appears to be in line with the weird possibility of a charge buildup causing the problem. I pulled the proto board off the Arduino and all of the sensors immediately reverted to "not touching." It isn't anything on the Arduino board itself.

Just to test, I plugged the proto board back into the Arduino after about 15 minutes, and the random behavior that I'm used to started up again: somewhere between 1/3 and 1/2 of the touch combinations showed as active. After I left it in for a couple of minutes, it progressed to the point of nearly all of the combinations showing as active. This happened faster than I expected, and if it is a charge buildup of some kind, that indicates to me that the charge didn't have a chance to dissipate in 15 minutes.

The actual proto board that I bought is here: http://www.sparkfun.com/products/8811

One interesting thing about the board is that one side has square solder pads around each hole (as I expected), while the other side has a continuous metalized area (for full-board ground?) with small breaks around each hole to prevent shorting every hole with every other hole. If you've used one of these boards from SparkFun or a similar board, you know what I mean. Let me know if I'm not explaining correctly.

I have connected the two GND pins broken out from the Arduino board to this large "pad" on the opposite side of the board to see if it helps, but it didn't change the behavior at all.

I don't know a whole lot about the physical build of electronic components, but I know that a capacitor is made of layers of specific material placed close together. Is it at all remotely possible that the proto board construction is exhibiting capacitance here? The Arduino documentation says that pins in INPUT mode need only a tiny amount of current to change state. Do I need to add pull-up resistors beyond the ones in the microcontroller? I rapidly shift each I/O pin between INPUT and OUTPUT mode during general usage, so I don't know how well that would work.

I'm still confused. :-?

Hey everyone,

I'm still looking for any info that can help resolve the problem discussed in the last post (about the weird behavior with the spring terminal breakout board), but in the mean time, I have a new video up with a demo of typing with a full array of sensors. Check it out if you are interested!

The actual typing begins about 5 minutes, but there is potentially interesting information during the first half.