1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

gSeat

gSeat

including using the GS-4 with SimTools
Sticky

Controlling the original GS-4 and DIY G-Seats with SimTools

Simtools 2.4 setup to prevent negative vales and movement

► simtools
To prevent negative vales and movement take @yobuddy's advice and use SimTools v2.4, then allocate a '0' for the min value in Sway and Roll.

This basically turns off the negative inputs for this DOF

We should be able to do this without modified plugins like this. :cheers
First Game Engine needs to be in "Expert" mode, this gives us separate Min/Max files for both (a) and (b) Axis Assignments.
Then setup you axis assignments like this.

Notice this is the - (a) Axis Assignments.
[​IMG]

Notice this is the - (b) Axis Assignments.
[​IMG]

Then in Tuning Center, make sure both sets of Min/Max settings for (a) & (b) Axis assignments are the same, except for sway.
For (a) Axis Assignment use a sway like this.
[​IMG]

And for (b) Axis Assignments use a sway like this.
[​IMG]

What you have essentially done here is turn off sway in one direction for each axis (the 0 turns them off in that direction.)
Now all you have to do is change your interface output.
Wherever you are using <Axis2a> Change it to <Axis2b>.

With this example above, all game plugins should be usable without modification.
If anything in the example needs more explaining, let me know!
Take care, :thumbs
yobuddy

►in your code:
We're sending 8 bits to Arduino as per interface settings, so that means values between 0 and 255. 0-127 is -ve and 128-255 is positive (heave/surge)

I can't do -ve DOF so I have this line that clips anything 0-127 and 128 is minimum

if (actuatorPosition[currentActuator]<128) actuatorPosition[currentActuator]=128;

So now the values are 128-255 and these are mapped to the values which go to the servo as per below. These numbers vary servo by servo and with ASMC/E you even need to tweak for individual servos depending on how the tiny pots might have been adjusted for sensitivity.

Using SimTools with SimExperience GS4 G-Seat

In SimTools Interface Settings just use these settings with the Serial Interface: https://www.xsimulator.net/community/threads/simtools-and-simxperience-gs-4.7050/#post-127901

* Interface_Profile *
BPS:115200
DataBits:8
Parity:None
StopBits:1
OutPutBits:7
OutPutType:Binary
StartupOutput:<241><64><0><67><241><64><1><68><241><64><2><69><241><64><3><70><241><64><4><71><241><64><5><72><241><64><6><73><241><64><7><74><241><64><8><75><241><64><9><76><241><64><10><77><241><64><11><78><241><64><12><79><241><64><13><80><241><64><14><81><241><64><15><82><241><22><63><122><63><122><63><122><63><122><64><5><63><122><64><5><63><122><63><122><63><122><63><122><63><122><64><5><63><122><64><63><122><0>
StartHW:10
InterfaceOutput:<241><22><Axis3><0><Axis4><0><Axis3><0><Axis4><0><Axis5><0><Axis6><0><Axis5><0><Axis6><0><Axis3><0><Axis4><0><Axis3><0><Axis4><0><Axis5><0><Axis6><0><Axis5><0><Axis6><0><0>
PacketRate:5
ShutdownOutput:<241><65><0><68><241><65><1><69><241><65><2><70><241><65><3><71><241><65><4><72><241><65><5><73><241><65><6><74><241><65><7><75><241><65><8><76><241><65><9><77><241><65><10><78><241><65><11><79><241><65><12><80><241><65><13><81><241><65><14><82><241><65><15><83>
StopHW:10

Arduino code for servo G-Seats

***** To prevent negative values and movement take @yobuddy's advice and use SimTools v2.4, then allocate a '0' for the min value in Sway and Roll.

***** Arduino code for G-Seats by @Spit40: https://www.xsimulator.net/community/threads/007-g-seat-ultra-compact-servo-based.10470/#post-139756

***** RC servo Code for Arduino UNO - 2DOF - Expandable 2.0: by eaorobbie
http://www.xsimulator.net/community/marketplace/rc-model-code-for-arduino-uno-2dof-expandable.89/
https://www.xsimulator.net/community/threads/rc-model-for-motion-simulation.4600/
interface setup - IMPORTANT - Assuming a 2DOF for SimTools 2 the Interface Output should be set like this R<Axis1a>~L<Axis2a>~

and for expanding code to use more servo http://www.xsimulator.net/community/threads/my-project-guide-me.5682/#post-59262
To add servos to my code , for example to include 4DOF with my code

Line 9 - How many Servos to use.
const int kActuatorCount = 4;

Line 13 - The Identifier used for Servo
const char kActuatorName[kActuatorCount] = { 'R', 'L' , 'F', 'B' };

Line 14 - Where is Servo is connected
const int kPins[kActuatorCount] = {3, 5, 6, 9};

Line 15 - 17 - Sets the scaleing in degrees of movement used , this is set for 180 deg if counting from 0
const int kActuatorScale[kActuatorCount][2] = { { 0, 179 } , // Right Actuator scaling
{ 179, 0 } , // Left side Actuator scaling
{ 179, 0 } , // Front side Actuator scaling
{ 179, 0 } }; // Back side Actuator scaling

Line 21 - Sets the Initial position of servo when in starts in Degree's
int actuatorPosition[kActuatorCount] = {90, 90, 90, 90};

Note in lines 15-17 if servo moves the wrong direction you can simply invert them by changing the scaling.

[​IMG]

DIY pneumatic G-Seat by xxpelle

Check out @xxpelle's innovative servo driven pneumatic G-Seat: https://www.xsimulator.net/communit...imulator-dof-reality.8570/page-38#post-163816

Material list for a self-constructed pneumatic G-seat: https://www.xsimulator.net/communit...imulator-dof-reality.8570/page-39#post-163957

Settings: https://www.xsimulator.net/communit...imulator-dof-reality.8570/page-43#post-166682

RC Arduino code: https://www.xsimulator.net/community/threads/my-vr-simrig-h2-from-dof-reality.12519/#post-167010

4 x CYS-S8218 40 kg Metallgetriebe Digital High Torque HV Servo
"https://www.ebay.de/itm/CYS-S8218-4...728415?hash=item2ab0ac9b5f:g:wzgAAOSwjYdbYAYG"

1 x ARDUINO UNO R3 ATmega328P ATmega16U2 Development Board with USB Cable Pro
"https://www.ebay.de/itm/ARDUINO-UNO...622984?hash=item1a47cacdc8:g:~hEAAOSwbtVZUykL"

1 x DC 5V 30A 150W Power Supply
"https://www.ebay.de/itm/DC-5V-24V-2...hash=item33ec198822:m:m461IrkShu8mu025YOI1anA"

4 x Kistenband 150x35mm
"https://www.ebay.de/itm/Kistenband-...hash=item2cd73fd41f:m:mZQabYzC5rphaJmpWjIiVsg"

4 x Montagekissen 17x15cm
"https://www.ebay.de/itm/4x-Montagek...714612?hash=item3fa94386f4:g:TfgAAOSwDxZbfnF6"

4 x Montagekissen 27x13cm
"https://www.ebay.de/itm/PDR-Montage...798642?hash=item4d7be09932:g:MYcAAOSwImRYWkdX"

4 x T-piece hose connector plastic POM 5mm
"https://www.ebay.de/itm/T-Stuck-Sch...hash=item211651a386:m:moCJjtEYzBSTkw-jk65yIFA"

1 x Cable tie assortment
"https://www.ebay.de/itm/1000-Stuck-...956601?hash=item1a3138d039:g:fsQAAOSwv89ZeWls"

Fabric for the pillows "27x13cm"
"https://www.ebay.de/itm/Polsterstof...hash=item33f2d2d566:m:mRRG2fzUg92raAhRdqgpV3A"

Velcro fasteners to fix the pillows "27x13cm on the seat and 17x15cm on the pump"
"https://www.ebay.de/itm/Klettband-s...253293?hash=item33e222a4ad:g:mV8AAOSw6M9bsfZF"








[​IMG]

[​IMG]

[​IMG]

[​IMG]

DIY pneumatic Gseat + Office chair traction loss by Jumping Coin

gHead gHelmet gSkull DIY systems

► here is a functionnal gHead bowden cable system made by sberns!:popcorn


► here a bladder gHead system by @Banfy
Having your head being moved by an external device feels really like having a helmet with G-Force.
Finally i have just put a bladder behind my head, under the seat cover (red spot) and it give quite good results considering how simple it is to implement ;-)

I can set it either for breaking or accelerating. I prefer the acceleration mode (simulating the helmet being compressed to the seat)
[​IMG]
[​IMG]

G Helmet by means of propulsive air jets
[​IMG]

► Frex HeadMotion system
2013 system => https://www.xsimulator.net/community/threads/frex-motion-head-system.4991/
https://www.facebook.com/FrexGP/videos/frex-head-motion-system-prototype/738851742814563/

2020 system => https://www.facebook.com/FrexGP/videos/frex-head-motion-system-prototype/738851742814563/
upload_2021-3-2_16-11-38.png

►video from Haptec

[​IMG]

► concept from @BlazinH
https://www.xsimulator.net/community/threads/jiffy-g-seat-and-g-skull.14052/
I use springs also but it appears for a different reason. I use torque only motor drivers therefore when a force ceases there is not a return to what would be considered neutral position because positional feedback is not present. In real life your head naturally snaps back to a position that feels natural and that's how my system works too. However there is some inherent resistance to movement in my actuators drivetrains so I use springs to provide just enough counterforce so your head doesn't feel a resistance when righting itself.

► an idea from @Trigen
https://www.xsimulator.net/communit...idea-phase-and-minor-hw-building.14526/page-2