This guide will show you how to turn your Arduino Uno into a Windows/PS3 controller. It is fully configurable and you can change the input/output to whatever button you want. This means that you can hook a wii nunchuck up to it and play around with the coding a bit until it works. Really you can hook any type of sensor or whatever you want to it as long as you have enough inputs and outputs.
Step 1: Whats Required
The only items that are required are:
*Arduino Uno(Untested on other models but still might work)
*A way to connect your Arduino to a Windows computer
*A Windows Computer
*A way to ground the DFU mode pins as seen in picture
Step 2: Loading the Sketch
Upload the sketch titled PS3WinControll in the attached files to your Arduino Uno.
Step 3: Test the Controller
From the zip folder attached(PS3WinProcessingVisualizer.zip, provided by UnoJoy), run the executable file The joysticks should be in the upper left and no buttons should be pressed. If you ground pin 2, you should see the triangle button turn on.
Next we need to install the drivers for the bootloader. Run the driver installation file(dpinst-x86.exe) in the zip folder(Drivers). Then, with your Arduino plugged into your computer, connect the two pins shown in the photo to put the Arduino into DFU mode.
Now you have to download and run the Atmel flash tool(JRE - Flip Installer - 188.8.131.52.exe.zip). Now that the drivers are installed, go to the PS3Win folder and run the TurnIntoAJoystick.bat application. Unplug and re-plug in your Arduino, and it should show up to your system as a joystick!
To check out what your computer currently sees the Arduino as:
On Windows, you can check it out by going to Start->Devices and Printers
In Arduino mode, it will appear as 'Arduino UNO (COM 23)' In DFU mode, it will appear as 'Arduino UNO DFU' In PS3Win mode, it will appear at the top as 'UnoJoy Joystick'
Step 6: Configure Your Own Controller
Now that you have a basic controller put together, you can configure it to however you like. However, the Arduino can only take in new code when it's in Arduino mode. In order to put the Arduino back into Arduino mode, plug in the Arduino and put it back into DFU mode like you did in Step 4, then run the 'TurnIntoAnArduino.bat' or .command program. Unplug and plug the Arduino back in, and it should show up as an Arduino again. Then, the easiest way to create or modify your controller will be to follow the following steps:
Change and Upload code to Arduino (Arduino mode)
Open up PS3WinProcessingVisualizer.exe (Arduino Mode)
Test controller's functionality (Arduino mode)
Repeat steps 1-3 until satisfied with your controller
Change into PS3Win then plug into PC (PS3Win mode)
Step 7: PLAY!!!
Congratulations! You can now use your Arduino as a gaming controller as you wish for Playstation 3 and for Windows OS!!!