- morgosthQualification N0Qualification N0 obtenue dans le cursus tronc commun (T-45C) de l'ESCAPilote de la 8e Escadre de Chasse VirtuelleA publié suffisament de messages sur le forum pour accéder au contenu réservé aux membres de l'école et de la 8e Escadre
- Localisation : Angers
Messages : 110
Date d'inscription : 30/01/2021
cherche personne qualifiée Arduino
Mar 21 Déc 2021 - 23:36
Salut, j ai realisé mon premier panel et pour des questions de nombre d'entrées, j ai choisi d'utiliser une leonardo couplée à une micro. N'ayant jamais fait d'arduino, chaque etape est une aventure... bref, j ai connecté 56 boutons en matrice clavier
avec ce programme:
Et ça fonctionne parfaitement!!! super, mais maintenant, je m arrache les cheveux
il me reste deux switchs, un rotatif 9pin, un autre 4 pin et deux potentiometres.
voilà mes questions:
1- comment coupler les deux cartes? et comment vont elles travailler ensemble?
(oui j'ai triché, deux questions en une)
2- comment inserer les nouveaux codes dans celui dejà existant?
Merci d'avance
avec ce programme:
- Code:
#include <Keypad.h>
#include <Joystick.h>
#define ENABLE_PULLUPS
#define NUMBUTTONS0 28
#define NUMBUTTONS1 28
#define NUMROWS0 4
#define NUMCOLS0 7
#define NUMROWS1 4
#define NUMCOLS1 7
#define JOYSTICK_COUNT 2
#define NUMBUTTONS0 28
#define NUMBUTTONS1 28
#define NUMROWS0 8
#define NUMCOLS0 4
#define NUMROWS1 8
#define NUMCOLS1 3
#define JOYSTICK_COUNT 2
byte buttons0[NUMROWS0][NUMCOLS0] = {
{0, 8, 16, 24},
{1, 9, 17, 25},
{2, 10, 18, 26},
{3, 11, 19, 27},
{4, 12, 20, 28},
{5, 13, 21, 29},
{6, 14, 22, 30},
{7, 15, 23, 31},
};
byte buttons1[NUMROWS1][NUMCOLS1] = {
{0, 8, 16},
{1, 9, 17},
{2, 10, 18},
{3, 11, 19 },
{4, 12, 20},
{5, 13, 21,},
{6, 14, 22},
{7, 15, 23},
};
byte rowPins0[NUMROWS0] = {3,4,5,6,7,8,9,10};
byte colPins0[NUMCOLS0] = {11,12,13,A0};
byte rowPins1[NUMROWS1] = {3,4,5,6,7,8,9,10};
byte colPins1[NUMCOLS1] = {A1,A2,A3};
Keypad buttbx = Keypad( makeKeymap(buttons0), rowPins0, colPins0, NUMROWS0, NUMCOLS0);
Keypad buttbx1 = Keypad( makeKeymap(buttons1), rowPins1, colPins1, NUMROWS1, NUMCOLS1);
Joystick_ Joystick[JOYSTICK_COUNT] = {
Joystick_ (0x04, JOYSTICK_TYPE_JOYSTICK, 32, 0, true, true, true, true, true, true, false, false, false, false, false),
Joystick_ (0x05, JOYSTICK_TYPE_MULTI_AXIS, 32, 2, true, true, true, true, true, true, false, false, false, false, false)
};
void setup() {
Joystick[0].begin();
Joystick[1].begin();
}
void loop() {
CheckAllButtons0();
CheckAllButtons1();
}
void CheckAllButtons0(void) {
if (buttbx.getKeys())
{
for (int i = 0; i < LIST_MAX; i++)
{
if ( buttbx.key[i].stateChanged )
{
switch (buttbx.key[i].kstate) {
case PRESSED:
case HOLD:
Joystick[0].setButton(buttbx.key[i].kchar, 1);
break;
case RELEASED:
case IDLE:
Joystick[0].setButton(buttbx.key[i].kchar, 0);
break;
}
}
}
}
}
void CheckAllButtons1(void) {
if (buttbx1.getKeys())
{
for (int i = 0; i < LIST_MAX; i++)
{
if ( buttbx1.key[i].stateChanged )
{
switch (buttbx1.key[i].kstate) {
case PRESSED:
case HOLD:
Joystick[1].setButton(buttbx1.key[i].kchar, 1);
break;
case RELEASED:
case IDLE:
Joystick[1].setButton(buttbx1.key[i].kchar, 0);
break;
}
}
}
}
}
Et ça fonctionne parfaitement!!! super, mais maintenant, je m arrache les cheveux
il me reste deux switchs, un rotatif 9pin, un autre 4 pin et deux potentiometres.
voilà mes questions:
1- comment coupler les deux cartes? et comment vont elles travailler ensemble?
(oui j'ai triché, deux questions en une)
2- comment inserer les nouveaux codes dans celui dejà existant?
Merci d'avance
Killight et Fagui aiment ce message
- FlowQualification N1 - Mirage 2000CQualification N1 obtenue dans le cursus Mirage 2000C de l'ESCA100 Heures de VolSeuil de 100 Heures de Vol atteint au sein de l'ESCAPilote de la 8e Escadre de Chasse VirtuelleA publié suffisament de messages sur le forum pour accéder au contenu réservé aux membres de l'école et de la 8e Escadre
Localisation : Valence
Messages : 161
Date d'inscription : 01/03/2022
Re: cherche personne qualifiée Arduino
Mar 15 Mar 2022 - 15:57
Salut @morgosth ,
Déjà joli boulot ton panel rend vraiment bien avec les retour LED , franchement chapeau .
Pour le coté technique je vais essayer de replonger dans mes souvenir d'école (c'est pas si loin pourtant).
D'abord as tu-besoin de faire communiquer les deux ? Je m'explique si chacun gère une partie du panel de manière indépendante tu peux très bien les faire tourner en parallèle, comme avec un HOTAS ou tu as les Throttle et le Joystick connecté chacun avec son USB.
Après si elle ont besoin de travailler ensemble pour la gestion des leds/bouton, unique USB ou autres tu as plusieurs possibilités pour faire discuter deux Arduino : le Wi-Fi , le Bluetooth ou bien le filaire. Les deux premières solution sont plus lourdes et nécessite d'avoir des cartes équipés de module en conséquences. Le filaire se fait grâce aux Bus I2C. Il te permet de t'envoyer des messages simples entre tes cartes maitres et esclave(s). Et à réception du message selon son contenu tu peut effectuer l'action désirée. Il y a une explication et utilisation de l'I2C intéressante sur ce site : I2C Tuto. N'hésites pas à tester indépendamment de ton programme actuelle pour éviter de trop te compliquer la vie.
Par curiosité, du coup ton panel réagit comme un Joystick et tu configures les touches dans DCS ou tu as utilisé DCS bios pour gérer les retours lumières ?
Et je suis à disposition si tu as d'autres questions, je pourrais me replonger plus dedans pour t'aider plus amplement au besoin. Je doit avouer que l'idée du panel Arduino pour le 2000 m'as effleuré à l'esprit à plusieurs reprises du coup ca m'intéresse aussi
Bonne journée,
Flow
Déjà joli boulot ton panel rend vraiment bien avec les retour LED , franchement chapeau .
Pour le coté technique je vais essayer de replonger dans mes souvenir d'école (c'est pas si loin pourtant).
D'abord as tu-besoin de faire communiquer les deux ? Je m'explique si chacun gère une partie du panel de manière indépendante tu peux très bien les faire tourner en parallèle, comme avec un HOTAS ou tu as les Throttle et le Joystick connecté chacun avec son USB.
Après si elle ont besoin de travailler ensemble pour la gestion des leds/bouton, unique USB ou autres tu as plusieurs possibilités pour faire discuter deux Arduino : le Wi-Fi , le Bluetooth ou bien le filaire. Les deux premières solution sont plus lourdes et nécessite d'avoir des cartes équipés de module en conséquences. Le filaire se fait grâce aux Bus I2C. Il te permet de t'envoyer des messages simples entre tes cartes maitres et esclave(s). Et à réception du message selon son contenu tu peut effectuer l'action désirée. Il y a une explication et utilisation de l'I2C intéressante sur ce site : I2C Tuto. N'hésites pas à tester indépendamment de ton programme actuelle pour éviter de trop te compliquer la vie.
Par curiosité, du coup ton panel réagit comme un Joystick et tu configures les touches dans DCS ou tu as utilisé DCS bios pour gérer les retours lumières ?
Et je suis à disposition si tu as d'autres questions, je pourrais me replonger plus dedans pour t'aider plus amplement au besoin. Je doit avouer que l'idée du panel Arduino pour le 2000 m'as effleuré à l'esprit à plusieurs reprises du coup ca m'intéresse aussi
Bonne journée,
Flow
Killight, morgosth et Hugo aiment ce message
- HugoQualification N0Qualification N0 obtenue dans le cursus tronc commun (T-45C) de l'ESCA100 Heures de VolSeuil de 100 Heures de Vol atteint au sein de l'ESCAPilote de la 8e Escadre de Chasse VirtuelleA publié suffisament de messages sur le forum pour accéder au contenu réservé aux membres de l'école et de la 8e EscadreQualification N1 - UH-1HQualification N1 obtenue dans le cursus UH-1H Huey de l'ESCA
Localisation : Jallans
Messages : 324
Date d'inscription : 07/05/2021
Re: cherche personne qualifiée Arduino
Lun 1 Aoû 2022 - 11:42
Bravo, très belle réalisation. Je compte me faire une boîte à boutons également.
Pourrais tu me dire quels boutons 2 et 3 positions tu as utilisé.
De même qu'as tu pris pour les boutons rotatifs ? Et les têtes de potar.
Merci
Pourrais tu me dire quels boutons 2 et 3 positions tu as utilisé.
De même qu'as tu pris pour les boutons rotatifs ? Et les têtes de potar.
Merci
Killight aime ce message
- HugoQualification N0Qualification N0 obtenue dans le cursus tronc commun (T-45C) de l'ESCA100 Heures de VolSeuil de 100 Heures de Vol atteint au sein de l'ESCAPilote de la 8e Escadre de Chasse VirtuelleA publié suffisament de messages sur le forum pour accéder au contenu réservé aux membres de l'école et de la 8e EscadreQualification N1 - UH-1HQualification N1 obtenue dans le cursus UH-1H Huey de l'ESCA
Localisation : Jallans
Messages : 324
Date d'inscription : 07/05/2021
Re: cherche personne qualifiée Arduino
Sam 25 Mai 2024 - 19:48
Je me rends compte que le sujet que j'ai posté il y a quelques minutes va dans le même sens que celui-ci
@Flow, je risque de revenir vers toi
@Flow, je risque de revenir vers toi
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum