connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#1Salut les fous, J'arrive!
Avant tout : je suis un parfait débutant en électronique et écriture de code. j'essaie de lire le max de fu**ing manuels, mais j'en appelle à votre "éxpérience pratique"
le projet : Connecter un siège MK4 d'alphajet, récupéré dans un hangar poussiéreux, dans DCS afin d'en utiliser quelques fonctions mécaniques retranscrites en numérique ( ingame), mais sur plusieurs aéronefs.
l
les fonctions :
-éjection /poignée haute, poignée basse.
-frein de parc(sauf FA 18) /historiquement, "poignée" pour activer la bouteille oxy secourt
-canopy ouvert/fermé/maintien de position. /historiquement, libération des sangles de rappel de jambes
avec sur le principe, deux contacteurs et non 3, le premier déclaré dans DCS comme close canopy else open, et le deuxième en maintien de position pour les appareils DCS qui l'acceptent.
le matériel :
Carte arduino uno R3
contacteurs ou interrupteurs momentanés de fin de course
j'aimerai éviter de rajouter des résistances externes dans le circuit et plutôt utiliser la résistance intégrée dans l'arduino pour le "pullup"
Donc sur le papier, c 'est simple!
Mais
Étant donné que je ne vais pas dédier mon cockpit à un seul avion, instinctivement, je me dis que l'idéal serait de pourvoir avoir sur le pc une sortie arduino en directX, me permettant d'assigner l'action (ou le bouton directX) à une ligne keybind dans DCS, afin de changer de fonction dans dcs si je le désire, mais surtout, l'assigner facilement à tous les avions
1/ est-ce possible?
2/a/ si non, est ce que je peux écrire toutes les lignes de code pour chaque avions dans le même programme, et il pioche la bonne ligne en fonction de l'avion qu'il reconnait( celui dans lequel je serai)?
2/b/ dois-je écrire un programme par avion, que je lancerais avant chaque changement d'avion? sans doute plus propre en terme de code, mais plus contraignant à l'utilisation...?
3/ Mec, tu vas te casser les coui la tête pour rien par rapport à tes besoins, prends plutôt un BBI32 qui est reconnue comme un joy.
https://www.leobodnar.com/shop/index.ph ... cts_id=205
( oui mais, j'ai lu que c'était moins stable et plus capricieux qu'une arduino....???)
Pour l'instant, j 'en suis la :
Déjà, est ce que j 'ai juste?
et vers quelle strat de code m'orienter?
A plus dans l bus
EDIT
J'oubliai :
les interrupteurs fin de course, ont trois connexions : COM/NO/NC
on est d'accord que je connecte en NOpen-> grnd et COM sur 2 ou 3 ou4 ou 5ou... donc au 5V puisque je passe par le pullup intégré?
Avant tout : je suis un parfait débutant en électronique et écriture de code. j'essaie de lire le max de fu**ing manuels, mais j'en appelle à votre "éxpérience pratique"
le projet : Connecter un siège MK4 d'alphajet, récupéré dans un hangar poussiéreux, dans DCS afin d'en utiliser quelques fonctions mécaniques retranscrites en numérique ( ingame), mais sur plusieurs aéronefs.
l
les fonctions :
-éjection /poignée haute, poignée basse.
-frein de parc(sauf FA 18) /historiquement, "poignée" pour activer la bouteille oxy secourt
-canopy ouvert/fermé/maintien de position. /historiquement, libération des sangles de rappel de jambes
avec sur le principe, deux contacteurs et non 3, le premier déclaré dans DCS comme close canopy else open, et le deuxième en maintien de position pour les appareils DCS qui l'acceptent.
le matériel :
Carte arduino uno R3
contacteurs ou interrupteurs momentanés de fin de course
j'aimerai éviter de rajouter des résistances externes dans le circuit et plutôt utiliser la résistance intégrée dans l'arduino pour le "pullup"
Donc sur le papier, c 'est simple!
Mais
Étant donné que je ne vais pas dédier mon cockpit à un seul avion, instinctivement, je me dis que l'idéal serait de pourvoir avoir sur le pc une sortie arduino en directX, me permettant d'assigner l'action (ou le bouton directX) à une ligne keybind dans DCS, afin de changer de fonction dans dcs si je le désire, mais surtout, l'assigner facilement à tous les avions
1/ est-ce possible?
2/a/ si non, est ce que je peux écrire toutes les lignes de code pour chaque avions dans le même programme, et il pioche la bonne ligne en fonction de l'avion qu'il reconnait( celui dans lequel je serai)?
2/b/ dois-je écrire un programme par avion, que je lancerais avant chaque changement d'avion? sans doute plus propre en terme de code, mais plus contraignant à l'utilisation...?
3/ Mec, tu vas te casser les coui la tête pour rien par rapport à tes besoins, prends plutôt un BBI32 qui est reconnue comme un joy.
https://www.leobodnar.com/shop/index.ph ... cts_id=205
( oui mais, j'ai lu que c'était moins stable et plus capricieux qu'une arduino....???)
Pour l'instant, j 'en suis la :
Déjà, est ce que j 'ai juste?
et vers quelle strat de code m'orienter?
A plus dans l bus
EDIT
J'oubliai :
les interrupteurs fin de course, ont trois connexions : COM/NO/NC
on est d'accord que je connecte en NOpen-> grnd et COM sur 2 ou 3 ou4 ou 5ou... donc au 5V puisque je passe par le pullup intégré?
Dernière modification par Flav1 le dim. oct. 22, 2023 12:54 pm, modifié 1 fois.
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#2Salut.
Pour commencer c'est un super projet!!!
Après, vu ton niveau en électronique/code et le fait que tu prefererais avoir a gérer des boutons directX je pense vraiment que la meilleur solution serait de partir sur une carte Leobodnar ou une carte équivalente. Je ne sais pas ou tu as vu que ces cartes était instables car pour moi, au contraire, elle sont d'une fiabilité a toute épreuve. J'ai deux BU0836 depuis des années et je n'ai jamais rencontré aucun problèmes. Tu pourras même y connecter des axes analogiques.
Si tu veux rester sur Arduino il existe des firmwares tout prêt comme MMjoy par exemple. Tu n'auras aucune ligne de code a écrire mais c'est pas toujours simple a mettre en oeuvre (je crois que ce n'est plus supporté mais ça marche bien, instructions de mise en oeuvre parfois un peu flou car ne s'appyant pas sur la dernière version, IHM pas très ergonomique,...).
Tu as aussi la solutuion DCS-BIOS, uniquement compatible avec DCS et tu devra charger le code de l'avion a chaque fois que tu change de monture...
Pour commencer c'est un super projet!!!
Après, vu ton niveau en électronique/code et le fait que tu prefererais avoir a gérer des boutons directX je pense vraiment que la meilleur solution serait de partir sur une carte Leobodnar ou une carte équivalente. Je ne sais pas ou tu as vu que ces cartes était instables car pour moi, au contraire, elle sont d'une fiabilité a toute épreuve. J'ai deux BU0836 depuis des années et je n'ai jamais rencontré aucun problèmes. Tu pourras même y connecter des axes analogiques.
Si tu veux rester sur Arduino il existe des firmwares tout prêt comme MMjoy par exemple. Tu n'auras aucune ligne de code a écrire mais c'est pas toujours simple a mettre en oeuvre (je crois que ce n'est plus supporté mais ça marche bien, instructions de mise en oeuvre parfois un peu flou car ne s'appyant pas sur la dernière version, IHM pas très ergonomique,...).
Tu as aussi la solutuion DCS-BIOS, uniquement compatible avec DCS et tu devra charger le code de l'avion a chaque fois que tu change de monture...
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#3avec Arduino il y a aussi une carte reconnue en joystick un peu comme une warthog ou equivalent, j’ai pas encore eu le temps de tester.
cela évite l’écueil de la programmation arduino avec dcs-bios qui demande effectivement un programme a recharger à chaque changement de module.
beau projet ! :-)
e soir en rentrant je te retrouve les refs de la carte arduino « joystick »
cela évite l’écueil de la programmation arduino avec dcs-bios qui demande effectivement un programme a recharger à chaque changement de module.
beau projet ! :-)
e soir en rentrant je te retrouve les refs de la carte arduino « joystick »
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#4ok, merci les gars.
bon à vrai dire j 'ai déjà une arduino...donc pour l'instant je vais rester dessus... et essayer. ( mais restez dans le coin parce que c 'est pas impossible qu'il y ai un unoR3 à vendre dans pas longtemps)
donc si j 'ai bien compris je devrai charger par avion. Dans la pratique, une fois que j 'ai fais un programme par avion, c'est comment après? genre un exe ou un fichier sur lequel je clique en fonction, ou c'est l'histoire de "téléverser etc...?( parce que ça c 'est vraiment plus contraignant non?)
bon à vrai dire j 'ai déjà une arduino...donc pour l'instant je vais rester dessus... et essayer. ( mais restez dans le coin parce que c 'est pas impossible qu'il y ai un unoR3 à vendre dans pas longtemps)
donc si j 'ai bien compris je devrai charger par avion. Dans la pratique, une fois que j 'ai fais un programme par avion, c'est comment après? genre un exe ou un fichier sur lequel je clique en fonction, ou c'est l'histoire de "téléverser etc...?( parce que ça c 'est vraiment plus contraignant non?)
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#5tu ouvres le logiciel de programmation arduino, ton sketch correspondant à ton avion, tu repères le port COM de ta carte, tu televerses, et basta
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#6Pas si tu utilise MMjoy dont le but est de simuler un controleur de jeux.
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#7ok c 'est un peu lourdo je trouve, mais why not ( et merci pour le process)
ok, je vais regarder ca, je fini mon integration cockpit et mon cablage, et je regarderai ca merci.
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#8@Flav1, si tu n'es pas à une semaine près on peut se faire un discord sur arduino et DCS Bios
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#9Merci, c'est sympa, si je ne m'en sort pas, j'appelle au secourt
le câblage, et l’intégration cockpit, c 'est fait
PS, oui, quand tu commande une peau de mouton( façon Boeing) sur amazon, tu reçois une peau de grizzly.....
le câblage, et l’intégration cockpit, c 'est fait
PS, oui, quand tu commande une peau de mouton( façon Boeing) sur amazon, tu reçois une peau de grizzly.....
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#10C'est peut-être celui qui a bouffé le mouton
(\_/)
(_'.')
(")_(") "On obtient plus de choses avec un mot gentil et un pistolet qu'avec le mot gentil tout seul" Al Capone.
Mon pit
(_'.')
(")_(") "On obtient plus de choses avec un mot gentil et un pistolet qu'avec le mot gentil tout seul" Al Capone.
Mon pit
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#11Wow ! Ca envoie, ton pit
Plus qu'à faire les flancs ...
Plus qu'à faire les flancs ...
"J'critique pas le côté farce. Mais pour le fair-play, y'aurait quand même à dire !..."
Mon simpit de Mirage 2000-10
Mon simpit de Mirage 2000-10
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#12hey, salut voisin
merci
A droite il manque un joy que je n'ai pas réimplémenté pour le F16, ou F15 place arrière, mais oui effectivement, j'ai vue passé un bloque radio francais (la rouge et la verte) sur ebay...je me pose la question de jusqu'ou je vais..... , et des possibles fonctionnalités électronique hors déco tiptop
je suis ton thread, je te laisse faire d'abord
merci
A droite il manque un joy que je n'ai pas réimplémenté pour le F16, ou F15 place arrière, mais oui effectivement, j'ai vue passé un bloque radio francais (la rouge et la verte) sur ebay...je me pose la question de jusqu'ou je vais..... , et des possibles fonctionnalités électronique hors déco tiptop
je suis ton thread, je te laisse faire d'abord
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#13Pourquoi "voisin" ?
Tu es où ?
Tu es où ?
"J'critique pas le côté farce. Mais pour le fair-play, y'aurait quand même à dire !..."
Mon simpit de Mirage 2000-10
Mon simpit de Mirage 2000-10
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#14voisin de thread , sinon région parisienne.
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#15"J'critique pas le côté farce. Mais pour le fair-play, y'aurait quand même à dire !..."
Mon simpit de Mirage 2000-10
Mon simpit de Mirage 2000-10
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#16hello la team,
je me suis lancé!!!
l’éjection, marche nickel, régalade!
pour la verrière, actuellement, je me sert de cette commande parce que je ne trouve pas de solution " toute faite" avec "bort"
DcsBios::Switch3Pos canopySw("CANOPY_SW", PIN_A, PIN_B);
donc avec les deux positions que j'ai physiquement, ça ouvre, ça ferme...
Hors si j'étais en directX, je mapperais mon contacteur de fermeture en close else open, et mon deuxième contacteur en hold ( mécaniquement sur le siège c'est une position qui est cranté (et qui garde la position) Et j'aurais avec deux contacteurs, les 3 fonctions
donc comment faire pour programmer ca?
y'a bien ce code, mais je n'ai, pour résumer, qu'un switch 2pos.... puis-je le détourner en introduisant un if/else quelque part?
const byte canopySwPins[3] = {PIN_0, PIN_1, PIN_2};
DcsBios::SwitchMultiPos canopySw("CANOPY_SW", canopySwPins, 3);
je me suis lancé!!!
l’éjection, marche nickel, régalade!
pour la verrière, actuellement, je me sert de cette commande parce que je ne trouve pas de solution " toute faite" avec "bort"
DcsBios::Switch3Pos canopySw("CANOPY_SW", PIN_A, PIN_B);
donc avec les deux positions que j'ai physiquement, ça ouvre, ça ferme...
Hors si j'étais en directX, je mapperais mon contacteur de fermeture en close else open, et mon deuxième contacteur en hold ( mécaniquement sur le siège c'est une position qui est cranté (et qui garde la position) Et j'aurais avec deux contacteurs, les 3 fonctions
donc comment faire pour programmer ca?
y'a bien ce code, mais je n'ai, pour résumer, qu'un switch 2pos.... puis-je le détourner en introduisant un if/else quelque part?
const byte canopySwPins[3] = {PIN_0, PIN_1, PIN_2};
DcsBios::SwitchMultiPos canopySw("CANOPY_SW", canopySwPins, 3);
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#17c’est pour quel appareil ?
quand tu dis que tu n’as qu’un 2POS c’est du switch physique à disposition dont tu parles ?
sinon j’ai retrouvé la carte arduino détectée en justick USB, c’est la leonardo
y’avait déjà un post sur C6
viewtopic.php?t=190693
quand tu dis que tu n’as qu’un 2POS c’est du switch physique à disposition dont tu parles ?
sinon j’ai retrouvé la carte arduino détectée en justick USB, c’est la leonardo
y’avait déjà un post sur C6
viewtopic.php?t=190693
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#18FA18 par exemple...mais tous ceux qui l 'acceptent en fait.
Pour l’équivalence du Switch deux positions, c'est ce que j'ai cablé en fait. première image du post 9 ( pardon je sais pas mettre un lien direct),
j'ai en fait positionné deux contacteur de fin de course a l'avant et a l'arriere d'une"molette" ce qui equivaut je pense a un switch 2 pos
merci pour la ref, j'ai déjà une uno R3, mais a voir effectivement si ca me simplifie la vie...
Pour l’équivalence du Switch deux positions, c'est ce que j'ai cablé en fait. première image du post 9 ( pardon je sais pas mettre un lien direct),
j'ai en fait positionné deux contacteur de fin de course a l'avant et a l'arriere d'une"molette" ce qui equivaut je pense a un switch 2 pos
merci pour la ref, j'ai déjà une uno R3, mais a voir effectivement si ca me simplifie la vie...
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#19autre problématique :
Via DCS bios, la fonction d'éjection n'est pas présente sur tout les avions....
En fait, seul quelques avions ont réellement la fonction présente (cliquable cockpit pour résumer). Ceux qui ne l'ont pas, utilisent la fonction commune du jeu.
Par exemple pour le A10A/C/CII, je ne trouve pas la fonction dans l 'avion, hors DCS bios fonctionne par avion...( je ne trouve pas non plus la fonction commune d'ejection de DCS(jeu)) du coup je n'arrive pas à coder cette fonction via DCS BIOS pour, entre autre, le A10. une astuce?
Via DCS bios, la fonction d'éjection n'est pas présente sur tout les avions....
En fait, seul quelques avions ont réellement la fonction présente (cliquable cockpit pour résumer). Ceux qui ne l'ont pas, utilisent la fonction commune du jeu.
Par exemple pour le A10A/C/CII, je ne trouve pas la fonction dans l 'avion, hors DCS bios fonctionne par avion...( je ne trouve pas non plus la fonction commune d'ejection de DCS(jeu)) du coup je n'arrive pas à coder cette fonction via DCS BIOS pour, entre autre, le A10. une astuce?
Re: connexion siege MK4 ARDUINO DCSBIOS et discution stratégie code
#20Well....done.....(John)
Après plusieurs essais, un nombre d'heures incalculables pour utiliser l'arduino uno(R3) avec DCS BIOS ( ça reste simple par rapport à la montagne que je m'en faisait ) dans les conditions que je souhaitais ( éjection sur tous les appareils, canopy open/close/hold pour tous les appareils) et finalement être dans l'impasse ( car les entrées toutes faites n'existait pas_pas le niveaux pour les créer//et limitation du code LUA de chaque avions_), j'ai changé de strat, et réussi à passer la carte en JOY ( directX).
J'ai les problématiques de la gestion direct des keysbinds de DCS, qui malgré de récents progrès ( ajout des position off des boutons et des "shift") ne permettent pas toujours tout. Mais bon ça, ça fait 15 ans..... Ca reste plus facile a gérer comme ça ( en directX) je trouve.
So,
pour ceux que ça peux ou pourra aider :
TOUTES LES CARTES ARDUINO SONT SWITCHABLE EN DIRECTX( reconnu joystick), via UNOJOY. Merci pour vos pistes, ça m'a largement permit de trouver "ma solution".
Pour passer la carte (ici une UNO R3) en directX via UNOJOY :
https://www.youtube.com/watch?v=GrO8ZmxbOyI
ou/et
https://www.youtube.com/watch?v=GbHBgUKOhBY
et pour ceux qui comme moi, auront la galère de la librairie USB "atlibusbdfu.dll not found"
il existe cette procédure à faire en plus :
https://www.youtube.com/watch?v=Vd0F0XHzchY
Merci,
Enjoy, à plus in game
Fight!
EDIT : un dernier truc, pour l’éjection, étant donné que je passe par la fonction du jeux ou il faut faire trois fois le Ctrl E ( pas trouvé d'autre option), mais que je ne peux tirer qu'une seul fois ma poignée, je passe par un programme qui s'appel ANTIMICRO, afin de créer une macro sur le contacteur ( enfin l'entrée directX lié) qui m'intéresse.
Crtl E 0,1s, Ctrl E 0,1s, Ctrl E 0,1s. J'ejecte en 300ms... ca va....
Après plusieurs essais, un nombre d'heures incalculables pour utiliser l'arduino uno(R3) avec DCS BIOS ( ça reste simple par rapport à la montagne que je m'en faisait ) dans les conditions que je souhaitais ( éjection sur tous les appareils, canopy open/close/hold pour tous les appareils) et finalement être dans l'impasse ( car les entrées toutes faites n'existait pas_pas le niveaux pour les créer//et limitation du code LUA de chaque avions_), j'ai changé de strat, et réussi à passer la carte en JOY ( directX).
J'ai les problématiques de la gestion direct des keysbinds de DCS, qui malgré de récents progrès ( ajout des position off des boutons et des "shift") ne permettent pas toujours tout. Mais bon ça, ça fait 15 ans..... Ca reste plus facile a gérer comme ça ( en directX) je trouve.
So,
pour ceux que ça peux ou pourra aider :
TOUTES LES CARTES ARDUINO SONT SWITCHABLE EN DIRECTX( reconnu joystick), via UNOJOY. Merci pour vos pistes, ça m'a largement permit de trouver "ma solution".
Pour passer la carte (ici une UNO R3) en directX via UNOJOY :
https://www.youtube.com/watch?v=GrO8ZmxbOyI
ou/et
https://www.youtube.com/watch?v=GbHBgUKOhBY
et pour ceux qui comme moi, auront la galère de la librairie USB "atlibusbdfu.dll not found"
il existe cette procédure à faire en plus :
https://www.youtube.com/watch?v=Vd0F0XHzchY
Merci,
Enjoy, à plus in game
Fight!
EDIT : un dernier truc, pour l’éjection, étant donné que je passe par la fonction du jeux ou il faut faire trois fois le Ctrl E ( pas trouvé d'autre option), mais que je ne peux tirer qu'une seul fois ma poignée, je passe par un programme qui s'appel ANTIMICRO, afin de créer une macro sur le contacteur ( enfin l'entrée directX lié) qui m'intéresse.
Crtl E 0,1s, Ctrl E 0,1s, Ctrl E 0,1s. J'ejecte en 300ms... ca va....