Premier panel

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

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Premier panel

#1

Message par Vmf214 »

Salut,

Ca y est, je me lance j'ai rassemblé de quoi me faire des panels pour Dcs / Gazelle.
J'ai commencé très très léger avec une simple plaque de pvc et une impression papier du panel que je peuplerai progressivement avec les interrupteurs, boutons, jauges et autres.

Très vite j'ai vu que seule, la plaque de plexi, ça allait être galère alors j'ai fait un cadre métallique, en rail de placo... Pour ceux qui connaissent le ba13 et les bandes :yes:
Oui mon challenge c'est aussi de me servir un maximum de récup et pièces pas cher qui prennent 3 semaines à arriver.

J'ai opté pour DCS Bios couplé avec des arduinos qui seront soit utilisé en port com ou en tant que joystick (hid usb) (les arduinos avec des ATMEL 32u4)

Voilà ce dimanche soir j'ai de quoi démarrer la turbine inter et voyants 'Dem' et 'Rlt'. Pour arriver à ça j'ai du compiler Socat pour qu'il fonctionne avec mon pc et j'ai du me faire ma version de DCS bios en récupérant les éléments des pull requests...
Et pour m'encourager je vois bien à l'écran le levier du démarreur monter mais sans se lancer. Dans la seconde je le refais à la souris et la turbine se lance. Mystère... il y en aura beaucoup.

Je tatone depuis longtemps, j'ai déjà fait un collectif avec une carte leobodnar et aussi une app android pour Huey. Le collectif ça va je m'en sert encore, l'app tactile c'est pas une bonne solution au final.

Là je regarde les moteurs pas à pas pour faire des jauges.

Si ça intéresse quelqu'un je peux mettre en ligne Socat dans la dernière version.

Vous privez pas de critiquer, ça vole pas haut tout ça ;)

Bon vol
Pièces jointes
Les branchements
Les branchements
WP_20180113_15_54_37_Pro.jpg (147.13 Kio) Consulté 3551 fois
Premier essai de panel
Premier essai de panel
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

matbog
Pilote Philanthrope
Pilote Philanthrope
Messages : 2335
Inscription : 13 octobre 2009

Re: Premier panel

#2

Message par matbog »

Très sympa ce tableau de bord en plexi!
C'est un bon début.
Avatar de l’utilisateur

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

Re: Premier panel

#3

Message par Vico »

Oui ! C'est les débuts :yes: . Avec des solutions techniques (rail placo) aux problèmes qui se posent :detective.
...Après, on sait où ça mène :jerry: :prop:
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

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

Re: Premier panel

#4

Message par Cat »

C’est très joli.
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

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#5

Message par Vmf214 »

Bonjour,

Merci pour vos réactions :notworthy

En tout cas quand on voit les photos de réalisations, de Matbog par exemple, ça calme tout de suite.

C'est un sport complet les cockpit fidèles aux vrais . Documentation, modélisation, approvisionnement en composants, découpe, montage, peinture, programmation, etc...

Je vais juste essayer d'avoir un peu l''ergonomie d'un cockpit, parce qu' à part la programmation, je maitrise pas grand chose .

En attendant de recevoir mon arduino mega et des inter j'ai reçu mon écran oled de 128x64 pix. C'est vraiment tout petit, l'affichage est sympa, 7 euros livraison incluse. Je lui ai fait afficher en brut les données rotor rpm transmises par DCS bios. Seul problème, comme il fonctionne sur bus I2C et qu'il a une adresse fixe 0x3d, on peut pas en mettre plusieurs.

Sinon avec un moteur pas à pas 28BYJ (2€18), un interrrupteur de fin de course (0€36) et un arduino Nano (3€60) j'ai fait un prototype de jauge. Le programme qui gère tout ça fonctionne bien mais alors la 'realisation physique' ... à moi la peur. o_O

Je sais pas trop vers quoi m'orienter, imprimate 3d, cnc, machine outil ??? Ou des matériaux pratiques à travailler. Si vous avez des suggestions je suis preneur.

Sinon bon vol :)
Pièces jointes
ecran_oled.jpg
ecran_oled.jpg (186.68 Kio) Consulté 3427 fois
moteur_28_BYJ.jpg
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

matbog
Pilote Philanthrope
Pilote Philanthrope
Messages : 2335
Inscription : 13 octobre 2009

Re: Premier panel

#6

Message par matbog »

Tu n'as pas besoin de t'équiper en machine automatique pour faire des instruments simples comme ceux la. Quelques scie trépants du bon diamètres, un couvercle de boite de conserve (comme celui que tu utilise comme cadran) dans lequel tu découpes les aiguilles et un cadran imprimer sur du papier autocollant et le tour est joué. C'est comme ça que j'ai fais les miens : http://www.checksix-forums.com/viewtopi ... 8#p1591958

Pour l'initialisation de tes moteur pas à pas je te conseillerais des fourchettes optiques ou des capteur a effet hall, c'est plus compacte que les interrupteurs...
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#7

Message par Vmf214 »

100 % d'accord avec toi Matbog, en plus j'en avais des capteurs à effet hall.

Sinon j'ai encore fait un xième bricolage à la main, à comparer avec celui du moteur pas à pas ou là j'ai investi dans une imprimante 3d en kit.
C'est un joystick pour le tir des missiles HOT, j'espérais au moins avoir une peinture pas trop moche, mais elle a gelé cette hiver :(
marquage au typex :exit:
boitier de lecteur cd :exit:

C'est à base d'arduino 32u4, opérationnel en tant que joystick standard hid (sparkfun pro micro), mes enfants, de 9 et 12 ans, apprécient beaucoup de dégommer des chars.
Ils sont si mignons :)
J'essaye de récupérer un maximum d'éléments et après j'en fais un bien de panel, demain ... , l'année prochaine ...

Merci pour vos conseils et bon vols
Pièces jointes
Cablage anarchique à ne pas reproduire
Cablage anarchique à ne pas reproduire
gazelle_joystick_1.jpg (181.3 Kio) Consulté 3321 fois
Joystick a bas de 'arduino  micro pro' ou plutot 'sparkfun micro pro'
Joystick a bas de 'arduino micro pro' ou plutot 'sparkfun micro pro'
gazelle_joystick_0.jpg (147.99 Kio) Consulté 3321 fois
Jauge à aiguille avec moteur pas à pas et capteur a effet hall
Jauge à aiguille avec moteur pas à pas et capteur a effet hall
jauge_moteur_pap_0.jpg (150.16 Kio) Consulté 3321 fois
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

SKYDEVIL
Pilote Philanthrope
Pilote Philanthrope
Messages : 1748
Inscription : 19 octobre 2003

Re: Premier panel

#8

Message par SKYDEVIL »

Beau début !!!!!!Bienvenue chez les fous furieux!!!!!!!!!!!!!!
Avatar de l’utilisateur

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

Re: Premier panel

#9

Message par Vico »

Ouiap. C'est encore un peu du prototypage mais ça marche. :Jumpy:
On sent que le mal progresse :hum: . T'es foutu. Bienvenue chez les fous. :jerry:
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
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#10

Message par Vmf214 »

@Skydevil : merci, j'en suis au tout début, on le voit bien d'ailleurs sur mes images :)

@Vico : nan j'arrête quand je veux, si, pas du tout atteint :emlaugh:
Mais bon il y a ce simulateur de vol et ces arduinos..., et puis ces composants ... et maintenant que j'ai installé tous les inter à levier 1 et 2 pos, ça serait dommage de pas ajouter les boutons poussoirs,mais après j'arrête... Ah oui j'oubliai les potentiomètres et les encodeurs :hum:

Je suis passé à l'arduino Méga mais il en faut un paquet de connexion
Pièces jointes
arduino_mega.jpg
arduino_mega.jpg (115.14 Kio) Consulté 3224 fois
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#11

Message par Vmf214 »

Si je continue comme ça je vais très vite saturer mon arduino méga, je me colle donc à la soudure pour démultiplier mes entrées/ sorties disponibles.

Pour faire mon panneau d'alerte et donc de disposer de plus de sorties digitales j'ai fait un module à base de 74hc595 qui permet de n'utiliser que 3 sorties digitales de l'arduino
pour obtenir 16 sorties dans mon cas. Avec 5 de ces composants j'aurai pu disposer de 40 sorties, toujours avec seulement 3 sorties de la carte.

Info pour le montage
http://www.zem.fr/decouverte-du-composa ... -register/
ou
http://www.instructables.com/id/Arduino ... egisters-/

j'ai utilisé des résistances 320 Ohms et 400 les leds éclairent largement assez.

Une fois terminé et lié à dcsbios ça le fait bien. Il faut encore que je me fasse les étiquettes des alertes.
Petite anecdote, si vous avez l'intention de réaliser des transparents avec une imprimante laser, prenez des consommables spéciales lasers sinon ça fond et bonjour les dégâts.

Je suis entrain de terminer un horizon artificiel avec un petit écran charlie OLED... J'espère ne pas me faire virer du forum à cause de cette vanne :emlaugh:
Sinon plus sérieusement, un petit truc bien pratique, je me sert également de cet écran pour afficher des infos pour le débugage et vérifier les valeurs transmises par dcs bios.

Sinon il me faudrait de la 'petite visserie' parce que la fixation au panneau laisse à désirer. Du genre des tiges filletées en 3mm et 40 de long par exemple ça se trouve où ?
Je crois que drico bepot ils ont du 4mm ?
Pièces jointes
Montage à base de 74hc595 pour avoir plus de sorties sur une carte arduino
Montage à base de 74hc595 pour avoir plus de sorties sur une carte arduino
74hc595.jpg (125.19 Kio) Consulté 3185 fois
Panneau de led pour les alarmes
Panneau de led pour les alarmes
panneau_led.jpg (95.38 Kio) Consulté 3185 fois
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#12

Message par Vmf214 »

A la recherche d'écran pour faire un horizon artificiel, j'ai ressorti une solution qui me permettra d'avoir des écrans tactiles dans différentes tailles et en plus programmables.

Kivy est un framework python dont le code fonctionne sur :
- Android (Tablette et téléphone)
- IOS (idem)
- Mac
- Windows
- Linux
- Raspberry pi

Avec ma tablette et un vieux télépone android, je vais pouvoir ajouter deux écrans dans mon panel. Et encore avec un vieux pc portable je vais pouvoir en afficher des choses :)

L'intérêt principal c'est de profiter que DcsBios diffuse, quoi qu'il arrive, les infos du simulateur sur le réseau local (Broadcast UDP) donc mon pc principal n'est quasiment pas sollicité et les écrans 'intelligents' utilisent leur puissance de calcul.

Quand mon code sera un peu présentable je le mettrai sur Github, là pour l'instant j'ai que la vitesse et le vertical velocity avec l'aiguille rouge à la place d'être jaune...

J'y arriverai ! :Jumpy:
Pièces jointes
App kivy Dcs Bios
App kivy Dcs Bios
kivy.jpg (131.38 Kio) Consulté 3106 fois
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

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

Re: Premier panel

#13

Message par Hombre »

Salut Vmf214

Super travail.
Pour ma part moi aussi je travail sur un panel ou je mets pas mal de choses pour le M2000. Bien sur rien à voir avec une copie conforme du 2000
Je suis intéressé par ton travail sur le panneau d'alarme et l'utilisation du CI 74hc595. Je voudrais faire la même chose pour mon panneau d'alarme sur la partie du train d'atterrissage ,AF etc..
Mais pour chaque alarme ou indication j'ai une ligne de code DCSBios. Comment tu lies une dizaine de lignes de DCSBios pour une sortie 3 fils.
Merci

Cdt
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#14

Message par Vmf214 »

Salut Hombre

Voici le code, enfin un extrait de mes warnings.
A chaque fois que dcs bios appel onLowFuelChange... ou un onBatteryWarningChange... je mets à jour la lampe correspondante dans le tableau warning_lamp[13].
J'ai 13 lampes donc indices 0 a 12. Bien sûr mets les tien du mirage 2000 et adapte aussi les numéros de pin du arduino.

Puis dans void loop j'appel update_warning_panel(); qui mettra à jour l'affichage en fonction du tableau des lampes. Je suis pas revenu sur le code il peut être amélioré mais il fonctionne.

Code : Tout sélectionner

unsigned int warning_lamp[13]; // tableau des valeurs des 13 lampes //// Code trouvé sur le site http://www.zem.fr/decouverte-du-composant-74hc595-8-bit-shift-register/ // 74hc595 int SER_Pin = 2; // 8; //pin 14 on the 75HC595 int RCLK_Pin = 3; // 9; //pin 12 on the 75HC595 int SRCLK_Pin = 4; // 10; //pin 11 on the 75HC595 //How many of the shift registers - change this #define number_of_74hc595s 2 //do not touch #define numOfRegisterPins number_of_74hc595s * 8 boolean registers[numOfRegisterPins]; //set all register pins to LOW void clearRegisters(){ for(int i = numOfRegisterPins - 1; i >= 0; i--){ registers[i] = LOW; } } //Set and display registers //Only call AFTER all values are set how you would like (slow otherwise) void writeRegisters(){ digitalWrite(RCLK_Pin, LOW); for(int i = numOfRegisterPins - 1; i >= 0; i--){ digitalWrite(SRCLK_Pin, LOW); int val = registers[i]; digitalWrite(SER_Pin, val); digitalWrite(SRCLK_Pin, HIGH); } digitalWrite(RCLK_Pin, HIGH); } //set an individual pin HIGH or LOW void setRegisterPin(int index, int value){ registers[index] = value; } // fin du code trouvé sur Code trouvé sur le site http://www.zem.fr/decouverte-du-composant-74hc595-8-bit-shift-register/ //// void onBatteryWarningChange(unsigned int newValue) { warning_lamp[2] = newValue; //BAT } DcsBios::IntegerBuffer batteryWarningBuffer(0x585c, 0x0200, 9, onBatteryWarningChange); void onLowFuelChange(unsigned int newValue) { warning_lamp[3] = newValue; //COMB } DcsBios::IntegerBuffer lowFuelBuffer(0x585c, 0x1000, 12, onLowFuelChange); void update_warning_panel(){ int i; for (i=0; i<13; i++){ if ( warning_lamp[i]== 1){ setRegisterPin(i, HIGH); } else { setRegisterPin(i, LOW); } } writeRegisters(); //MUST BE CALLED TO DISPLAY CHANGES } void setup(){ DcsBios::setup(); pinMode(SER_Pin, OUTPUT); pinMode(RCLK_Pin, OUTPUT); pinMode(SRCLK_Pin, OUTPUT); //reset all register pins clearRegisters(); writeRegisters(); } void loop(){ DcsBios::loop(); update_warning_panel(); }
Par contre pour le montage il existe des 74hc595 sur pcb que tu peux par exemple trouver là : https://www.amazon.fr/MagiDeal-74hc595- ... 5+breakout

Je les ai découverts après avoir fait mon montage, ça aurait été moins galère.Voilà j'éspère que tu trouveras ce dont tu as besoin.
Ci joint la photo de mon panel, temporaire je vais essayer d'améliorer la présentation, si si. La photo diffuse plus la lumière qu'en réalité, ça fait vraiment un rectangle pour chaque lampe sans baver sur la lampe d'a coté
Pièces jointes
Panneau alarme 74hc595
Panneau alarme 74hc595
warning_panel.jpg (73.01 Kio) Consulté 2984 fois
Dernière modification par Vmf214 le sam. mars 17, 2018 9:32 pm, modifié 3 fois.
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

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

Re: Premier panel

#15

Message par Hombre »

Merci pour l'info.
Voici ce que j'ai écrit

Il m'affiche lorsque je vérifie le prog ceci: " conflicting declaration 'unsigned int warning_lamp [15] '
?????? Je ne comprends pas.



[#define DCSBIOS_DEFAULT_SERIAL


#include <DcsBios.h>

#include <Shifty.h>

unsigned int warning_lamp[10]; // tableau des valeurs des 10 lampes

int SER_Pin = 8; //pin 14 on the 75HC595
int RCLK_Pin = 9; //pin 12 on the 75HC595
int SRCLK_Pin = 10; //pin 11 on the 75HC595
unsigned int warning_lamp[15]={0};


boolean registers[numOfRegisterPins];


//set all register pins to LOW
void clearRegisters(){
for(int i = numOfRegisterPins - 1; i >= 0; i--){
registers = LOW;
}
}

//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters(){

digitalWrite(RCLK_Pin, LOW);

for(int i = numOfRegisterPins - 1; i >= 0; i--){
digitalWrite(SRCLK_Pin, LOW);

int val = registers;

digitalWrite(SER_Pin, val);
digitalWrite(SRCLK_Pin, HIGH);

}
digitalWrite(RCLK_Pin, HIGH);

}

//set an individual pin HIGH or LOW
void setRegisterPin(int index, int value){
registers[index] = value;
}

void onConfDiravChange(unsigned int newValue) {
warning_lamp[1] = newvalue; //DIRAV
}
DcsBios::IntegerBuffer confDiravBuffer(0x6044, 0x1000, 12, onConfDiravChange);

void onConfAChange(unsigned int newValue) {
warning_lamp[2] = newvalue; //LEFT FLAPS
}
DcsBios::IntegerBuffer confABuffer(0x6044, 0x0400, 10, onConfAChange);

void onConfFChange(unsigned int newValue) {
warning_lamp[3] = newvalue; //RIGHT FLAPS
}
DcsBios::IntegerBuffer confFBuffer(0x6044, 0x0800, 11, onConfFChange);

void onConfCrossChange(unsigned int newValue) {
warning_lamp[4] = newvalue; //CROSS
}
DcsBios::IntegerBuffer confCrossBuffer(0x6044, 0x4000, 14, onConfCrossChange);

void onConfFreinChange(unsigned int newValue) {
warning_lamp[5] = newvalue; //FREIN
}
DcsBios::IntegerBuffer confFreinBuffer(0x6044, 0x2000, 13, onConfFreinChange);

void onConfAuxChange(unsigned int newValue) {
warning_lamp[6] = newvalue; //AUX LANDING
}
DcsBios::IntegerBuffer confAuxBuffer(0x604c, 0x0004, 2, onConfAuxChange);

void onConfGChange(unsigned int newValue) {
warning_lamp[7] = newvalue; //LEFT LANDING
}
DcsBios::IntegerBuffer confGBuffer(0x604c, 0x0002, 1, onConfGChange);

void onConfDChange(unsigned int newValue) {
warning_lamp[8] = newvalue; //RIGHT LANDING
}
DcsBios::IntegerBuffer confDBuffer(0x604c, 0x0008, 3, onConfDChange);


void update_warning_panel(){
int i;

for (i=0; i<10; i++){
if ( warning_lamp== 1){
setRegisterPin(i, HIGH);
}
else {
setRegisterPin(i, LOW);
}
}
writeRegisters(); //MUST BE CALLED TO DISPLAY CHANGES
}

void loop() {
DcsBios::loop();
update_warning_panel();
}*]
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#16

Message par Vmf214 »

oups, ma faute : vire la ligne

Code : Tout sélectionner

unsigned int warning_lamp[15]={0};
Ca revient à redéclarer ton tableau et c'est interdit par le compilateur.

Code : Tout sélectionner

//How many of the shift registers - change this #define number_of_74hc595s 2
Et là tu indiques combien tu as de 74hc595, si tu as 10 lampes tu as au minimum 2

Code : Tout sélectionner

//do not touch #define numOfRegisterPins number_of_74hc595s * 8 boolean registers[numOfRegisterPins];
Il faut aussi le #define ci dessus qui reprend la valeur du define précédent.

Bon courage, ça va marcher
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

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

Re: Premier panel

#17

Message par Hombre »

Ah merci, super sympa
Je teste des que j'ai le temps

Cordialement
Avatar de l’utilisateur

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

Re: Premier panel

#18

Message par Hombre »

bonjour,

Bon après avoir corriger, la compilation c'est bien passée.
Je vois que tu n'as pas mis de " void setup ". Sans cela erreur de compil..
Voici mon fichier
Le câblage est bon mais rien ne s'allume, pourtant les bits passent bien à 1 lorsque je me mets en mode développeur sur l'extension dcsbios via windows?.
[*]
#define DCSBIOS_DEFAULT_SERIAL


#include <DcsBios.h>

#include <Shifty.h>

unsigned int warning_lamp[10]; // tableau des valeurs des 10 lampes

int SER_Pin = 10; //pin 14 on the 75HC595
int RCLK_Pin = 11; //pin 12 on the 75HC595
int SRCLK_Pin = 12; //pin 11 on the 75HC595

//How many of the shift registers - change this
#define number_of_74hc595s 2
//do not touch
#define numOfRegisterPins number_of_74hc595s *8

boolean registers[numOfRegisterPins];


//set all register pins to LOW
void clearRegisters(){
for(int i = numOfRegisterPins - 1; i >= 0; i--){
registers = LOW;
}
}

//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters(){

digitalWrite(RCLK_Pin, LOW);

for(int i = numOfRegisterPins - 1; i >= 0; i--){
digitalWrite(SRCLK_Pin, LOW);

int val = registers;

digitalWrite(SER_Pin, val);
digitalWrite(SRCLK_Pin, HIGH);

}
digitalWrite(RCLK_Pin, HIGH);

}

//set an individual pin HIGH or LOW
void setRegisterPin(int index, int value){
registers[index] = value;
}

void onConfDiravChange(unsigned int newValue) {
warning_lamp[1] = newValue; //DIRAV
}
DcsBios::IntegerBuffer confDiravBuffer(0x6044, 0x1000, 12, onConfDiravChange);

void onConfAChange(unsigned int newValue) {
warning_lamp[2] = newValue; //LEFT FLAPS
}
DcsBios::IntegerBuffer confABuffer(0x6044, 0x0400, 10, onConfAChange);

void onConfFChange(unsigned int newValue) {
warning_lamp[3] = newValue; //RIGHT FLAPS
}
DcsBios::IntegerBuffer confFBuffer(0x6044, 0x0800, 11, onConfFChange);

void onConfCrossChange(unsigned int newValue) {
warning_lamp[4] = newValue; //CROSS
}
DcsBios::IntegerBuffer confCrossBuffer(0x6044, 0x4000, 14, onConfCrossChange);

void onConfFreinChange(unsigned int newValue) {
warning_lamp[5] = newValue; //FREIN
}
DcsBios::IntegerBuffer confFreinBuffer(0x6044, 0x2000, 13, onConfFreinChange);

void onConfAuxChange(unsigned int newValue) {
warning_lamp[6] = newValue; //AUX LANDING
}
DcsBios::IntegerBuffer confAuxBuffer(0x604c, 0x0004, 2, onConfAuxChange);

void onConfGChange(unsigned int newValue) {
warning_lamp[7] = newValue; //LEFT LANDING
}
DcsBios::IntegerBuffer confGBuffer(0x604c, 0x0002, 1, onConfGChange);

void onConfDChange(unsigned int newValue) {
warning_lamp[8] = newValue; //RIGHT LANDING
}
DcsBios::IntegerBuffer confDBuffer(0x604c, 0x0008, 3, onConfDChange);

void onConfRougeChange(unsigned int newValue) {
warning_lamp[9] = newValue; // RED LANDING
}
DcsBios::IntegerBuffer confRougeBuffer(0x604c, 0x0001, 0, onConfRougeChange);

void onConfSpadChange(unsigned int newValue) {
warning_lamp[10] = newValue; //SPAD
}
DcsBios::IntegerBuffer confSpadBuffer(0x6044, 0x8000, 15, onConfSpadChange);

void update_warning_panel(){
int i;

for (i=0; i<10; i++){
if ( warning_lamp== 1){
setRegisterPin(i, HIGH);
}
else {
setRegisterPin(i, LOW);
}
}
writeRegisters(); //MUST BE CALLED TO DISPLAY CHANGES
}


void setup() {
DcsBios::setup();
}

void loop() {
DcsBios::loop();
update_warning_panel();
}
[*]

Comment fais tu pour mettre le prog dans une fenêtre comme tu l'as fait?

Merci
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#19

Message par Vmf214 »

Gargl oui il manque la section setup. Si ça marche toujours pas je me ferai un mini projet qu'avec le panneau de leds, comme ça ça sera enfin complet :emlaugh:

Code : Tout sélectionner

/// à l 'intérieur de void setup : pinMode(SER_Pin, OUTPUT); pinMode(RCLK_Pin, OUTPUT); pinMode(SRCLK_Pin, OUTPUT); //reset all register pins clearRegisters(); writeRegisters(); } /////
Dans l'éditeur avancé il y une mise en forme <> <>
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

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

Re: Premier panel

#20

Message par Hombre »

Bonjour,

Cela fonctionne toujours pas, j'ai refait le câblage au cas ou.
Au début du prog j'ai inclut la bibliothèque " include<Shifty.h>, je ne sais pas si cela a une importance, mais comme il s'agit du register 74hc595??

Pour toi c'est fonctionnelle ou tu rencontres des soucis?

Les warning_lamp c'est de 0 à 7 ou 1 à 8?
Avatar de l’utilisateur

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

Re: Premier panel

#21

Message par Hombre »

Youpi c'est bon..................
Merci merci
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#22

Message par Vmf214 »

Ouf c'est beau quand ça fonctionne :yes: :yes: :yes:

Là je vais m'attaquer au PCF8575 pour multiplier les entrées digitales, j'essaye de rester sur un seul arduino mega couplé à DCS BIOS et un seul leonardo (ou 'micro pro' atmel 32u4') pour la partie purement joystick sans la partie dcs bios. Sinon après il faut faire communiquer les cartes entre elles, multiplier les alims, etc...
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Avatar de l’utilisateur

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

Re: Premier panel

#23

Message par Hombre »

Ah ouai, je vois que tu maîtrisses le sujet...
Bon maintenant que cela fonctionne je m'attaque à la réalisation des cartes électroniques.
Avatar de l’utilisateur

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

Re: Premier panel

#24

Message par Hombre »

Bonjour,

Je voudrais réaliser en utilisant une sortie analogique de 0 à 5 v pour afficher une valeur sur 2 afficheurs 7 segments. Quel circuit intégré utiliserais-tu?
Si tu veux j'aimerais utiliser la fonction"analogWrite" qui me sort ma valeur de 0 à 5 v et de la sur un afficheur.
Je trouve pas de réponse sur le net.
Merci

Cdt
Avatar de l’utilisateur

Topic author
Vmf214
Nouvelle Recrue
Nouvelle Recrue
Messages : 87
Inscription : 12 décembre 2017

Re: Premier panel

#25

Message par Vmf214 »

Salut,

Euh... ça dépend de tes besoins et franchement en électronique je tâtonne beaucoup :emlaugh:

Mais sinon peut être ça :

Image

ou ça
Image

Tu avais monté un truc comme ça ? :
Image

Après plusieurs surprises lors des livraisons du style 'mince c'est tout petit', maintenant je me trace sur une feuille la taille de la pièce pour ne pas être trop surpris à l'arrivé
Là j'ai un minuscule écran de 2.5cm par 1.5cm par exemple :hum:

Image

Attention par contre pour les modules I2C, tu peux en mettre plein à condition qu'ils aient chacun une adresse différente.
L'adresse est fixe sur certain composant et modifiable sur d'autres. Mais clairement tu ne peux pas avoir deux modules ayant la même adresse.
Serveur DCS : LFDM WWII_Baie_des_Veys
Site web http://wwii.lfdm.free.fr/
Répondre

Revenir à « Cockpit & mod perso »