Category Archives: Analogue
Here we will be taking a look at the GameTrak game controller and modifying it to use with a PC. The first step to to this project is to check out these links and follow the steps to determine if your GameTrak is the easily modified Gen I or the difficultly modified Gen II:
Also look here for more info:
We will be going through a number of steps to circumvent the limitations of the Gen II. There are other options for making use of the original cct board, but I think that they are overly complicated and not very hobbyist friendly, so here goes…
You will need a small crosshead or phillips screwdriver, a soldering iron and the skills that are needed to operate these tools, and a knowledge of things an Arduino hobbyist would know, but do not fear, there’s a whole community of individuals out there to offer assistance and a friendly smile for Arduino.
After going through the steps found in the first link above, you may be faced with this cct board and a sad face will be forming in the general area of your head, but do not despair! You do not need to re-list on eBay or return to sender on Amazon, you need to go buy an Arduino: http://store.arduino.cc/category/11 I have a 100% working example on the Arduino Uno smd edition and I’m working on an Arduino micro at the moment too.
The cables you see above relate to the inputs and outputs from the variable resistors for the left, right, and up/down inputs (I will refer to these as x, y, z). There is also a power supply and ground for each of these variables. You should cut the heads off all of them all and group the reds and blacks separately. These are the 5v supply (red) and ground (black) for each variable resistor. The yellow, orange, and white cables are your analogue variables that control the x, y, and z input, specifically: x, y (orange and white) and z (yellow), this is multiplied by 2 because there are two sides to the GameTrak.
Those of you familiar with Arduino should see a pattern forming. Yup, the 5v and earth connect to the 5v supply and earth terminals on the Arduino, and the analogue outs from the variable resistors should be connected to the A0 – A5 analogue ins. Sounds simple, but might be a little advanced for a total beginner. I suggest that a small pin board is soldered together to assist in plugging in and out of the Arduino terminals. Feel free to hit the Arduino forums about analogue ins/outs and building breadboard/stripboard prototypes. In the picture above you will see that I have also made a little table for the Arduino and routed the USB off to the right. This is beacuse…
I have cut the GameTrak out of its original shell. Here’s where your imagination should go wild. The original black case is dull dull dull and not very nice at all. The major components are the variable resistors, so keep them. The big reveal… a haptic bowl!
There are a few other modifications to the GameTrak that I made to make it haptic, but I’ll go through them at the end of the walkthrough.
What happens next is that the Arduino needs to be programmed to convert your analogue inputs into computer readable code (visit Arduino for more info). For this project I used the standard Firmata included with the Arduino software as such: plug in your Arduino to a USB port, open the Arduino software, click File>Examples>Firmata>StandardFirmata. A new window will open with the code to be uploaded to your Arduino. Verify the code (tick button top left) and upload it (arrow right button next to the verify button). Your Arduino should now be communicating with your PC via serial data. Next up is translating this code to something that you can work with. For this I use a program called Processing. There’s a tutorial up for this with the Arduino code taken from the tutorial at http://www.arduino.cc/playground/Interfacing/Processing. I chose processing for this job because I can now route the input from the Arduino over a network via OSC messaging. Which is handy. There are other methods of applying the Arduino inputs directly into Pure Data or MAX/MSP, but the freedom to route messages over a network works best for me. Ultimately, I do use Pure Data to read the OSC messages, but the ability to route over the network is still available if I need it. Here’s the PD patch for reading OSC…
You can see in the picture above that the analogue inputs range from 0 to 1023 and the digital pins are represented by a 0 or 1. There is a slight mistake in the above patch because the 0-1 (Tx/Rx) digital pins are not active in the Processing software. The patch still works, just don’t expect anything to appear on /digital/0 or /digital/1. The digital pins can be set up as digital switches, such as momentary floor switches etc. That’s about it for the refurbishing of the GameTrak. Ask me questions if you get stuck or hit up the forums for Arduino and Processing. Stick around for a look at what I did next…
Inside my bowl I added the components of an X100 from Logitech. This speaker is Bluetooth, so attaches to your PCs audio output wirelessly. The tiny amp is used to drive the speaker and is also routed to an audio jack output on top of the bowl. With the GameTak gloves and audio jack plugged in we need to modify our gloves a little. Inside each glove is an audio frequency vibrating transducer. If you look at my previous project to do with gloves, you will see what I’m talking about. The transducers are connected to the audio amp via telephone wire, in series with each other and parallel to the speaker. This balances the impedances of the drivers to one that the amp can handle.
With the combined spring return force of the GameTrak mechanics and the vibrational elements of the glove, we have the force and tactile elements of a haptic system. We can now route tactile information to the performer that can pertain to near anything in the vibrotactile detection range and capture movements to be broadcast over a network via OSC. Cool huh?
Well, here they are. The pictures from the Cosina Hi-Lite have been developed and digitised for on-line viewing.
The most disappointing discovery for me was that the focal range is very limited. All of the shots over 10 meters came out blurry. I got some decent pics a bit closer up though.
After bumping into a gent who was clicking off a few shots with his early 80’s Olympus 35mm, I was intrigued to go find a vintage camera to play with. On the same weekend I noticed that my friend had an old Japanese Cosina Hi-Lite sitting nicely on his bookshelf. The lens was a bit sticky and the viewfinder was blurry, but it was just what I was looking for. With very little convincing, my friend said I could take a lend.
The lens was gunked up with sand and rocks, but cleaned up nicely. As for the viewfinder, well it was stained with what I figured to be salt water and it took some scrubbing to get shiny and new again. A simple clean up and the camera is good to go. I’m going to get some film tomorrow and I’ll post some comparison shots between it and my DSLR in the near future.
I wonder how many of you have dusty old cameras that need some tlc?
Here’s something interesting I’ve been fiddling with recently. A friend of mine asked me to refurbish his old tape deck, an old ITT Schaub-Lorenz SL58 Super. He wanted to record onto and then off again, capturing the compression, noise and warmth that only tape can bring to the table. I think that most of us pre-90’s oldies can remember playing games with such fun tape decks as kids. Be it radio time or story telling, we all recognised the limitless potential of a tape recorder, so why now are these fantastic devices gathering dust around at your grannies or at the back of a cupboard? I blame “the” digital myself.
After cleaning out the dust and spiders that had set up home inside. I dropped in a small filter circuit to replace the three-wire electret microphone capsule, allowing for a direct line in. This was just as well because the capsule snapped off shortly after starting (oops). I then rewired the output through a switched jack plug giving the option to use the inbuilt speaker or the line out. Both in/out routes had to be put through 3.5 mm sockets due to the limited space available inside the deck. I had a quick jam with it and was quite pleased with the hissing, popping and general squashing of whatever I hammered into it. Success!
I can’t wait to hear what Keith comes up with to put it to use!
Check out his website and band here:
Pictures of the job below.
Ditch that digital and reuse your analogue!