Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Tout sur les cartes et la programmation des modules ARDUINO

Re: Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Messagede JacquesZ » Dim 9 Avr 2017 00:32

J'ai dit: "de mémoire!" Mais j'étais pas loin... ecroulerire

En ce moment je suis plus dans les minimums de séparation verticale, horizontale, composite, radar, turbulence de sillage, et autres joyeusetés, que du bonheur...
i7 4770K, CM Asus Hero, 16Go, DD1To & SSD 500Go, GTX780Ti et GTX970,win 7 64b FSX
3 x 22" sur Matrox Th2Go + 2 x TV 32"
Tdb: 1 x 17" + 1 x 19"
Saitek Multi & radio panel, GNS430 Emuteq, FFB Yoke Brunner
Arduino MEGA+LeoBodnar
Avatar de l’utilisateur
JacquesZ
 
Messages: 1304
Inscription: 24/11/10

Re: Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Messagede André » Dim 9 Avr 2017 18:49

bonjour à tous et merci pour vos réponse et votre aide
me suis mal expliqué
la programmation c'est aussi un autre problème gratgrat
se que je ne comprend pas c'est les données récupéré par Link2fs comment les programmé à l'arduino gratgrat murrouge
Avatar de l’utilisateur
André
 
Messages: 90
Inscription: 25/08/10

Re: Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Messagede JacquesZ » Dim 9 Avr 2017 19:13

Houla, on part de loin donc.... "Pas de panique!", comme dirait Arthur dans le célèbre Guide du Routard Galactique (HHGTTG)*...

Désolé André de te dire cela mais dans ce cas précis, il faut apprendre à marcher avant de courir, sinon au mieux tu n'arriveras pas à ce que tu veux, au pire tu vas griller ta carte et des composants. Et donc "Back to basics", comme dirait l'autre.

Quel type de carte as-tu?
Le conseil que je te donne, avant d'envisager d'utiliser Link2Fs ou Mobiflight ou quoique ce soit d'autre, est de te familiariser avec ta carte "seule", comment on branche les divers capteurs, inters et leds de base, ensuite comment utiliser l'environnement de programmation (IDE) de l'Arduino pour "téléverser" un script vers la carte.

Et donc de lire cet excellent lunettesnoires thread pour commencer !
http://aircockpit.com/viewtopic.php?f=146&t=4850

Il existe également de très bons tutos sur le Web pour ça, celui d'Eskimon en particulier.

L'idée est déjà d'essayer une tâche simple, du genre brancher un interrupteur (switch, puis bouton poussoir) en entrée de l'Arduino, et de l'autre une Led via une résistance sur une sortie.
Ensuite de créer un petit script que tu téléchargera dont le seul but est d'allumer la led lorsqu'on appuie sur le bouton. Si tua rrives à faire cela tu auras réalisé une bonne partie du boulot!

Un bouquin est fortement recommandé, je te conseille l'excellent -
Le grand livre d'Arduino de E. Bartmann chez Eyrolles ( dispo sur Amazon) très didactique et qui inclut les notions d'électronique de base en prime.

Ensuite, une fois que tu as maîtrisé cet aspect matériel et appris les bases du langage de script d'Arduino, tu pourras envisager d'exploiter Link2Fs avec plus de confiance, et comprendre ce Tuto, et nous essaierons de t'aider dans la mesure du possible.

Jacques
* D'ailleurs la réponse est.....42
i7 4770K, CM Asus Hero, 16Go, DD1To & SSD 500Go, GTX780Ti et GTX970,win 7 64b FSX
3 x 22" sur Matrox Th2Go + 2 x TV 32"
Tdb: 1 x 17" + 1 x 19"
Saitek Multi & radio panel, GNS430 Emuteq, FFB Yoke Brunner
Arduino MEGA+LeoBodnar
Avatar de l’utilisateur
JacquesZ
 
Messages: 1304
Inscription: 24/11/10

Re: Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Messagede André » Dim 9 Avr 2017 19:44

Merci Jacques
j'ai le kit de démarrage arduino avec une carte uno
Le livre de projets arduino
et fait plusieurs montage avec les scriptes
dans l'ensemble sa été
j'ai même fait fonctionné 3 servos avec un potar chouettedoights
mais avec link2fs faut me mettre les poings sur les I
suis plus pros sur la fabrication ( normal suis menuisier )
Avatar de l’utilisateur
André
 
Messages: 90
Inscription: 25/08/10

Re: Interfaçage Arduino & Fsim9/X: Link2Fs démystifié

Messagede JacquesZ » Dim 9 Avr 2017 20:17

Bon y'a plus qu'à mutualiser les compétences alors...parce qu'en menuiserie, j'ai parfois l'impression d'avoir deux mains gauches!

Plus sérieusement, si tu as réglé les premiers problèmes d'interfaçage, il te faut être plus spécifique dans tes demandes.
Que veux-tu faire exactement?
Link2FS consiste en 2 parties:
- Un soft sous Windows qui "cause" dans les deux sens avec l'Arduino en envoyant des caractères texte via le port USB, sur laquelle est téléchargé le script correspondant.
- Un script Arduino que l'on doit adapter à ce que l'on souhaite. Ce script envoie ou reçoit des série de caractères "code" qui sont décodés soit au niveau du soft Windows, soit reçu et exploités au niveau du script Arduino (objet du présent tuto).

Dans Link2FS il existe déjà plusieurs scripts tout prêts "de base" qu'il suffit de télécharger et de suivre, peut-être commencer par là?...

Sinon téléverser vers l'Arduino le script "Mutli-Keys.ino" depuis l'archive http://www.jimspage.co.nz/link2fs_multi_fsx_v5h.zip tel qu'expliqué dans le TUTO,
Code: Tout sélectionner
/*
    This code is in the public domain
    For use with "Link2fs_Multi"
    Jimspage.co.nz
    My thanks to the Guys that gave me snippets of code.
   
    This sets the complete Arduino Mega card for "keys" input except pin 13.
    Attach a switch to any pin (except 13) and program that pin in "Multi"
    Everything to do with "Keys"  starts with a "K" in this code.
   
    To change this for a Uno,, do the following ,,,,
    Line 29 ,, change "70"  to "20"
    Line 117 ,, change "70"  to  "20"
    That will make all the pins on a Uno as "Keys" input pins. (Except pin 13)

*/


int CodeIn;// used on all serial reads
int KpinNo;
int Koutpin;

String KoldpinStateSTR, KpinStateSTR, Kstringnewstate,Kstringoldstate;

void setup()
{
  Kstringoldstate = "111111111111111111111111111111111111111111111111111111111111111111111";
 
  for (int KoutPin = 2; KoutPin < 70; KoutPin++)// Get all the pins ready for "Keys" 
  {
    pinMode(KoutPin, INPUT);
    digitalWrite(KoutPin, HIGH); 
  }
 Serial.begin(115200);   
}

void loop() {
  {KEYS();} //Check the "keys" section
  if (Serial.available()) {
    CodeIn = getChar();
    if (CodeIn == '=') {EQUALS();} // The first identifier is "="
    if (CodeIn == '<') {LESSTHAN();}// The first identifier is "<"
    if (CodeIn == '?') {QUESTION();}// The first identifier is "?"
    if (CodeIn == '/') {SLASH();}// The first identifier is "/" (Annunciators)
  }

}

char getChar()// Get a character from the serial buffer
{
  while(Serial.available() == 0);// wait for data
  return((char)Serial.read());// Thanks Doug
}

void EQUALS(){      // The first identifier was "="
 CodeIn = getChar(); // Get another character
  switch(CodeIn) {// Now lets find what to do with it
    case 'A'://Found the second identifier
       //Do something
    break;
     
    case 'B':
       //Do something
    break;
     
    case 'C':
       //Do something
    break;
   
         //etc etc etc
     }
}

void LESSTHAN(){    // The first identifier was "<"
CodeIn = getChar(); // Get another character
  switch(CodeIn) {// Now lets find what to do with it
    case 'A'://Found the second identifier
       //Do something
    break;
     
    case 'B':
       //Do something
    break;
     
    case 'C':
       //Do something
    break;
       
         //etc etc etc
     }
}

void QUESTION(){    // The first identifier was "?"
CodeIn = getChar(); // Get another character
  switch(CodeIn) {// Now lets find what to do with it
    case 'A'://Found the second identifier
       //Do something
    break;
     
    case 'B':
       //Do something
    break;
     
    case 'C':
       //Do something
    break;
       
         //etc etc etc
     }
}
void SLASH(){    // The first identifier was "/" (Annunciator)
  //Do something
}
void KEYS()
{
  Kstringnewstate = "";
  for (int KpinNo = 2; KpinNo < 70; KpinNo++){
    KpinStateSTR = String(digitalRead(KpinNo));
    KoldpinStateSTR = String(Kstringoldstate.charAt(KpinNo - 2));
    if (KpinStateSTR != KoldpinStateSTR)
    {
      if (KpinNo != 13){
      Serial.print ("D");
      if (KpinNo < 10) Serial.print ("0");
      Serial.print (KpinNo);
      Serial.println (KpinStateSTR);
      }
    }
    Kstringnewstate += KpinStateSTR;
  }
  Kstringoldstate = Kstringnewstate;
}



Et ensuite connecter un inter sur n'importe quelle broche, sauf la 13 comme indiqué et voir ce qu'il se passe? Il faut bien sûr avoir coché au préalable la bonne case dans le soft windows, comme expliqué là:
http://www.jimspage.co.nz/Link2fs_Multi.htm

Je suis désolé mais là j'ai pas le temps de compléter mon tuto, il faut attendre un peu, promis je le complète dès que possible.

De plus, je viens de relire rapidement le post, il me semble que c'est bien expliqué, si on le suit pas à pas, je trouve....

Jacques
i7 4770K, CM Asus Hero, 16Go, DD1To & SSD 500Go, GTX780Ti et GTX970,win 7 64b FSX
3 x 22" sur Matrox Th2Go + 2 x TV 32"
Tdb: 1 x 17" + 1 x 19"
Saitek Multi & radio panel, GNS430 Emuteq, FFB Yoke Brunner
Arduino MEGA+LeoBodnar
Avatar de l’utilisateur
JacquesZ
 
Messages: 1304
Inscription: 24/11/10

Précédente

Retourner vers Interface & logiciel ARDUINO





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité