DIY - Harnais simple effet

  • Hello,

    bon, le Trap se met au bricolage, ça va fumer....

    et je commence par demander un peu d'aide, mais c'est pour une bonne cause, tenter de faire fonctionner de façon très simple un tensionneur de harnais, pour les consoleux... et oui, ils ont droit eux aussi à leur part de bonheur.

    C'est comme pour un tensionneur déjà abordé dans le forum, merci à RacingMat d'avoir ouvert le bal, mais la version sur laquelle je tente d'y exploser mes neurones, serait plus simpliste.

    Un seul paramètre. On freine, et le harnais, les bretelles se tendent et vous plaquent au baquet. Et tenter de le faire de manière réaliste... en simulant, quoi.

    Aucune possibilité de récupérer une quelconque info dans le système console, xbox, sony et tuttiquanti... on va faire dans le rustique. Mais avec un peu de finesse.

    Ci-dessous, deux beaux croquis. Avec les codes correspondants.

    Le premier, 1 servo, avec alim, et un contacteur. Momentané. A monter sur pédalier, et quand on appui sur la dite pédale de frein, le contact se fait, et plus on garde le pied dessus, plus le servo va tendre les bretelles, et simuler la pression contre le dossier. Si on relâche, ca revient au repos, mais, astuce, si on relâche et qu'on ré-appui desuite, comme quand on pompe en freinage, le servo reppart immédiatement pour finir sa course... en gardant la pression déjà commencée... comme avec l'inertie qu'a la réalité d'un vrai freinage.

    Là où ça se complique pour moi, c'est que j'ai un second montage pour mettre un capteur hall, dans le pédalier, éviter un contact physique avec un bouton pressoir, et les emmerdes qui vont avec, casse, alignement du montage, maintenance...etc....

    Le montage fonctionne parfaitement pour allumer une led...

    Mais je ne sais pas comment remplacer le bouton pressoir du premier montage, par le capteur du second montage... et surtout; comment mixer les deux codes....

    Help, please...

    Le premier montage :

    2.3.134.175-608d6e02d2d57.jpg

    Afficher le Spoiler

    #include <Servo.h> //import de la bibliothéque Servo

    Servo accel; //création de l'objet Servo "accel"

    int pinServo=8; //pin de commande du servo

    int pinBouton=2;//pin de lecture du bouton poussoir et contact au grd

    int cumul=0; //variable d'appui

    void setup() {

    pinMode(pinBouton,INPUT_PULLUP); //mode INPUT_PULLUP pour le poussoir

    accel.attach(pinServo); //liaison de l'objet Servo au pin de commande

    Serial.begin(9600);//pour lecture sur la console (Optionnel)

    }

    void loop() {

    boolean etatBouton=digitalRead(pinBouton); //lecture de l'état du bouton

    //si le bouton est appuyé

    if (!etatBouton){// en mode INPUT_PULLUP on obtien 0 quand on appuie !

    cumul++; // on fait augmenter la valeur de la variable

    if (cumul>1000) //test limite d'augmentation

    cumul=1000;//mise à limite si dépassement

    }

    //si le bouton n'est pas appuyé

    else{

    cumul--; //on fait diminuer la valeur de la variable

    if (cumul<0) //test si limite de diminution

    cumul=0;//mise à la limite si dépassement

    }

    Serial.println(cumul); //on affiche la valeur sur la console (Optionnel)

    int angle=map(cumul,0,1000,0,179); //on transforme en angle

    accel.write(angle); //on positionne le servo

    }

    Le second morceau :

    2.3.134.175-608d73a0a1c09.jpg">

    Afficher le Spoiler

    int Led = 13;//LED pin

    int sensor = 3; //sensor pin

    int val; //numeric variable

    void setup()

    {

    pinMode(Led, OUTPUT); //set LED pin as output

    pinMode(sensor, INPUT); //set sensor pin as input

    }

    void loop()

    {

    val = digitalRead(sensor); //Read the sensor

    if(val == LOW) //when magnetic field is detected, turn led on

    {

    digitalWrite(Led, HIGH);

    }

    else

    {

    digitalWrite(Led, LOW);

    }

    }


    Bien, si un bon chirurgien aux doigts de fée pouvait tenter la greffe.... ce serait cool...

    Pour encourager, je poste photos, codes, croquis, pour ceux que ça intéresse...

    :coucou:

    Message modifié 2 fois, dernière modification par Trapanelle (1 mai 2021 à 17:29).

  • oh, oh ! le gars commence par dire que c'est plus simpliste que le tensionneur 2DOF et ensuite décrit une usine à gaz !!! :hihihi:

    - pour la première partie, il te faut rajouter un réglage du temps de réaction : là tu incrémentes à chaque boucle du microprocesseur

    mais tu vas devoir faire des ajustements : vitesse réelle du servo / durée pendant laquelle tu veux que ça augmente proportionnellement

    il te faudra utiliser la notion de millis() je pense et pas seulement un nb de boucles....

    - pour le capteur hall, l'alignement du montage sera pas super simple non plus...

    edit : ce n'est pas un capteur hall proportionnel donc sa tolérance sera supérieure

    - Je trouve dommage de ne pas utiliser une info proportionnelle...

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • J'ai procédé comme tout bon savant fou à de l'expérimentation.. une board pour connecter carte nano, servo, micro modèle pour éviter le rajout d'une alim plus costaud, et le bouton poussoir...

    Fonctionnement impec.

    J'ai remplacer le bouton par une mini carte hall, le câble jaune en d2, et le plus et le moins reliés à l'arrivée du courant sur la board.

    A chaque fois que l'aimant passe à portée du capteur, c'est comme si j'appuyais sur un poussoir, le servo entame sa rotation... plus je reste au "contact", plus le servo va loin... si je m'éloigne, il "redescend"... et remonte dès que je me rapproche....

    Mouvement naturel, qui me convient pour tendre un harnais...

    Je sais que c'est pas aussi réaliste que si j'utilisais les données du jeu, mais sur consoles, c'est même pas la peine d'y penser.

    Je dirais que c'est un peu comme un buttkicker, ce ne sont pas les données télémétriques du jeu, mais le son traduit suffisamment d'infos pour nous faire croire à la réalité des secousses....

    Je vais corriger le croquis, et le reposter....

    Message modifié 2 fois, dernière modification par Trapanelle (1 mai 2021 à 21:32).

  • Je précise, que effectivement ce n'est pas du proportionnel... avec quoi cela pourrait être interprété puisque pas de données... C'est la durée de la pression sur la pédale de frein, du maintient de sa position enfoncée qui donne l'importance de la rotation du servo...

    Je me suis dis qu'à 200 km/h, une pression légère ou forte, à part les contraintes sur la mécanique, le harnais sera tendu pareil... c'est la durée de la constriction qui sera différente, le temps de la décélération....

  • Le code :

    Afficher le Spoiler

    #include <Servo.h> //import de la bibliothéque Servo

    Servo accel; //création de l'objet Servo "accel"

    int pinServo=8; //pin de commande du servo

    int pinHall=2; //pin de lecture du capteur hall

    int cumul=0; //variable d'appui

    void setup() {

    pinMode(pinHall,INPUT); //mode INPUT pour le poussoir

    accel.attach(pinServo); //liaison de l'objet Servo au pin de commande

    Serial.begin(9600);//pour lecture sur la console (Optionnel)

    }

    void loop() {

    boolean etatBouton=digitalRead(pinHall); //lecture de l'état du bouton

    //si le bouton est appuyé

    if (!etatBouton){// en mode INPUT on obtien 0 quand on appuie !

    cumul++; // on fait augmenter la valeur de la variable

    if (cumul>1000) //test limite d'augmentation

    cumul=1000;//mise à limite si dépassement

    }

    //si le bouton n'est pas appuyé

    else{

    cumul--; //on fait diminuer la valeur de la variable

    if (cumul<0) //test si limite de diminution

    cumul=0;//mise à la limite si dépassement

    }

    Serial.println(cumul); //on affiche la valeur sur la console (Optionnel)

    int angle=map(cumul,0,1000,0,179); //on transforme en angle

    accel.write(angle); //on positionne le servo

    }

    Le croquis :

  • La question qui va se poser, n'ayant qu'un seul effet... freinage, ca se tend.... j'ai un harnais avec 2 sangles qui passent aux épaules... alors que faut il faire de mieux ?

    Chaque bretelle a son servo (35kg), ou je "relie" les deux bretelles et je met qu'un seul servo de 60kg... ? zatizekouscheune !

    :? :euh2:

    Message modifié 1 fois, dernière modification par Trapanelle (1 mai 2021 à 21:53).

  • je vois que tu n'as pas ménagé tes efforts, ça avance bien !!

    au fait, tu as quoi comme pédalier ? s'il n'est pas avec une load-cell alors l'angle d'appui aurait pu aussi donner la force du freinage ? mais si tes tests te confirment que la durée marche bien, ça roule :)

    1 servo :

    câblage plus simple

    risque de chauffer plus ?

    moins de bruit

    2 servos :

    câblage plus compliqué

    budget de 10€ de plus

    si un pête, tu peux éventuellement continuer avec un seul ?

    :jecpa:

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • C'est un Thrustmaster t3pa Pro...

    Déjà modé pour un accélérateur plus fluide, un freinage avec hydraulique, l'embrayage est en attente d'usinage d'une piéce... pas trouvé qui pourrait me le faire...

    J'ai bien envie de tenter avec un seul servo de 60kg... :euh2:

    Si il casse, ca me fera une rentrée au stand... :B

  • Au fait, si, je dis bien si, montage avec deux servos, je peux utiliser une seule carte arduino, une seule alim, et les deux servos connectés aux mêmes pins ?

    Message modifié 1 fois, dernière modification par Trapanelle (1 mai 2021 à 23:18).

  • Si choix servo unique : en 270°

    2.3.134.175-608dc78a2b670.jpg

    Avec son alim : ?

    2.3.134.175-608dc7bbb8215.jpg


    Si choix de deux servos identiques : en 270°

    2.3.134.175-608dc7e7ab8e5.jpg

    Avec une alim unique pour les deux :

    2.3.134.175-608dc80fbdc1e.jpg


    Mais dans les deux types de montages, la petite carte arduino nano, peut être alimentée sur la même alim ? Ou il en faut une dédiée ? de 5v...

    Message modifié 2 fois, dernière modification par Trapanelle (1 mai 2021 à 23:32).

  • Je me tâte pour savoir si 270° c'est pas trop... sachant que la, les sangles ne vont pas s'enrouler sur elles mêmes, mais juste être tendues, plaquées contre le torse.

    Du 180° ne serait pas plus judicieux ?


    Je pensais, m'installer dans le cockpit, mettre les bretelles, distendues, appuyer sur le frein à fond, et une fois le servo au max, serrer raisonnablement les sangles, ainsi, la pression max serait contrôlée.

    C'est l'épaisseur de gras du pilote qui absorberait le surplus de pression...

    :B

  • Wotever va bientôt proposer son système DIY

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Core I5-12600K - ASUS Z690 - Sound BlasterX AE-5 Plus - RTX 3080 FE - 32Go RAM - Châssis Motedis X-Dream - Volant Thomconcept Simucube 1 small mige 130ST-M10010 (20 Nm) Biss-c - Samsung 32/9 G9 49" 5120x1440 - Bass-shakers - Heusinkveld Pédales Sim Ultimate+ - Heusinkveld Handbrake - Shifter Manu-Factory SSH14 - OSP Simpro Vocore 5"

    Mon cockpit     Mon SimXperience G-Belt      Mes Dash

    Message modifié 1 fois, dernière modification par Herve45 (2 mai 2021 à 08:23).

  • Beau projet... pas pour moi. Enfin, pas pour mes possibilités. J'admire, mais je cherche à concevoir un bazar qui puisse être utilisé avec console de jeu... donc sans aucune possibilité de récupérer de quelconques données de télémétrie....

  • Herve45 : oui, c'est déjà posté là : tensionneur de harnais 2DOF

    >montage avec deux servos, je peux utiliser une seule carte arduino, une seule alim, et les deux servos connectés aux mêmes pins ?

    Trapanelle : oui, oui et oui

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

  • Bon test du jour,

    deux servos sur ma carte, ils se désynchronisent au bout d'une moment... donc c'est le chao. Ca tombe bien, un servo, largement suffisant pour un seul mouvement...

    Je teste sur le bureau avec un 25 kg, et déjà ca tire bien... je fais avec ce que j'ai sous la main avant de commander.

    Dans le code, si je change la valeur

    cumul=390;//mise à limite si dépassement

    qui était à 1000, le servo va beaucoup plus vite...

    RacingMat effectivement, il manque un truc... je sais pas comment dire... il faudrait que le servo démarre de 0 en douceur, puis accélère dans sa réponse, jusqu'au max, puis revienne vers le 0 plus vite... qu'on sente une différence de vitesse de tension de la bretelle entre la phase d'écrasement et un relacher plus... libre, plus rapide...

    Mais ca, je suis incapable de le coder....

  • hello :)

    j'ai vu ta question sur la progressivité que tu souhaites : voici une proposition à tester ! le code se compile OK

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

    Message modifié 1 fois, dernière modification par RacingMat (19 août 2022 à 14:57).

  • Merci, je viens de voir la réponse... je ressors le bazar (platine montage et servo), et je teste..... vais certainement terminer l'installation du harnais, du coup.... supppeeeerrrr !!!!!

  • tu fais tes tests avec la 1ère ligne avec debug à true :

    cela activera la comm série

    tu peux ainsi valider que ta valeur à 1000 est bonne selon la durée de contact de ton interrupteur : message "écrétage"


    Code
    #define DEBUG_SERIAL true

    Ensuite tu passes à false et le code compilé s'allègera de la partie Serial et l'arduino gagnera en réactivité ;)

    Ensuite tu peux tester des valeurs différentes pour "relachement" et voir le ressenti. Plus c'est un grand nombre plus le relâchement sera rapide.

    ► La liste de mes tutos 

    Gseat à presssion, harnais 2DOF, Simucube 1 mige normal, CSP V3, TH8RS moddé, FaM loadcell, ThroneThumper, triple 24"

    ►Les impacts de la 5G ? doc en français exposition 24H/24 à des niveaux de rayonnement RF (+20 000 satellites braquant leur faisceaux sur la terre + stations relais au sol). Si vous ne voulez pas muter à seule fin d'avoir un frigo connecté, signez la pétition

    Message modifié 2 fois, dernière modification par RacingMat (19 août 2022 à 15:02).