Besoin d'aide : grand débutant

Tout sur les cartes et la programmation des modules ARDUINO

Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 01:49

Bonjour à tous ( et bonne année )

J'ai un problème, et je ne sais comment le résoudre ...

Image

Il y a un mélange entre ADF et le transpondeur murrouge

J'ai utilisé le code fourni par le créateur de link2FS, en fait, je l'ai complètement copié ... sauf que j'utilise une arduino micro

Es-donc une erreur de code, de cablage ?

Merci d'avance

Amaury
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede LfQQ » Sam 2 Jan 2016 12:39

Déjà, pour que l'on puisse t'aider, est-ce que tu pourrais mettre en ligne ton câblage ( avec Fritzing par exemple ) ?
Et également faire des Screenshots de la page principale de Link2FS ?
Peut-être il faudrait que tu essayes avec une UNO ou une MEGA pour voir si le problème est logicielle ou matérielle.
Après, je ne me suis pas penché sur Linl2FS, bien que j'ai lu les tutoriels de JacquesZ qui sont très bien rédigés ! Je te conseille d'aller les voir si ce n'est pas déjà fait rigolus
LFQQ
I7 4790 3,6-4 GHz- MSI Z97 - GTX 960 EXOC 2go VRAM - 8go RAM DDR3 - DD 1To
ARDUINO MEGA 2560 R3 / UNO R3 & X-PLANE 10.41.
Only Chuck Norris can land on RNY 37
Brevet de Pilote Planeur en cours chouettedoights
LfQQ
 
Messages: 187
Inscription: 3/08/14

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 14:55

Merci de m'avoir répondu !!

Pour le câblage :

Image

Et link2FS

Image

Image

Le code si quelqu’un s'y connais ^^

Code: Tout sélectionner
#include <LiquidCrystal.h>
#include "math.h"
#include "Quadrature.h"
Quadrature quad1(8, 9);
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int CodeIn;// used on all serial reads
int X;// a rotary variable
int Xold;// the old reading
int Xdif;// the difference since last loop
int active; // the mode thats active
int activeold;
int mark; // shows where the cursor is in the likes of ADF etc

String oldpinStateSTR, pinStateSTR, pinStateString, APsp, APspold, stringnewstate,stringoldstate, com1, com1old, com1sb, com1sbold,com2, com2old, com2sb,com2sbold, airsp, airspold, altit, altitold;
String nav1, nav1old, nav1sb, nav1sbold, nav2, nav2old, nav2sb, nav2sbold;
String adf, adfold, xpdr, xpdrold, dme1, dme1old, dme2, dme2old, pitot, pitotold;
char blank = 255;

void setup()
{
  lcd.begin(16, 2); // set up the LCD's number of columns and rows:
  stringoldstate = "111111111111111111111111111111111111111111111111111111111111111111111";
  Serial.begin(115200);
  for (int doutPin = 10; doutPin <= 19; doutPin++) // setup the input pins
  { 
    pinMode(doutPin, INPUT);
    digitalWrite(doutPin, HIGH); 
  } 
  mark = 10;
  lcd.clear();
}

void loop() {
   {INPUTPINS();} //Check the "button pressed" section
   {LCDMODE();}  // Sets up the LCD for the mode it's in (From the rotary switch)
   {ROTARYS();} // go and check the rotary encoder
  if (Serial.available()) { // now lets check the serial buffer for any input data
    CodeIn = getChar();
    if (CodeIn == '=') {EQUALS();}// The first identifier is "="
  } // end of serial available
 }// edn of void loop
 
char getChar()// Get a character from the serial buffer
{
  while(Serial.available() == 0);// wait for data
  return((char)Serial.read());// Thanks Doug
}//end of getchar
 
void LCDMODE(){
if (active != activeold)
    activeold = active;
  if (digitalRead(12)==0 and active != 12) { // Sets up the LCD when switching to Com1)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("Com.1    ");
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(com1);
    lcd.setCursor(0, 1);
    delay (11);
    lcd.print("  s/b    ");
    lcd.setCursor(9, 1);
    delay (11);
    lcd.print(com1sb);
    active = 12;
  }

  if (digitalRead(14)==0 and active != 14) {  // Sets up the LCD when switching to Com2)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("Com.2    "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(com2);
    lcd.setCursor(0, 1);
    lcd.print("  s/b    ");
    lcd.setCursor(9, 1);
    delay (11);
    lcd.print(com2sb);
    active = 14;
  }

  if (digitalRead(15)==0 and active != 15) {  // Sets up the LCD when switching to Nav1)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("Nav.1    "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(nav1);
    lcd.setCursor(0, 1);
    lcd.print("  s/b    ");
    lcd.setCursor(9, 1);
    delay (11);
    lcd.print(nav1sb);
    active = 15;
  }
  if (digitalRead(16)==0 and active != 16) {  // Sets up the LCD when switching to Nav2)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("Nav.2    "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(nav2);
    lcd.setCursor(0, 1);
    lcd.print("  s/b    ");
    lcd.setCursor(9, 1);
    delay (11);
    lcd.print(nav2sb);
    active = 16;
  }   
  if (digitalRead(17)==0 and active != 17) {  // Sets up the LCD when switching to ADF)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("ADF      "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(adf);
    lcd.print("  ");
    lcd.setCursor(0, 1);
    lcd.print("                ");
    if (mark == 9 ){mark = 10;}
    lcd.setCursor(mark, 1);
    lcd.print("-");
    active = 17;             
  }   
  if (digitalRead(18)==0 and active != 18) {  // Sets up the LCD when switching to DME)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("DME1     "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(dme1);
    lcd.print("  ");
    lcd.setCursor(0, 1);
    lcd.print("DME2     ");
    lcd.setCursor(9, 1);
    delay (11);
    lcd.print(dme2);
    active = 18;
  }       
  if (digitalRead(19)==0 and active != 19) {  // Sets up the LCD when switching to XPDR)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("XPonder  "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(xpdr);
    //lcd.print("    ");
    lcd.setCursor(0, 1);
    lcd.print("                ");
    lcd.setCursor(mark, 1);
    lcd.print("-");
    active = 19;                   
   }         
  } // end of LCDmode

void EQUALS(){      // The first identifier was "="
       delay (11);
       CodeIn = getChar(); // Get another character
  switch(CodeIn) {// Now lets find what to do with it
    case 'A'://Found the second identifier "Com1"
        com1 = "";
        com1 += getChar();
        com1 += getChar();
        com1 += getChar();
        com1 += getChar();
        com1 += getChar();
        com1 += getChar();
        com1 += getChar();
        if (com1 != com1old && digitalRead(12) == LOW) {
          delay (11);
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(com1);
          com1old = com1;
          }
         break;
      case 'B': // Found the reading "Com1 s/b"
        com1sb = "";
        com1sb += getChar();
        com1sb += getChar();
        com1sb += getChar();
        com1sb += getChar();
        com1sb += getChar();
        com1sb += getChar();
        com1sb += getChar();
        if (com1sb != com1sbold && digitalRead(12) == LOW ){
          delay (11);
          lcd.setCursor(9, 1);
          delay (11);
          lcd.print(com1sb);
          com1sbold = com1sb;
          }       
         break;
       case  'C': //  Found the reading "Com2"
        com2 = "";
        com2 += getChar();
        com2 += getChar();
        com2 += getChar();
        com2 += getChar();
        com2 += getChar();
        com2 += getChar();
        com2 += getChar();
        if (com2 != com2old && digitalRead(14) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(com2);
          com2old = com2;
          }
         break;
       case  'D': //  Found the reading "Com2 s/b"
        com2sb = "";
        com2sb += getChar();
        com2sb += getChar();
        com2sb += getChar();
        com2sb += getChar();
        com2sb += getChar();
        com2sb += getChar();
        com2sb += getChar();
        if (com2sb != com2sbold && digitalRead(14) == LOW) {
          lcd.setCursor(9, 1);
          delay (11);
          lcd.print(com2sb);
          com2sbold = com2sb;
          }
         break;         
       case  'E': //  Found the reading "Nav1"
        delay (11);
        nav1 = "";
        nav1 += getChar();
        nav1 += getChar();
        nav1 += getChar();
        nav1 += getChar();
        nav1 += getChar();
        nav1 += getChar();
        nav1 += (" "); //pads it up to 8 caracters
        if (nav1 != nav1old && digitalRead(15) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(nav1);
          nav1old = nav1;
          }
         break;
       case  'F': //  Found the reading "Nav1 s/b"
        nav1sb = "";
        nav1sb += getChar();
        nav1sb += getChar();
        nav1sb += getChar();
        nav1sb += getChar();
        nav1sb += getChar();
        nav1sb += getChar();
        nav1sb += (" "); //pads it up to 8 caracters
        if (nav1sb != nav1sbold && digitalRead(15) == LOW) {
          lcd.setCursor(9, 1);
          delay (11);
          lcd.print(nav1sb);
          nav1sbold = nav1sb;
          }             
         break;
       case  'G': //  Found the reading "Nav2"
        delay (11);
        nav2 = "";
        nav2 += getChar();
        nav2 += getChar();
        nav2 += getChar();
        nav2 += getChar();
        nav2 += getChar();
        nav2 += getChar();
        nav2 += (" "); //pads it up to 8 caracters
        if (nav2 != nav2old && digitalRead(16) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(nav2);
          nav2old = nav2;
          }
         break;
       case  'H': //  Found the reading "Nav2 s/b"
        nav2sb = "";
        nav2sb += getChar();
        nav2sb += getChar();
        nav2sb += getChar();
        nav2sb += getChar();
        nav2sb += getChar();
        nav2sb += getChar();
        nav2sb += (" "); //pads it up to 8 caracters
        if (nav2sb != nav2sbold && digitalRead(16) == LOW) {
          lcd.setCursor(9, 1);
          delay (11);
          lcd.print(nav2sb);
          nav2sbold = nav2sb;
          }             
         break;
       case  'I': //  Found the reading "ADF"
        adf = "";
        adf += getChar();
        adf += getChar();
        adf += getChar();
        adf += getChar();
        adf += getChar();
        adf += getChar();
        adf += (" "); //pads it up to 8 caracters
        if (adf != adfold && digitalRead(17) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(adf);
          adfold = adf;
          }
         break;   
       case  'J': //  Found the reading "XPDR"
        delay (11);
        xpdr = "";
        xpdr += getChar();
        xpdr += getChar();
        xpdr += getChar();
        xpdr += getChar();
        xpdr += ("    "); //pads it up to 8 caracters
        if (xpdr != xpdrold && digitalRead(19) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(xpdr);
          xpdrold = xpdr;
          }               
         break;
       case  'K': //  Found the reading "DME1"
        delay (11);
        dme1 = "";
        dme1 += getChar();
        dme1 += getChar();
        dme1 += getChar();
        dme1 += getChar();
        dme1 += getChar();
        dme1 += ("   "); //pads it up to 8 caracters
        if (dme1 != dme1old && digitalRead(18) == LOW) {
          lcd.setCursor(9, 0);
          delay (11);
          lcd.print(dme1);
          dme1old = dme1;
          }
         break;         
       case  'L': //  Found the reading "DME2"
        delay (11);
        dme2 = "";
        dme2 += getChar();
        dme2 += getChar();
        dme2 += getChar();
        dme2 += getChar();
        dme2 += getChar();
        dme2 += ("   "); //pads it up to 8 caracters
        if (dme2 != dme2old && digitalRead(18) == LOW) {
          lcd.setCursor(9, 1);
          delay (11);
          lcd.print(dme2);
          dme2old = dme2;
        }
        break;
      }               
    }

  void ROTARYS() {//now the bit for the rotary encoder input
  X =(quad1.position()/2);
  if (X != Xold) { // checks to see if it different
    (Xdif = (X-Xold));// finds out the difference
    //lcd.setCursor(0, 0);
 
    if (active == 12){// Com1 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A01");
        }
        else Serial.println("A03");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A02");
        }
        else Serial.println("A04");
      }
    }
    if (active == 14){// Com2 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A07");
        }
        else Serial.println("A09");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A08");
        }
        else Serial.println("A10");
      }
    }
    if (active == 15){// Nav1 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A13");
        }
        else Serial.println("A15");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A14");
        }
        else Serial.println("A16");
      }
    }
    if (active == 16){// Nav2 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A19");
        }
        else Serial.println("A21");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A20");
        }
        else Serial.println("A22");
      }
    }
    if (active == 17){// ADF rotary encoder output
      if (digitalRead(10)==0 ) {
        if (Xdif == 1) {
          mark = (mark - 1);
          active = 2;
          if (mark == 13) mark =12;
        }
        if (Xdif == -1){
          mark = (mark + 1);
          active = 2;
          if (mark == 13) mark =14;
        }
        if (mark > 14) mark = 14;
        if (mark < 10) mark = 10;
      }
      else{
        if (Xdif == 1) {
          if (mark == 10) {
            Serial.println("A29");
          }
          if (mark == 11) {
            Serial.println("A30");
          }
          if (mark == 12) {
            Serial.println("A31");
          }
          if (mark == 14) {
            Serial.println("A32");
          }
        }   
        if (Xdif == -1){
          if (mark == 10){
            Serial.println("A25");
          } 
          if (mark == 11){
            Serial.println("A26");
          } 
          if (mark == 12){
            Serial.println("A27");
          } 
          if (mark == 14){
            Serial.println("A28");
          } 
        }
      }
    }
    if (active == 19){// Xponder rotary encoder output
      if (digitalRead(10)==0 ) {
        if (Xdif == 1) {
          mark = (mark - 1);
          active = 2;
        }
        if (Xdif == -1){
          mark = (mark + 1);
          active = 2;
        }
        if (mark > 12) mark = 12;
        if (mark < 9) mark = 9;
      }
      else{
        if (Xdif == 1) {
          if (mark == 9) {
            Serial.println("A38");
          }
          if (mark == 10) {
            Serial.println("A39");
          }
          if (mark == 11) {
            Serial.println("A40");
          }
          if (mark == 12) {
            Serial.println("A41");
          }
        }   
        if (Xdif == -1){
          if (mark == 9){
            Serial.println("A34");
          } 
          if (mark == 10){
            Serial.println("A35");
          } 
          if (mark == 11){
            Serial.println("A36");
          } 
          if (mark == 12){
            Serial.println("A37");
          } 
        }
      }   
    }

    if (quad1.position() > 100){ // zero the rotary encoder count if too high or low
      quad1.position(0);
    }
    if (quad1.position() < -100){
      quad1.position(0);
    }
    Xold = X; // overwrites the old reading with the new one.
    }
  }// end of rotarys
 
void INPUTPINS(){
  stringnewstate = "";
  for (int pinNo = 10; pinNo <= 19; pinNo++){
    pinStateSTR = String(digitalRead(pinNo));
    oldpinStateSTR = "";
    oldpinStateSTR += String(stringoldstate.charAt(pinNo - 10));
    if (pinStateSTR != oldpinStateSTR) {
      if (pinNo == 11 and pinStateSTR == "0") { //Change-over button pressed
        if (active == 12) Serial.println("A06");
        if (active == 14) Serial.println("A12");
        if (active == 15) Serial.println("A18");
        if (active == 16) Serial.println("A24");
        if ( active == 17){
          mark = (mark + 1);
          if (mark == 13){
            mark = 14;
          }// sort out for piont in ADF
          active = 1;
          if (mark > 14)mark = 10;
        }
        if  (active == 19){
          mark = (mark + 1);
          if (mark == 13){
            mark = 9;
          }// sort out for length Xponder
          active = 1;
          if (mark > 12)mark = 12;
        }
      } // end of "if it's pin ??" do something
    }// end of "yes it's different"
 stringnewstate += pinStateSTR;
  }
  stringoldstate = stringnewstate;
    delay(11);
}// end of inputpins



merci affiche merci affiche

Amaury
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 14:59

Pour plus de précision :

Quand je sélectionne le mode transpondeur, il s'affiche, mais avec en plus "ADF" de marqué

Quand je sélectionne une position du rotary switch non utilisée, alors, "ADF" est toujours là ... tapebaton
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 15:23

Bon, je sais, je vais vite ^^

dans le code que j'ai mis un peu au dessus, j''ai enlever la partie

Code: Tout sélectionner
}   
  if (digitalRead(17)==0 and active != 17) {  // Sets up the LCD when switching to ADF)
    lcd.setCursor(0, 0);
    delay (11);
    lcd.print("ADF      "); 
    lcd.setCursor(9, 0);
    delay (11);
    lcd.print(adf);
    lcd.print("  ");
    lcd.setCursor(0, 1);
    lcd.print("                ");
    if (mark == 9 ){mark = 10;}
    lcd.setCursor(mark, 1);
    lcd.print("-");
    active = 17;         


et la y'a plus de problème de "double affichage" ... même si ya plus adf ... yeuxhaut rirebleu

Amaury
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede LfQQ » Sam 2 Jan 2016 17:29

Faux contact ?
Est-ce que tu as essayer de débrancher puis re-brancher les fils ?
I7 4790 3,6-4 GHz- MSI Z97 - GTX 960 EXOC 2go VRAM - 8go RAM DDR3 - DD 1To
ARDUINO MEGA 2560 R3 / UNO R3 & X-PLANE 10.41.
Only Chuck Norris can land on RNY 37
Brevet de Pilote Planeur en cours chouettedoights
LfQQ
 
Messages: 187
Inscription: 3/08/14

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 18:39

J'ai fais une grosse check list et je vois pas de pb apparents .... gratgrat

Aucun court circuit, aucun cable qui pourrai gener mes inters ...

En plus mon encodeur ne fonctionne pas, je ne sais pas comment le commander rirebleu #grosnoob
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede LfQQ » Sam 2 Jan 2016 19:11

Teste peut-être tous les composants indépendamment ( mais pas sur FSX ) pour voir si ils sont HS ou pas cligneoeil rigolus .
Peut-être que ton rotary est HS ( fait un montage basique avec une Led pour chaque position par exemple ).
Après, je ne pense pas que je puisse t'aider beaucoup si c'est un problème Logicielle, car je connais pas Link2fs...
LFQQ
I7 4790 3,6-4 GHz- MSI Z97 - GTX 960 EXOC 2go VRAM - 8go RAM DDR3 - DD 1To
ARDUINO MEGA 2560 R3 / UNO R3 & X-PLANE 10.41.
Only Chuck Norris can land on RNY 37
Brevet de Pilote Planeur en cours chouettedoights
LfQQ
 
Messages: 187
Inscription: 3/08/14

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Sam 2 Jan 2016 19:37

Je vas tester mon rotary switch ... au pire j'ai mon frère qui sait coder, il m'apprendra cligneoeil

Merci beaucoup merci affiche

Amaury
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Re: Besoin d'aide : grand débutant

Messagede Beginoffly » Dim 3 Jan 2016 11:57

Je pense que mon encodeur est mal brancher ( il est mis sur l'entrée 8 et 9 )

Code: Tout sélectionner
void ROTARYS() {//now the bit for the rotary encoder input
  X =(quad1.position()/2);
  if (X != Xold) { // checks to see if it different
    (Xdif = (X-Xold));// finds out the difference
    //lcd.setCursor(0, 0);
 
    if (active == 12){// Com1 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A01");
        }
        else Serial.println("A03");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A02");
        }
        else Serial.println("A04");
      }
    }
    if (active == 14){// Com2 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A07");
        }
        else Serial.println("A09");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A08");
        }
        else Serial.println("A10");
      }
    }
    if (active == 15){// Nav1 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A13");
        }
        else Serial.println("A15");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A14");
        }
        else Serial.println("A16");
      }
    }
    if (active == 16){// Nav2 rotary encoder output
      if (Xdif == 1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A19");
        }
        else Serial.println("A21");
      }
      if (Xdif == -1) {
        if (digitalRead(10)==0 ) {
          Serial.println("A20");
        }
        else Serial.println("A22");
      }
    }
    if (active == 17){// ADF rotary encoder output
      if (digitalRead(10)==0 ) {
        if (Xdif == 1) {
          mark = (mark - 1);
          active = 2;
          if (mark == 13) mark =12;
        }
        if (Xdif == -1){
          mark = (mark + 1);
          active = 2;
          if (mark == 13) mark =14;
        }
        if (mark > 14) mark = 14;
        if (mark < 10) mark = 10;
      }
      else{
        if (Xdif == 1) {
          if (mark == 10) {
            Serial.println("A29");
          }
          if (mark == 11) {
            Serial.println("A30");
          }
          if (mark == 12) {
            Serial.println("A31");
          }
          if (mark == 14) {
            Serial.println("A32");
          }
        }   
        if (Xdif == -1){
          if (mark == 10){
            Serial.println("A25");
          } 
          if (mark == 11){
            Serial.println("A26");
          } 
          if (mark == 12){
            Serial.println("A27");
          } 
          if (mark == 14){
            Serial.println("A28");
          } 
        }
      }
    }
    if (active == 19){// Xponder rotary encoder output
      if (digitalRead(10)==0 ) {
        if (Xdif == 1) {
          mark = (mark - 1);
          active = 2;
        }
        if (Xdif == -1){
          mark = (mark + 1);
          active = 2;
        }
        if (mark > 12) mark = 12;
        if (mark < 9) mark = 9;
      }
      else{
        if (Xdif == 1) {
          if (mark == 9) {
            Serial.println("A38");
          }
          if (mark == 10) {
            Serial.println("A39");
          }
          if (mark == 11) {
            Serial.println("A40");
          }
          if (mark == 12) {
            Serial.println("A41");
          }
        }   
        if (Xdif == -1){
          if (mark == 9){
            Serial.println("A34");
          } 
          if (mark == 10){
            Serial.println("A35");
          } 
          if (mark == 11){
            Serial.println("A36");
          } 
          if (mark == 12){
            Serial.println("A37");
          } 
        }
      }   
    }

    if (quad1.position() > 100){ // zero the rotary encoder count if too high or low
      quad1.position(0);
    }
    if (quad1.position() < -100){
      quad1.position(0);
    }
    Xold = X; // overwrites the old reading with the new one.
    }
  }// end of rotarys


Es ce que ce code m'indique l'endroit ou est mon encodeur et où il devrait être ?

Merci d'avance

Amaury
A320-214 flight sim builder
Beginoffly
 
Messages: 149
Inscription: 10/03/15

Suivante

Retourner vers Interface & logiciel ARDUINO





Qui est en ligne

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