veenu@mtfmi.att.com (Veenu R Rashid) (04/16/91)
I just picked up a Mattel power glove since they are not going to be available much longer. Now, how do I interface this thing to my Amiga? Can I do this using software? Do I need to do a hardware hack? Can someone with specs on this thing please send me email or post anything which might be useful? Thanks very much, Veenu vrr@cbnewsj.att.com [ Moderator (Mark): With all the requests for info relating to Mattel power gloves coming in, perhaps someone who has succeeded could post how they did it? And I will cut off the flow of request messages. Thanks! ]
lance@motcsd.csd.mot.com (lance.norskog) (04/19/91)
Hello- The Power Glove normally acts as a Nintendo joystick. I've hooked it up in this mode as an X windows mouse to 386 UNIX via a parallel port. See Byte, July 1990, pp. 288-289 for the relevant info. I believe the Amiga joystick ports give you the necessary 2 5V output control lines and one 5V input data line. This should be in the sci.v-w archives; it's from my stash. I'm electronics-impaired so I haven't done it. Also, I'd rather wait for a commercial product. From: schur@isi.edu (Sean Schur) Newsgroups: sci.virtual-worlds Subject: Power Glove Specs Date: 27 Nov 90 06:28:13 GMT I am posting the following for a friend and associate. If you have any responses you can respond to me or to rn and I will forward your messages or queries. --------------------------------------------------------------- I had been working independantly on the disection of the Nintendo power glove when a friend and associate showed me what Eric Pepke had listed here. It's great to know someone else is working on the glove, as it looks like VPL isn't going to release their RS232 version anytime soon. I am using parts at hand, so undoubtedly a better way exists to get the pulse and timing into something more CPUseful. What I did was to chop off the glove's CPU and just use the knuckle box and receiver. The wiring and board location names follow. Unlike Eric, I couldn't get the switching supply on the knuckle board to get anywhere near 40 volts. With straight 50Khz going to the violet wire I get 15 volts. However, using the divider below to get from 1 Mhz down to 50 Khz, if the 50 Khz is NOR'ed with pin 12 (QC) of the divide by 10 counter and then fed to the violet wire, I get a nice 25 volts. I suspect the switcher is very frequency sensitive, and somehow this combination and pulse width is nearer to perfect. The receivers can be used as is. When a nice pulse is sent from the transmitter in the form of a burst of 50 Khz (but not longer than 3ms to keep from double triggering) the receiver will send out a clean negative going pulse 7.5ms long. I time from the begining of the transmit pulse burst until the leading edge of the receiver pulse by counting 25 Khz clocks. The circuit is set up so that the final latches (only one shown)can catch the results and then be polled if needed to pass the data on to your computer through a UART or parallel port. It is easy to expand so that all 6 receiver bursts (3 for each transmitter) could be collected. This test circuit is easy to change and play with....changing the counter configuration can give better resolution but more jitter. To see the output without having to write code, I just used a couple of Texas Instruments TIL311 hex displays connected directly to the latch outputs. I was getting about 1cm resolution as connected. What I would really like to know is how to very simply and quickly get nice X-Y-Z coordinates from the planar 3 receiver array without lots of gooey math. I have tried remaking the receiver stand so that they fall on the axes, but must tilt the stand so that the glove points into the origin. Again, some translation and rotation math would be helpful. The problem with a stand set up in this way is that it limits movement even more than the planar version. Any help would be appreciated. We at CAL-ARTs are deeply interested in VR. We have many artists in the film, video, dance, music,and theater arts. In our own Media Lab, have over 100 students producing art on Amigas, and most of those are character animators aching to actually move INTO the worlds they are now creating on paper, film, and video. Thanks for the forum, and keep those ideas comming! Dale McBeath voice (805) 255-1050 ex. 2330 CAL-ARTs (805) 245-3191 Character Animation Dept. PLINK msu-387 School of Film and Video 24700 McBean Pkwy, Valencia CA 91355 Knuckle box wiring: Knuckle pin CPU pin Color Function 1 3 Pink Index finger (analog 100K to 500K) 2 2 Brown Thumb 3 12 Lt. Blue Finger common (thrugh a diode) 4 4 Orange Middle finger 5 11 White Small finger 6 7 Green Right transmitter 7 6 Yellow Left transmitter 8 9 Violet Switching Supply Pulse (50Khz) in 9 10 Grey Switching Supply feedback (2v nom) 10 1 Black Ground 11 5 Red +5 volts 12 8 Dk. Blue Bell (small peizo element) Receiver Box Wiring: (1) Recv 1 (top left) GND (6) (2) GND Reset in (7) (3) Recv 2 (corner) Clock in (8) (4) Recv 3 (bottom right) Data out (9) (5) +5 TIMING: low = ______ high = --------- lots-o-pulses = ||||||| 50Khz |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| TRIG --------+_____+-----------------------------------+______+-- RESET __+-----+___________________________________+-----+_________ XMIT ________|||||||___________________________________||||||||__ GO ________+-----------------------------------+_______________ COUNT --------+|||||||||||||||||||||||||||||||||||+_______________ RCV -------------+_____+-----------------------------------+____ DATA =============X=========NEXT GOOD DATA==================X==== | +5v > < .39 K (/10) +------+ > +-----------+ +---------+ | 1/2 |QA----O--------O---> 50 Khz | 1meg osc. |-----| 74ls160 |--CK| 74ls | | (violet) +-----------+ +---------+ | 393 |QB------------ | --> 25 Khz | | | +----------CLR| |QD--------+ | | +------+ | | GND +------------------------+ | | +------+ | | | 1/2 | (/256) | +----CK| 74ls | | | 393 |QD--------+ | +------+ | | +----------------------------------------------------+ | | +-------------------------+ | | | +----\-----\ | +------+ +------+ | ls02 >nor-------------> XMIT | | 1/2 |QA----A| |Q1--O--/-----/ (yellow +----CK| 74ls |QB----B| 74ls | | or green) | 393 |QC----C| 138 | +----------------> TRIG +------+ | | | |Q8-------------------> RESET +-en'+---+--+ | EN GND | (open) 25 Khz>--------------------------------+----\ TRIG>-------+----\ | ls00>nand--------> COUNT | ls00>nand-----O----------+----/ +-+----/ | +---------------+ | | | +-----------------+ +-+----\ | | ls00>nand---+ RESET>------+----/ RCV(1,2,or3)>------------------------------------+ | +-------+ +----+---+ COUNT>--------------| 74ls | | 74ls | | 393 >----(8 bits)---> 373 >---(8 lines)--> | (/256)| | (latch)| DATA OUT | | | | +--clr--+ +--'OE---+ | | |\ | | RESET>-----| >not------+ GND |/ (or POLL for data) ============================================================================== \ / \ \ / / Sean Schur \ \ / / \ \/ / USENET: schur@isi.edu \ /a\mpyr/ Compuserve: 70731,1102 \/ \ / ideo Plink: OSS259 \/ ==============================================================================