PS3 Dualshock 3 / Sixaxis problem
I’m using a Dualshock 3 to generate a series of MIDI messages to send to any device (in this case a Yamaha Disklavier – mmmm) and I’ve been trying to develop the patch a little further.
I’m polling the data with the [hi] object with the pad just hooked up via usb. Joysticks control pitch/velocity/chord spacing/scale size etc. It’s fairly simple, but when hooked up to the piano, it’s actually fairly expressive.
The buttons on the PS3 are supposedly pressure sensitive, yet they all give either 1 or 0 messages. What am I getting wrong?
Also, does anyone have any tips for connecting via bluetooth? Bluetooth Setup Assistant doesn’t seem to find the controller. FURTHERMORE! I’d love to get sixaxis working, but it probably requires a driver…
Patch attached, though it’s pretty messy, inefficient and embarrassingly amateur.
Also, I’m running OSX Leopard.
Link to relevant video, if anyone’s interested:
I think only L2 and R2 are pressure sensitive perhaps.
Apparently they all are, and in any case the L2/R2 buttons still only seem to output a binary state.
It’s a mystery – I can only imagine that analog data is transmitted in some other way to the digital? Though I can’t imagine how or why, even though my knowledge of this sort of thing is minimal at best…
Sorry, I wonder – did you managed to get the 10-bit precision from the analogue sticks of the DualShock3?
I guess it has to do with how the driver is programmed
what drivers are you using?
it has been a while since I did this but I seem to remember only getting intigers (0/1) from the buttons (except for the trigger buttons) using this driver: http://www.hardcoreware.net/how-to-playstation-3-controller-64-bit-windows-7-vista/
if you need extra analog buttons though you could solder pressure sensors to the input from the analog sticks – that would give you four pressure sensitive buttons
Hi edsonedge, I’m not sure if you’re addressing my question but I guess you might be since mine is recent.
I’m on a mac so I was hoping to pair it without a driver.
I believe that if the analogue stick was giving you 0 to 255 then it’s getting 8 bit. If you were getting 0 to 1023 then it was the full 10 bit accuracy.
No sorry – I was addressing thmsbsh
I seem to remember it being 8 bit
Actually its true almost all the buttons are pressure sensors, the only problem is that the max "hi" object doesn’t see all the informations…
the only workaround is to use quartz composer to open the hid device and then send the info to max thru osc
Cool – thanks freeka
makes me wonder if one can build a 16 pressure sensor sampler controller – using the sixacis as a single board computer and soldering pressure sensors to the buttons.
pressure sensors are easy to make: http://www.instructables.com/id/Conductive-Thread-Pressure-Sensor/
i actually did work on it a bit:
the pressure sensors part was tricky, as the sony sensors give really weird values in term of resistance, which wasn’t flexible…
you have to add to that all the pressure/button are on a flex board and the connection with the main board isn’t strong and there is not really any good point to solder your own sensor.
conclusion: fun in perspective if you have time to spend on it. if not, expect loosing your girlfriend if you got one b-)
then Ill rather get a Make kit
Depend what you want to achieve, FIO + maxuino is a good thing to look at !