Projet Control module

comme ça donc ?

//   G F + A B
//   | | | | |   -> pins and segments they control
//   ---------
//  F|   A   |B
//   |---G---|   -> segments
//  E|   D   |C
//   ---------
//   | | | | |   -> pins and segments they control
//   E D + C DP

// 7 Segments Pin correspondance
const int A = 2;
const int B = 3;
const int C = 4;
const int D = 5;
const int E = 6;
const int F = 7;
const int G = 8;

// Push bouton
const int BUTTON = 10;
const int BUTTON2 = 11;

// Led remplace solenoid
const int LedSA = A14;
const int LedSB = A13;
const int LedSClutch = A12;
const int LedSLockup = A7;
const int LedSPressure = A6;


// on when pin is high
// off when pin is low
const int ON = HIGH;
const int OFF = LOW;

//vitesse
int vitesse = 1;


// action push bouton
int Push = +1;
int Push2 = -1;

// état précédent
static int pushPrec = LOW;
static int push2Prec = LOW;

void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);
  pinMode(BUTTON2, INPUT_PULLUP);
  pinMode(LedSA, OUTPUT);        //solenoid A
  pinMode(LedSB, OUTPUT);        //solenoid B
  pinMode(LedSClutch, OUTPUT);   //solenoid Overrun Clutch
  pinMode(LedSLockup, OUTPUT);  //solenoid Lock-up
  pinMode(LedSPressure, OUTPUT); //solenoid Line Pressure

}
void loop() { // début du loop

  //
  // Début du programme de passage vitesse inferrieure avec bouton -

  static int pushPrec = LOW;    // état précédent
  Push = digitalRead(BUTTON);                 // action bouton +
  if (Push != pushPrec)
  {
    // le bouton a changé d'état
    {
      if (Push == HIGH)                             // pression capté
      if (vitesse<4)
        vitesse++;                                  // vitesse +1
    }
    pushPrec = Push;
  }
  switch (vitesse) { //début du cycle 1-4
    case 1:                 //-
      Vitesse1();
      break;
    case 2:                 //
      Vitesse2();                        // A partir de 1 monter à 4
      break;
    case 3:                 //
      Vitesse3();
      break;
    case 4:                 //-
      Vitesse4();
      break;

  }//fin cycle 1-4
  //
  // Fin du programme de passage vitesse inferrieure avec bouton +
  //
  // Début du programme de passage vitesse inferrieure avec bouton -

  static int push2Prec = LOW;    // état précédent
  Push2 = digitalRead(BUTTON2);                 // action bouton +
  if (Push2 != push2Prec)
  {
    // le bouton a changé d'état
    {
      if (Push2 == HIGH)                             // pression capté
      if (vitesse >1)
        --vitesse;                                  // vitesse +1
    }
    push2Prec = Push2;
  }
  switch (vitesse) { //début du cycle 1-4
    case 1:                 //-
      Vitesse1();
      break;
    case 2:                 //
      Vitesse2();                        // A partir de 1 monter à 4
      break;
    case 3:                 //
      Vitesse3();
      break;
    case 4:                 //-
      Vitesse4();
      break;

  }//fin cycle 1-4
  //
  // Fin du programme de passage vitesse inferrieure avec bouton -



} //fin du loop





// 1 => BC
void Vitesse1() {
  digitalWrite(A, OFF);
  digitalWrite(B, ON);
  digitalWrite(C, ON);
  digitalWrite(D, OFF);
  digitalWrite(E, OFF);
  digitalWrite(F, OFF);
  digitalWrite(G, OFF);
  digitalWrite(LedSA, HIGH);
  digitalWrite(LedSB, LOW);
  digitalWrite(LedSClutch, LOW);
  digitalWrite(LedSLockup, LOW);
  digitalWrite(LedSPressure, HIGH);

}

// 2 => ABDEG
void Vitesse2() {
  digitalWrite(A, ON);
  digitalWrite(B, ON);
  digitalWrite(C, OFF);
  digitalWrite(D, ON);
  digitalWrite(E, ON);
  digitalWrite(F, OFF);
  digitalWrite(G, ON);
  digitalWrite(LedSA, HIGH);
  digitalWrite(LedSB, HIGH);
  digitalWrite(LedSClutch, LOW);
  digitalWrite(LedSLockup, LOW);
  digitalWrite(LedSPressure, HIGH);
}

// 3 => ABCDG
void Vitesse3() {
  digitalWrite(A, ON);
  digitalWrite(B, ON);
  digitalWrite(C, ON);
  digitalWrite(D, ON);
  digitalWrite(E, OFF);
  digitalWrite(F, OFF);
  digitalWrite(G, ON);
  digitalWrite(LedSA, HIGH);
  digitalWrite(LedSB, HIGH);
  digitalWrite(LedSClutch, HIGH);
  digitalWrite(LedSLockup, LOW);
  digitalWrite(LedSPressure, HIGH);
}

// 4 => BCFG
void Vitesse4() {
  digitalWrite(A, OFF);
  digitalWrite(B, ON);
  digitalWrite(C, ON);
  digitalWrite(D, OFF);
  digitalWrite(E, OFF);
  digitalWrite(F, ON);
  digitalWrite(G, ON);
  digitalWrite(LedSA, LOW);
  digitalWrite(LedSB, LOW);
  digitalWrite(LedSClutch, HIGH);
  digitalWrite(LedSLockup, LOW);
  digitalWrite(LedSPressure, HIGH);
}

Pourquoi 3?

La comma ça, sa marche bien :slight_smile: