Adding Tilt


jdh2550

Member
Joined
Jan 30, 2008
Messages
264
First off, if you're about to post something that says "tilt is a waste of time" - thanks, but that's not the point of this thread. So feel free to move right along.

I'm toying with the idea of building a low cost USB accelerometer - a bit like this one: http://www.harbaum.org/till/tiltstick/index.shtml only with 3-axis and hopefully smaller.

For my prototype I'm going to use the following three sub-systems:
1) Accelerometer: http://www.sparkfun.com/commerce/product_i...products_id=252 ($20)
2) PIC: http://www.sparkfun.com/commerce/product_i...roducts_id=8787 ($20)
3) USB to Serial: http://www.sparkfun.com/commerce/product_i...products_id=718 ($15)

These three products all come pre-mounted on breakout boards, so, in theory (eek!) there shouldn't be much more than hooking together these three boards. This is just the prototype - it will be big but I'll likely mount it in a box and velcro it to the bottom of the pandora.

The device will provide raw g readings to the host. The driver in the host will have two modes - one will provide g readings scaled appropriately from the raw values. The other mode will use a user definable config file to convert various movements into key sequences or joystick moves.

Thus, the goal is that the tilt device can be used either to drive pre-existing games or for other apps that need specific g readings (think dynolicious and similar).

If I can make this work then I will see about a "commercial" version with everything on one small board. I'll look for a much smaller and less capable PIC. My thinking is that if I can buy my separate prototyping versions for $55 I should be able to get a small one board solution for < $50. Well, maybe.

If you think tilt is a good idea then let me know how you'd like to see it interfaced into the software that you want to use.

If you have hardware experience then let me know if you think the prototyping products chosen are suitable (I'm a software engineer so please be gentle with me!)

If you know of a commercially available, small & low cost device (sub $50) then let me know. The closest I came was this: http://www.phidgets.com/products.php?product_id=1059 but it's $95 CAD and I'm cheap...

If you want to play along with me - or you're already doing something similar then let me know.

BTW, I love this idea: http://www.gp32x.de/board/index.php?showtopic=43556&hl= - but it's too ambitious for me so I'm starting with just the accelerometer part. My guess is that you could do three of the four but would need to drop UMTS. The gps and the accelerometer are both single chip solutions available in tiny SMD packages.
 
Last edited by a moderator:
Last edited by a moderator:
Last edited by a moderator:
Something similar has been discussed here, you might find some useful info there, glad someone is taking this on =D
 
Last edited by a moderator:
Sorry I don't get what the "tilt" stuff (reminds me of an old flipper casion machine) means or what is using for...

Is it some Gadget like the "Rumblebox" from the old N64, which is nowadays allready integrated in most modern game console controllers, and give the player somekind of feedback when he crushes against a wall ?
Or is it some kind of GPS stuff (couldn't understand what you meant with the coordinates aceleration) which is using the movement of the player (by moving the Pandora) to controll something, for instance turning your pandora to the left side, your character ingame goes left (like a Wii controll) ?

If anything of this will be fullfilled it would be really cool (sure you will need the support of the devs for integration this additional effect) and I'am sure I would buy it for ~ 50$ / 35€ :)
 
Hawkey: games like Kirby Tilt n tumble, yoshis egg, warioware twisted, and some marble madness type games all use it. the speed and rotation and movement of your handheld can move objects in game, such as moving a rotund character, or rotating the level.
 
PoisonedV said:
Hawkey: games like Kirby Tilt n tumble, yoshis egg, warioware twisted, and some marble madness type games all use it. the speed and rotation and movement of your handheld can move objects in game, such as moving a rotund character, or rotating the level.
So its my second guess: something like a integrated (its just a mobil modul do Dock at the pandora) Wii controll, you move your Pandora to move a character or something like that in a specific direction :rolleyes:

Cool, yeah then I definitly would buy it (of course I hope that there will be some software to customize the setting and that this option will be integrated or at least supported by you in some open source programs like the PSX/N64 Emulator, so that I can make stunts at Snowboard Kids, just by moving my hands who hold the pandora) :lol:

[Edit]
Oh, I forgot to mention that it would be really cool if you could combine both ideas (little rumble/vibration effect + alternate control through moving your Pandora), so that games like Pong, Frogger or Pacman (even a Bomberman Port who is planned) get a new unique playstile :rolleyes:
 
Last edited by a moderator:
i'd love something like this! i think it'd be key to make it as small as possible - like u, i also think a strip thing some extra ports and stuff would also be really cool; instead of having to buy like a newer pandora model or something, we should just upgrade the current release - as the pandora was a comunity project, i think the strip thing would be a good one for us to take up next >.<

also, like PoisonedV mentioned, it would be cool if we could could add tilt support to a GBA emulator - i'd buy it just for that - keep us updated on ur progress ^^
 
NoixPecan said:
sebt3 said:
http://www.toradex.com/Products/Oak_USB_Sensors

What is the difference between the tilt version and the acceleration version? They both have the same sensor chip. Which one would be better for gaming? BTW, these devices have 12-Mbps USB, which may not play well with Pandora's USB host.


The tilt version provides data in "spherical coordinates" (degrees tilted in any direction). The acceleration version provides data in "acceleration" (number of g experienced in any direction). See section 2.3 of the datasheet. Seeing as both data sheets state "direct access to sensor specific registers" I'm wondering if I can switch between the two modes myself.

AFAIK, the USB host will be fine because these implement the USB 2.0 spec (it's not the speed of the bus that's the issue it's the version of the USB spec that's implemented). But if that's not the case I can use the OTG port anyway.
 
Last edited by a moderator:
have you ever seen this accelerometer for the psp? Serial controlled :) http://www.neoflash.com/forum/index.php/to...4.msg31840.html

neo-psp-motion-1.JPG
 
paolo said:
have you ever seen this accelerometer for the psp? Serial controlled :) http://www.neoflash.com/forum/index.php/to...4.msg31840.html

neo-psp-motion-1.JPG




Paolo - that looks great and it certainly shows how small one can make an accelerometer device. The hardware interface is no good for us though. However, it would probably be fairly easy to do a hardware modification to take off the two plugs and to wire something up to hook it to the serial port on the panda.

However, on the whole I think I prefer the USB/HID approach that the Oak device uses. It makes the driver software much simpler (at least I think it does!)


jdh2550 said:
The tilt version provides data in "spherical coordinates" (degrees tilted in any direction). The acceleration version provides data in "acceleration" (number of g experienced in any direction). See section 2.3 of the datasheet. Seeing as both data sheets state "direct access to sensor specific registers" I'm wondering if I can switch between the two modes myself.
Well I just scanned the datasheet for the chip used in the Oak sensor - and I can't find anyway to switch it to read tilt rather than g's. So the Oak sensor guys must be doing that calculation for us. I'm going to contact them and see how they do it.

Options currently being considered:
1) get the tilt version and use the direct register access to get raw g data
2) get the g version and re-engineer the tilt calculations from g data within the driver

Option 1 seems like less work because the math is already done and I know I can get g by reading registers. However, option 2 would likely produce a nicer device to host interface because with option 1 I'd have to poll to get the g data whereas on option 2 it would be interrupt driven.
 
Last edited by a moderator:
jdh2550 said:
Options currently being considered:
1) get the tilt version and use the direct register access to get raw g data
2) get the g version and re-engineer the tilt calculations from g data within the driver

Option 1 seems like less work because the math is already done and I know I can get g by reading registers. However, option 2 would likely produce a nicer device to host interface because with option 1 I'd have to poll to get the g data whereas on option 2 it would be interrupt driven.
Go with option 2. The tilt calculations are relatively simple to perform, and having the raw readings is more interesting.
 
Last edited by a moderator:
Why don't you just get a accelerometer IC with SPI and/or I²C and wire it directly to the ext port? Much more compact, will probably fit into the case and will be cheaper, too. The LIS3L02AL from STMicro or the MMA7455LR1 from Freescale look promising.
 
Hollenderster said:
Why don't you just get a accelerometer IC with SPI and/or I²C and wire it directly to the ext port? Much more compact, will probably fit into the case and will be cheaper, too. The LIS3L02AL from STMicro or the MMA7455LR1 from Freescale look promising.
I didn't do that because I'm not that smart :) However, thanks much for the info!

I'll play around with what I just ordered and then look at switching to an SPI or I2C solution for V2.

Where can I get details of the ext port?
 
Last edited by a moderator:
Back
Top