phidgets
04-30-2005, 04:30 PM
From an email from Edward S:
The question is Where do I begin to duplicate the JS I/O motions into a floor mounted platform upon which a chair can be mounted??????
The signals that cause the JS to react, can that be used to duplicate the input feedback actions, as well as the user movement of the JS - to a platform upon which a seat, along with the monitor, JS, mouse and keyboard of course would be mounted in such a manner that all input and output motions of th SWFF2 JS can be duplicated in the platform thereby simulationg not only the action of the 'pilot and plane' but outside influences (ground fire, damage, stress) as well?????
--- Matt's Reply ---
Hi Edward,
Okay, For joystick shake/feedback, how to do this depends upon what that signal is that is shaking the joystick. You would have to hack it open and put an oscilloscope on the wires to determine where there is a good signal to tap into. Is it just a positive voltage somewhere or a PWM signal etc. ??? Once you determine that you need to choose a proper Input on one of the Phidgets. Somehow you need to get a somewhat "clean" signal to deliver to a Phidget input and then you can read that in your code and decide how to handle that in your code and output it to your platform set up. If you are lucky, it's just a DC signal which drives an unbalanced motor and you can use that DC signal on a 0/16/16 input to read when it's on or off.
Take a look at the type of inputs offered on the IFK's here to see what you could match it up with:
http://www.phidgetsusa.com/tutorials/tutorial_IFKdifferences.asp
One other choice is the Voltage Sensor:
http://www.phidgetsusa.com/cat/viewproduct.asp?category=5000&subcategory=5100&SKU=1117
--outputting the signals--
Again, look at the IFK's for what outputs we offer. We also have the servo controller which outputs a standard hobby servo PWM signal:
http://www.phidgetsusa.com/cat/viewproduct.asp?category=2000&subcategory=2100&SKU=1001
This can only be used for hobby level servos, not the industrial strength servos you would need to move a platform with a human on it. But you could maybe make use of it somehow to transfer the signal to something strong if you are good at electronics. See this post to read about how to transfer the servo controller PWM into a DC motor controller signal: (3rd post in thread)
http://www.phidgetsusa.com/forums/showthread.php?t=296
(IFI also offers a 24 volt controller)
Otherwise you would have to use the outputs on the 0/16/16 or 0/0/4 to just turn on large voltage/amp loads to motors etc.
--for reading just the joystick position--
Take a look at this tutorial which teaches how to tap into the potentiometers on a joystick to read it's position:
http://www.phidgetsusa.com/tutorials/tutorial_simple_joystick3.asp
The other option is to use DirectX with a MS language to read joystick inputs. Here's another post on the subject: (see the last post in the thread) http://www.phidgetsusa.com/forums/showthread.php?t=179 Using this method lets you avoid hacking into the joystick at all.
For joystick output to control the FS game, obviously that already is happening in normal use, you would have to tap into it and use Phidgets and your own custom written program to build a moving platform on the "side." That sort of functionality is outside what FS2Phidget does so FS2Phidget wouldn't be of any help there.
Tapping into the force feedback to output the "rattle" to a platform is a very good idea. I never thought of that. I'm sure it could be done. In fact, maybe directX can read that also and you could avoid hacking the joystick to read the rattle and avoid using Phidget inputs all together if so. Then you would just need to figure out the output half of the project. For rattle you simply would need to put a decent sized motor with an off balanced weight on the shaft to rattle the platform. Turning it on and off with the 0/0/4. If you want to make it a variable speed rattle then you would have to get an analog reading of the intensity of the rattle from the joystick and then output that to the servo controller proportionally, then use the IFI speed controller to transfer that into a motor speed signal to drive a 12 or 24 volt motor with an unbalanced weight on the shaft. (Just like a pager or cell phone vibrate motor)
As far as tilting a platform... no one has figured out a solution that can take a Phidget output and send it to something that strong yet while controlling the position. I'd love to see someone find a creative solution!
Let us know if you tackle this project and get something working!
I'm going to post this email into the forums because the project is a good one and I want other people to hear about it.
Matt
The question is Where do I begin to duplicate the JS I/O motions into a floor mounted platform upon which a chair can be mounted??????
The signals that cause the JS to react, can that be used to duplicate the input feedback actions, as well as the user movement of the JS - to a platform upon which a seat, along with the monitor, JS, mouse and keyboard of course would be mounted in such a manner that all input and output motions of th SWFF2 JS can be duplicated in the platform thereby simulationg not only the action of the 'pilot and plane' but outside influences (ground fire, damage, stress) as well?????
--- Matt's Reply ---
Hi Edward,
Okay, For joystick shake/feedback, how to do this depends upon what that signal is that is shaking the joystick. You would have to hack it open and put an oscilloscope on the wires to determine where there is a good signal to tap into. Is it just a positive voltage somewhere or a PWM signal etc. ??? Once you determine that you need to choose a proper Input on one of the Phidgets. Somehow you need to get a somewhat "clean" signal to deliver to a Phidget input and then you can read that in your code and decide how to handle that in your code and output it to your platform set up. If you are lucky, it's just a DC signal which drives an unbalanced motor and you can use that DC signal on a 0/16/16 input to read when it's on or off.
Take a look at the type of inputs offered on the IFK's here to see what you could match it up with:
http://www.phidgetsusa.com/tutorials/tutorial_IFKdifferences.asp
One other choice is the Voltage Sensor:
http://www.phidgetsusa.com/cat/viewproduct.asp?category=5000&subcategory=5100&SKU=1117
--outputting the signals--
Again, look at the IFK's for what outputs we offer. We also have the servo controller which outputs a standard hobby servo PWM signal:
http://www.phidgetsusa.com/cat/viewproduct.asp?category=2000&subcategory=2100&SKU=1001
This can only be used for hobby level servos, not the industrial strength servos you would need to move a platform with a human on it. But you could maybe make use of it somehow to transfer the signal to something strong if you are good at electronics. See this post to read about how to transfer the servo controller PWM into a DC motor controller signal: (3rd post in thread)
http://www.phidgetsusa.com/forums/showthread.php?t=296
(IFI also offers a 24 volt controller)
Otherwise you would have to use the outputs on the 0/16/16 or 0/0/4 to just turn on large voltage/amp loads to motors etc.
--for reading just the joystick position--
Take a look at this tutorial which teaches how to tap into the potentiometers on a joystick to read it's position:
http://www.phidgetsusa.com/tutorials/tutorial_simple_joystick3.asp
The other option is to use DirectX with a MS language to read joystick inputs. Here's another post on the subject: (see the last post in the thread) http://www.phidgetsusa.com/forums/showthread.php?t=179 Using this method lets you avoid hacking into the joystick at all.
For joystick output to control the FS game, obviously that already is happening in normal use, you would have to tap into it and use Phidgets and your own custom written program to build a moving platform on the "side." That sort of functionality is outside what FS2Phidget does so FS2Phidget wouldn't be of any help there.
Tapping into the force feedback to output the "rattle" to a platform is a very good idea. I never thought of that. I'm sure it could be done. In fact, maybe directX can read that also and you could avoid hacking the joystick to read the rattle and avoid using Phidget inputs all together if so. Then you would just need to figure out the output half of the project. For rattle you simply would need to put a decent sized motor with an off balanced weight on the shaft to rattle the platform. Turning it on and off with the 0/0/4. If you want to make it a variable speed rattle then you would have to get an analog reading of the intensity of the rattle from the joystick and then output that to the servo controller proportionally, then use the IFI speed controller to transfer that into a motor speed signal to drive a 12 or 24 volt motor with an unbalanced weight on the shaft. (Just like a pager or cell phone vibrate motor)
As far as tilting a platform... no one has figured out a solution that can take a Phidget output and send it to something that strong yet while controlling the position. I'd love to see someone find a creative solution!
Let us know if you tackle this project and get something working!
I'm going to post this email into the forums because the project is a good one and I want other people to hear about it.
Matt