Aller au contenu


Rhum07

Inscrit(e) (le) 19 août 2020
Déconnecté Dernière activité sept. 15 2020 09:42
-----

Messages que j'ai postés

Dans le sujet : besoin d'aide programmation arduino

09 septembre 2020 - 11:11

Merci Mike, j'essaie ça dès que possible et fait un retour. 😉

Dans le sujet : besoin d'aide programmation arduino

09 septembre 2020 - 09:48

La pente ne peut pas être la même puisque les valeurs de retard sont différentes. Mais peut être que je me trompe ou que j'ai mal compris la question.


Dans le sujet : besoin d'aide programmation arduino

09 septembre 2020 - 03:56

Ci-dessous, une avancée du codage.

Mais connaîtriez vous une solution pour avoir un décalage linéaire au lieu d'une marche a chaque changement d'état?

Merci.

 

#define INPUTPIN 2
#define OUTPUTPIN 5

bool nouveauPulse = false;
bool pulseEnCours = false;
uint32_t tempsProchainPulse = 0;
bool oldEtat = LOW;
uint32_t oldTemps = 0;

void setup() {
   pinMode(INPUTPIN, INPUT);
   pinMode(OUTPUTPIN, OUTPUT);
   digitalWrite(OUTPUTPIN, HIGH);
}

void loop() {
   uint32_t temps = micros();
   if ( !nouveauPulse ) {
      bool etat = digitalRead(INPUTPIN);
      if ( etat != oldEtat ) {
         oldEtat = etat;
         if (etat) {
            uint32_t delaisInterChange = temps - oldTemps;
            tempsProchainPulse = temps + decalagePulse(delaisInterChange);

            oldTemps = temps;
            nouveauPulse = true;
         }
      }
   } else {
      if ( temps >= tempsProchainPulse ) {
            digitalWrite(OUTPUTPIN, LOW);
            digitalWrite(OUTPUTPIN, HIGH);
            nouveauPulse = false;
      }
   }
}
uint32_t decalagePulse (uint32_t delaisInterChange) {
  if ( delaisInterChange > 8570 ) {  // 6666 µs  = 0.006s environ 150 hz ( calcul : 1000 * 1000 * 1 / 150)
    return 500 ;
  }
  else if ( delaisInterChange > 7500  ) {
    return 1000 ;
  }
  else if ( delaisInterChange > 6666  ) {
    return 2000 ;
  }
  else if ( delaisInterChange > 6000  ) {
    return 3000 ;
  }
  else {
    return 300;
  }
}

Dans le sujet : besoin d'aide programmation arduino

05 septembre 2020 - 12:19

Merci Mike, cela fonctionne.  :yahoo:


Dans le sujet : besoin d'aide programmation arduino

04 septembre 2020 - 07:35

J'essaie tout ça.