Arduino switch ect...
Arduino switch ect...
#1Bonjour à 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
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
Re: Arduino switch ect...
#2Alors, 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
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
Re: Arduino switch ect...
#3Le singe trisomique de quatre ans toussa
(\_/)
(_'.')
(")_(") "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: Arduino switch ect...
#5Bonjour
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
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
Re: Arduino switch ect...
#6Salut
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)...
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)...
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
Re: Arduino switch ect...
#7Ok 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
Demain j'essaierai de poster des photos de mon avancement dans le sujet que jai ouvert
Bonne soiree
Re: Arduino switch ect...
#8Salut
est ce que avec un module arduino on peut simuler les 105 touches d'un clavier ?
est ce la meilleur solution ?
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
Re: Arduino switch ect...
#9oui, 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 :
un Joystick 6 axes 16 ou 32 bouttons... la l'approche de programmation des boutons est moins basique que l'exemple précédent
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);
}
}
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);
}
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#10si 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.
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#11Merci 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.
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
Re: Arduino switch ect...
#12alors 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/
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;;
}
}
}
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#13ma 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.
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#14Super 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 ?
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
Re: Arduino switch ect...
#15plutô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.
Coté simulateur, il écoute ce que Direct X lui murmure. C'est l'interface soft entre le hard du joystick et le soft simulateur.
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#16ah 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
Re: Arduino switch ect...
#17Donc 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
Re: Arduino switch ect...
#18l'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.
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#19Je 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
é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
Re: Arduino switch ect...
#20ca 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
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
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#21pour 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.
Dresseur de cochon (sauvage)
Re: Arduino switch ect...
#22Arduino 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".
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".
Re: Arduino switch ect...
#23peut 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 ?
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
Re: Arduino switch ect...
#24Bonjour,
Eh Kaiju, tu te lances sur un pit F-14?
Si tu réalises que les switch cela ne sera pas difficile..
A+
Eh Kaiju, tu te lances sur un pit F-14?
Si tu réalises que les switch cela ne sera pas difficile..
A+
Re: Arduino switch ect...
#25Salut Hombre
Oui je me lance dans la réalisation du cockpit pilote du F14
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
Oui je me lance dans la réalisation du cockpit pilote du F14
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