Arduino switch ect...

Fabrication de cockpit et divers ( palonnier , panels ..) c est ICI
Avatar de l’utilisateur

Topic author
flomalbak
Apprenti-Mécano
Apprenti-Mécano
Messages : 268
Inscription : 12 mai 2019

Arduino switch ect...

#1

Message par flomalbak »

Bonjour à tous,

Comme certain le savent, je suis entrain de faire mon pit moi aussi, et pour l'achat d'un arduino d'un rasbewry ou autre, malgres les differents sujets à ce propos je patoge toujours autant... vers quel produit dois je me tourner ? j'ai une bonne 50 aines de bouton à ajouter de toutes sortes. Je veux y inclure des inter 3 pos, rotacteur, potard...
quel type d'inter dois je acheter en ce qui concerne le voltage et l’ampérage.

avez vous un site à me conseiller, appart amazon j'ai pas trouver grand chose

Salutations

Flo
Avatar de l’utilisateur

EnZo34
Pilote Philanthrope
Pilote Philanthrope
Messages : 1866
Inscription : 27 janvier 2011

Re: Arduino switch ect...

#2

Message par EnZo34 »

Alors, regarde la carte Pokeys 57u ...

Voici le lien : https://www.poscope.com/product/pokeys57u/

Ça marche remarquablement bien, et c'est très simple d'utilisation (entrées numériques et analogiques, sorties). Enjoy !!

Contacte CatPlombe, il t'expliquera
Avatar de l’utilisateur

Milos
Dieu vivant
Dieu vivant
Messages : 22522
Inscription : 27 janvier 2004

Re: Arduino switch ect...

#3

Message par Milos »

EnZo34 a écrit :
jeu. août 15, 2019 1:25 pm
c'est très simple d'utilisation
Le singe trisomique de quatre ans toussa :exit:
(\_/)
(_'.')
(")_(") "On obtient plus de choses avec un mot gentil et un pistolet qu'avec le mot gentil tout seul" Al Capone.

Mon pit
Avatar de l’utilisateur

Cat
Pilote Philanthrope
Pilote Philanthrope
Messages : 10741
Inscription : 30 juin 2008

Re: Arduino switch ect...

#4

Message par Cat »

Milos a écrit :
jeu. août 15, 2019 1:54 pm
EnZo34 a écrit :
jeu. août 15, 2019 1:25 pm
c'est très simple d'utilisation
Le singe trisomique de quatre ans toussa :exit:
Voilà ..... lol
Image

Core i5-4690K @ 3.5 GHz - 8Go RAM - Carte graphique GTX 970 - (Cougar + FSSB) - TPR - W10 64bits sur SSD - EdTracker - Un pit
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 320
Inscription : 26 juin 2014

Re: Arduino switch ect...

#5

Message par Hombre »

Bonjour

Il y a plusieurs type de switch, ceux qui sont plus pour de l'électronique ou ceux qui ressemblent type avionique. C'est une histoire de coût
Te soucis pas du courant ou tension pour ça
Sur quel avion tu te lances?
Pour ma part je travaille avec arduino
Si tu te débrouilles un peu en electro tu peux faire des trucs sympa
Cdt
Avatar de l’utilisateur

Vico
Pilote Philanthrope
Pilote Philanthrope
Messages : 4112
Inscription : 16 avril 2009

Re: Arduino switch ect...

#6

Message par Vico »

Salut
Pour ce qui concerne les commandes du pit avec des interrupteurs ou poussoirs, le voltage et l'ampérage ne sont pas importants. La carte qui gère fonctionne en 5Vcc et elle détecte la fermeture ou l'ouverture du circuit avec un très faible courant. Du coup, les critères de choix seraient plutôt la fonction (momentané, permanent, à 2 ou 3 positions), l'aspect et les dimensions (réaliste ou pas), le prix, la qualité (ne pas casser après 10 manip)...
Image
Pilote indépendant de F16 block 50/52 sur Falcon BMS - HOTAS Cougar modé FCC1 - Saitek Pro Rudder Pedals - ED TRacker - 2x MFD Cougar - ICP "CatPlombe" - 1x Carte Pokeys - un cockpit F16 en chantier - CM MSI B650 Gaming ; AMD Ryzen 7800X3D 4,20GHz ; 32 Go DDR5 Corsair ; AMD Radeon RX7900XTX 24Go DDR6 ; Ecran Hisense 55" 4K
Avatar de l’utilisateur

Topic author
flomalbak
Apprenti-Mécano
Apprenti-Mécano
Messages : 268
Inscription : 12 mai 2019

Re: Arduino switch ect...

#7

Message par flomalbak »

Ok merci pour tout sa. Je travail sur la replique du 2000c avec les plans de matbog comme support. J'ai pas mal avancé (meme si il le reste une tonne de taff) je vais m'attaquer a la partie electronique semaine pro en commandant larduino ou la pokey (j'hésite encore) et deux trois switch pour commencer à essayer de mapper le tout.

Demain j'essaierai de poster des photos de mon avancement dans le sujet que jai ouvert

Bonne soiree
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#8

Message par pogo »

Salut

est ce que avec un module arduino on peut simuler les 105 touches d'un clavier ?
est ce la meilleur solution ?
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#9

Message par dimebug »

oui, un exemple de code ou quand tu appuis sur le bouton, l'arduino tape"You pressed the button " puis le nombre de fois ou le boutons a été pressé...

https://www.arduino.cc/en/Tutorial/KeyboardMessage

L'arduino est très documenté et très souple y'a 10 façons de parvenir a ses fins... pour peu qu'on choisisse le bon modèle. Pour tout ce qui est directX, je préfère les teensy(c'est une sorte d'arduino) qui intègrent toutes les fonctions direct X (axes et boutons) de manière native. Le code pour un joytick est meme fournis en exemple pour une boite a boutons de 9 boutons :

Code : Tout sélectionner

/* Buttons to USB Joystick Example You must select Joystick from the "Tools > USB Type" menu This example code is in the public domain. */ #include <Bounce.h> // Create Bounce objects for each button. The Bounce object // automatically deals with contact chatter or "bounce", and // it makes detecting changes very simple. Bounce button0 = Bounce(0, 10); Bounce button1 = Bounce(1, 10); // 10 = 10 ms debounce time Bounce button2 = Bounce(2, 10); // which is appropriate for Bounce button3 = Bounce(3, 10); // most mechanical pushbuttons Bounce button4 = Bounce(4, 10); Bounce button5 = Bounce(5, 10); Bounce button6 = Bounce(6, 10); Bounce button7 = Bounce(7, 10); Bounce button8 = Bounce(8, 10); Bounce button9 = Bounce(9, 10); void setup() { // Configure the pins for input mode with pullup resistors. // The pushbuttons connect from each pin to ground. When // the button is pressed, the pin reads LOW because the button // shorts it to ground. When released, the pin reads HIGH // because the pullup resistor connects to +5 volts inside // the chip. LOW for "on", and HIGH for "off" may seem // backwards, but using the on-chip pullup resistors is very // convenient. The scheme is called "active low", and it's // very commonly used in electronics... so much that the chip // has built-in pullup resistors! pinMode(0, INPUT_PULLUP); pinMode(1, INPUT_PULLUP); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); // Teensy++ LED, may need 1k resistor pullup pinMode(7, INPUT_PULLUP); pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); // Please be aware the X, Y, Z, Zr and Slider axes will have default // settings, if you only use the buttons. This can give the appearance // of the buttons interfering with the axes, if your PC software shows // different default assumed values before your first button press. // More details here: // https://forum.pjrc.com/threads/29320-Teensy-3-1-Button-problems?p=80275#post80275 } void loop() { // Update all the buttons. There should not be any long // delays in loop(), so this runs repetitively at a rate // faster than the buttons could be pressed and released. button0.update(); button1.update(); button2.update(); button3.update(); button4.update(); button5.update(); button6.update(); button7.update(); button8.update(); button9.update(); // Check each button for "falling" edge. // Update the Joystick buttons only upon changes. // falling = high (not pressed - voltage from pullup resistor) // to low (pressed - button connects pin to ground) if (button0.fallingEdge()) { Joystick.button(1, 1); } if (button1.fallingEdge()) { Joystick.button(2, 1); } if (button2.fallingEdge()) { Joystick.button(3, 1); } if (button3.fallingEdge()) { Joystick.button(4, 1); } if (button4.fallingEdge()) { Joystick.button(5, 1); } if (button5.fallingEdge()) { Joystick.button(6, 1); } if (button6.fallingEdge()) { Joystick.button(7, 1); } if (button7.fallingEdge()) { Joystick.button(8, 1); } if (button8.fallingEdge()) { Joystick.button(9, 1); } if (button9.fallingEdge()) { Joystick.button(10, 1); } // Check each button for "rising" edge // Update the Joystick buttons only upon changes. // rising = low (pressed - button connects pin to ground) // to high (not pressed - voltage from pullup resistor) if (button0.risingEdge()) { Joystick.button(1, 0); } if (button1.risingEdge()) { Joystick.button(2, 0); } if (button2.risingEdge()) { Joystick.button(3, 0); } if (button3.risingEdge()) { Joystick.button(4, 0); } if (button4.risingEdge()) { Joystick.button(5, 0); } if (button5.risingEdge()) { Joystick.button(6, 0); } if (button6.risingEdge()) { Joystick.button(7, 0); } if (button7.risingEdge()) { Joystick.button(8, 0); } if (button8.risingEdge()) { Joystick.button(9, 0); } if (button9.risingEdge()) { Joystick.button(10, 0); } }
un Joystick 6 axes 16 ou 32 bouttons... la l'approche de programmation des boutons est moins basique que l'exemple précédent

Code : Tout sélectionner

/* Complete USB Joystick Example Teensy becomes a USB joystick with 16 or 32 buttons and 6 axis input You must select Joystick from the "Tools > USB Type" menu Pushbuttons should be connected between the digital pins and ground. Potentiometers should be connected to analog inputs 0 to 5. This example code is in the public domain. */ // Configure the number of buttons. Be careful not // to use a pin for both a digital button and analog // axis. The pullup resistor will interfere with // the analog voltage. const int numButtons = 16; // 16 for Teensy, 32 for Teensy++ void setup() { // you can print to the serial monitor while the joystick is active! Serial.begin(9600); // configure the joystick to manual send mode. This gives precise // control over when the computer receives updates, but it does // require you to manually call Joystick.send_now(). Joystick.useManualSend(true); for (int i=0; i<numButtons; i++) { pinMode(i, INPUT_PULLUP); } Serial.println("Begin Complete Joystick Test"); } byte allButtons[numButtons]; byte prevButtons[numButtons]; int angle=0; void loop() { // read 6 analog inputs and use them for the joystick axis Joystick.X(analogRead(0)); Joystick.Y(analogRead(1)); Joystick.Z(analogRead(2)); Joystick.Zrotate(analogRead(3)); Joystick.sliderLeft(analogRead(4)); Joystick.sliderRight(analogRead(5)); // read digital pins and use them for the buttons for (int i=0; i<numButtons; i++) { if (digitalRead(i)) { // when a pin reads high, the button is not pressed // the pullup resistor creates the "on" signal allButtons[i] = 0; } else { // when a pin reads low, the button is connecting to ground. allButtons[i] = 1; } Joystick.button(i + 1, allButtons[i]); } // make the hat switch automatically move in a circle angle = angle + 1; if (angle >= 360) angle = 0; Joystick.hat(angle); // Because setup configured the Joystick manual send, // the computer does not see any of the changes yet. // This send_now() transmits everything all at once. Joystick.send_now(); // check to see if any button changed since last time boolean anyChange = false; for (int i=0; i<numButtons; i++) { if (allButtons[i] != prevButtons[i]) anyChange = true; prevButtons[i] = allButtons[i]; } // if any button changed, print them to the serial monitor if (anyChange) { Serial.print("Buttons: "); for (int i=0; i<numButtons; i++) { Serial.print(allButtons[i], DEC); } Serial.println(); } // a brief delay, so this runs "only" 200 times per second delay(5); }
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#10

Message par dimebug »

si tu veux pas faire de code, alors il faut prendre une carte Leo Bodnard ou une Pokey qui sera sans doute moins usine a gaz que l'arduino.
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#11

Message par pogo »

Merci dimebug

Ce que je souhaite faire c'est attribué a des boutons le code d'une touche clavier ou combinaison de touches (ex:LSHIFT+G)
Pour au final mettre sur chaques boutons (switch, boutons rotatifs, etc) un code d'une touche clavier ou combinaison de touches.
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#12

Message par dimebug »

alors voila un exemple de code du code pour faire ce que tu veux faire, il te faudra un arduino leonardo ou une teensy.
Le cablage est une matrice pour offrir un max de possibilité (cette video donne un bon exemple en DirectX : )


Ce code permet de gerer une matrice, mais n'envois pas de code clavier...

encore un autre exemple :
https://www.xsimulator.net/community/th ... -uno.8442/


Code : Tout sélectionner

// addasketch_matrix_buttons 2018 by GoForSmoke @ Arduino.cc Forum // Free for use, May 9/2018 by GFS. Compiled on Arduino IDE 1.6.9. /* Button Debounce Example This example requires a diode per button in the row&column matrix. Each row and column pin has its own wire. Where they cross a button and diode connect in series allowing current to flow from the row wire to th column wire only. The diode is to allow multiple buttons pressed at once detected correctly. OTOH for this test, jumper a row pin (2 or 3) to a column pin (4 or 5) while watching serial monitor. Yes I'm using a 16 bit micros timer to time fractions of millis as micros. The button reader only reads 1 button per call so as to not block void loop(). Each button has a history byte that holds the last 8 reads with 256 possible states but only 4 of them being significant. 0 is the button held down 255 is the button left up 127 is the buton transitioning from up to down, button just released. 128 is the button transititioning from down to up, button just pressed. everything else is to be ignored as bounce. For multiple buttons the between-reads time is reduced and each pin is read in turn. */ // matrix_buttons vars --- 2D matrix const byte rows = 2; // test with 4 buttons or jumper const byte cols = 2; byte rowIdx, colIdx = 255; byte buttonRowPin[ rows ] = { 6, 7 }; byte buttonColPin[ cols ] = { 4, 5 }; byte buttonHistory[ rows ][ cols ]; word markButtonTime; // 16-bit micros timers const word waitButtonTime = 50; // micros, 50 us // type word as micros can time across 65.535 millis before rollover, can be a few late void matrixButtonsTask() { if ( word( micros()) - markButtonTime >= waitButtonTime ) // read occaisoinally { // iterate the row and column indexes if ( ++colIdx >= cols ) // ++rowIdx pre-increments rowIdx before comparing to rows { colIdx = 0; if ( ++rowIdx >= rows ) // ++rowIdx pre-increments rowIdx before comparing to rows { rowIdx = 0; } } pinMode( buttonRowPin[ rowIdx ], INPUT_PULLUP ); // supplies weak 5V pinMode( buttonColPin[ colIdx ], OUTPUT ); // is LOW, grounds pressed buttons buttonHistory[ rowIdx ][ colIdx ] <<= 1; // shift history bits up 1 for the new read buttonHistory[ rowIdx ][ colIdx ] += digitalRead( buttonRowPin[ rowIdx ] ); // read history streams through buttonHistory markButtonTime = micros(); // gets the low 16 bits of micros(), time to 60 ms + margin pinMode( buttonRowPin[ rowIdx ], INPUT ); pinMode( buttonColPin[ colIdx ], INPUT ); // was OUTPUT LOW } } void setup() { Serial.begin( 115200 ); Serial.println( F( "\n\n\n Button Matrix Example, free by GoForSmoke\n" )); for ( byte i = 0; i < rows; i++ ) { pinMode( buttonRowPin[ i ], INPUT ); // mode INPUT pin is electrically neutral for ( byte j = 0; j < cols; j++ ) { if ( i == 0 ) // only set the column pins once { pinMode( buttonColPin[ j ], INPUT ); // mode INPUT pin is electrically neutral } buttonHistory[ i ][ j ] = 255; // all buttons start UP } } }; void loop() { matrixButtonsTask(); /* 0 is the button held down 255 is the button left up 127 is the buton changing from up to down, button just released. 128 is the button changing from down to up, button just pressed. everything else is to be ignored as bounce. */ static byte row, col; switch ( buttonHistory[ row ][ col ] ) { case 128 : // pin is HIGH in bit 7, LOW for 7 reads, up to down detected buttonHistory[ row ][ col ] = 0; // change detected, make it into no change now Serial.print( F( "button " )); Serial.print( rowIdx ); Serial.print( F( ", " )); Serial.print( colIdx ); Serial.print( F( " press detected " )); Serial.println( millis()); break; case 127 : // pin is LOW in bit 7, HIGH for 7 reads, down to up detected buttonHistory[ row ][ col ] = 255; // change detected, make it into no change now Serial.print( F( "button " )); Serial.print( rowIdx ); Serial.print( F( ", " )); Serial.print( colIdx ); Serial.print( F( " release detected " )); Serial.println( millis()); break; } if ( ++col >= cols ) { col = 0;; if ( ++row >= rows ) { row = 0;; } } }
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#13

Message par dimebug »

ma recommandation est de passer par des boutons directx plutôt que des codes clavier, car le pouvoir de nuisance est moindre : si ton pit ou boitier est actif alors que tu est sous windows, certain raccourcis clavier vont activer et provoquer des actions indésirables si un curieux touche a tes switch... avec des résultats parfois pénibles. L'autre avantage c'est que c'est plus souple d'emploi, en effet, tu travaillera + facilement sur plusieurs simus ou appareils différents avec un mapping bouton directX plutôt que de l’émulation clavier avec des combinaison bien précises propres a chaque appareil.
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#14

Message par pogo »

Super cool !!!
merci pour les liens et explication Dimebug
Mon objectif et de concevoir le cockpit du F14 (pilote)
Juste y mettre les boutons et autres commandes a leur place sans les lumières et écrans car j'utilise un casque VR
Pour les autres appareils j'utiliserai mon hotas et mon clavier avec les profils (hotas et dcs) déjà existante.

Qu'est ce que des boutons DirectX ?
Dernière modification par pogo le mar. sept. 03, 2019 6:25 pm, modifié 1 fois.
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#15

Message par dimebug »

plutôt qu'envoyer des codes clavier a windows, tu envois des états de boutons via Direct X. En gros quand tu branches un joystick sur ton ordi, la chaine c'est Joystick-->Direct X --> simulateur.

Coté simulateur, il écoute ce que Direct X lui murmure. C'est l'interface soft entre le hard du joystick et le soft simulateur.
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#16

Message par pogo »

ah ok je pensai que c'etait des boutons differents
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#17

Message par pogo »

Donc entre les boutons et DCS y a arduino qui avec son programme fait office de DirectX ?
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#18

Message par dimebug »

l'arduino est programmé pour se déclarer en tant que périphérique USB d'entrée Direct X, il interprète l’état de tes switchs et communique a L'ORDi l’état des boutons. Dans DCS ou autre, il est vue comme un joystick avec X bouttons.
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#19

Message par pogo »

Je viens de faire une liste des divers boutons du F14 (switch, rotatif, etc) j'ai trouvé 157 boutons coté pilote.
étant donné qu'il y a plusieurs types de boutons nécessitant plus ou moins de fil j'aimerai savoir combien de boutons simples (2 fil) peut on attribué dans un module arduino en fonction des entrées/sorties ?

Si je compte pour un switch simple 2 positions 1 paire de fil et pour un bouton rotatif 2 paires au total suivant les divers boutons du F14 j'ai 239 paires
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#20

Message par dimebug »

ca depend si tu as recours a des composants externe ou non. Par exemple avec seulement 2 fils partant de l'arduino vers quelques composants, tu peux gérer 128 boutons http://www.mycockpit.org/forums/showthread.php?t=30867. Donc si tu multiplie ce montage sur un seul arduino tu peux en mettre plusieurs centaines... mais tu te heurtera aux limite de Direct X (128 ou 256 btns, je me souviens plus) si tu veux que sa ce comporte comme des btns de joystick. Pour éviter ce probleme tu peux faire croire au PC qu'il y a plusieurs device USB au sein même de ton arduino.
Mais vue tes questions, on peut supposer que tu ne maîtrise pas vraiment le sujet, donc faudra commencer petit.


Sinon en utilisant un principe colonne et rang, 100 switchs en utilisant 10 entrées et 10 sorties...

tu trouveras l'essentiel des réponses a tes questions sur le forum arduino : https://forum.arduino.cc/index.php
Image Dresseur de cochon (sauvage)
Avatar de l’utilisateur

dimebug
Pilote d'essais
Pilote d'essais
Messages : 6970
Inscription : 18 août 2001

Re: Arduino switch ect...

#21

Message par dimebug »

pour ton projet de F-14, ca vaut peut etre le coup de cabler les positions off de tes switch car en editant et en enrichissant le lua F-14 de DCS, tu dois pouvoir ajouter les positions off. De cette manière tu t'assures de la synchro des positions switch cockpit/simulateur. Par contre tout ca va demander pas mal de travail.
Image Dresseur de cochon (sauvage)

Sokol1
Nouvelle Recrue
Nouvelle Recrue
Messages : 128
Inscription : 21 novembre 2005

Re: Arduino switch ect...

#22

Message par Sokol1 »

Arduino PRO MICRO (ATMEGA43u4, 16Mhz, 5v) ~$5 or MICRO, Teensy 2.0, ++2.0.... plus MMjoy2 firmware (author MegaMOZG, same of VirPil electronics).

https://sites.google.com/site/mmjoyproject/

Sample:

8 axis - 19 b its (12 with external ADC)- potentiometer, Hall sensor, KMZ 200 and Magnet Resistance TLE5010/11 in digital mode 14 bits ADC.
128 buttons with special modes for first 32 buttons
6 Encoder - number should increase in the next firmware
LED output - compatible only with War Thunder data export.
VID/PID, name of device user configurable.
Use Windows HID drivers = "PnP".
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#23

Message par pogo »

peut on ajouter un 74HC595 (multiplexeur) pour augmenter le nombre de sorties du Arduino Pro MICRO ?
et existe t'il un moyen d'augmenter le nombre d'entrée ?
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Avatar de l’utilisateur

Hombre
Apprenti-Mécano
Apprenti-Mécano
Messages : 320
Inscription : 26 juin 2014

Re: Arduino switch ect...

#24

Message par Hombre »

Bonjour,

Eh Kaiju, tu te lances sur un pit F-14?
Si tu réalises que les switch cela ne sera pas difficile..
A+
Avatar de l’utilisateur

pogo
Mécano au sol
Mécano au sol
Messages : 540
Inscription : 24 janvier 2016

Re: Arduino switch ect...

#25

Message par pogo »

Salut Hombre

Oui je me lance dans la réalisation du cockpit pilote du F14 :emlaugh:
effectivement je vais juste mettre les différents switchs car j'utilise un casque VR et du coup je n'ai pas besoin des écrans, des couleurs du cockpit et des inscriptions

Apparemment avec les modules de chez Leo Bodnar c'est plus facile
Tower : IN WIN D-Frame Red - Watercooling : EKWB (CM, CPU, CG) - Alim : Corsair RM1000x - CM : Asus Maximus XI Formula - CPU : Intel i9 9900K 5.1Ghz - CG : Asus Nvidia RTX 2080Ti Strix OC 11Go - RAM : DDR4 Corsair 64Go 3000Mhz - Windows 10 64 - DD System : 4To SSD PCIe M.2 NvMe Samsung 970 Pro - Hotas : Virpil V.F.X Grip, MongoosT 50CM2 Throttle - Rudder : Thrustmaster TPR - VR : HP Reverb G2 - Monitor : Asus ROG PG348Q - Keyboard, Mouse : Steelseries
Répondre

Revenir à « Cockpit & mod perso »