Go Down

Topic: merci de m'aider a resoudre ce probleme (Read 111 times) previous topic - next topic

zsallam


aarg

Did you cut and paste code from a browser window?
  ... with a transistor and a large sum of money to spend ...
Please don't PM me with technical questions. Post them in the forum.

zsallam

#define capPin A5
#define buz 9
#define pulsePin A4

#define led 10

long sumExpect = 0; // somme
cumulée de 64 sommes  ignorées depuis longtemps = 0; // nombre de sommes ignorées
long diff = 0; // différence entre sum et avgsum
long pTime = 0;
long buzPeriod = 0;

void setup ()
{
  Serial.begin (9600);
  pinMode (pulsePin, OUTPUT);
  digitalWrite (pulsePin, LOW);
  pinMode (capPin, INPUT); 
  pinMode (buz, OUTPUT);
  digitalWrite (buz, LOW);
  pinMode (led, SORTIE);
}

boucle vide ()
{
  int minval = 1023;
  int maxval = 0;
  long entier non signé = 0;
  for (int i = 0; i <256; i ++)
  {
    // réinitialiser le condensateur
    pinMode (capPin, OUTPUT);
    digitalWrite (capPin, LOW);
    delayMicroseconds (20);
    pinMode (capPin, INPUT);
    applyPulses ();
   
    // lire la charge du condensateur
    int val = analogRead (capPin); // prend 13x8 = 104 microsecondes
    minval = min (val, minval);
    maxval = max (val, maxval);
    somme + = val;
   
    long unsigned int cTime = millis ();
    char buzState = 0;
    if (cTime <pTime + 10)
    {
      if (diff> 0)
        buzState = 1;
      sinon si (diff <0)
        buzState = 2;
    }
    if (cTime> pTime + buzPeriod)
    {
      if (diff> 0)
      buzState = 1;
      sinon si (diff <0)
      buzState = 2;
      pTime = cTime;   
    }
    if (buzPeriod> 300)
    buzState = 0;

    if (buzState == 0)
    {
      digitalWrite (led, LOW);
      noTone (buz);
    } 
    else if (buzState == 1)
    {
      tone (buz, 2000);
      digitalWrite (led, HIGH);
    }
   
    else if (buzState == 2)
    {
      tone (buz, 500);
      digitalWrite (led, HIGH);
    }
  }

  // soustrait les valeurs minimale et maximale pour supprimer les pics
  sum- = minval;
  sum- = maxval;
 
  if (sumExpect == 0)
  sumExpect = sum << 6; // définir sumExpect à la valeur attendue
  long int avgsum = (sumExpect + 32) >> 6;
  diff = somme-moyenne;
  if (abs (diff) <avgsum>> 10)
  {
    sumExpect = sumExpect + sum-avgsum;
    ignor = 0;
  }
  else
    ignor ++;
  if (ignor> 64)
  {
    sumExpect = sum << 6;
    ignor = 0;
  }
  if (diff == 0)
    buzPeriod = 1000000;
  sinon
  buzPeriod = avgsum / (2 * abs (diff));   
}

void applyPulses ()
{
    for (int i = 0; i <3; i ++)
    {
      digitalWrite (pulsePin, HIGH); // prend 3,5 uS
      delayMicroseconds (3);
      digitalWrite (pulsePin, LOW); // prend 3,5 uS
      delayMicroseconds (3);
    }
}

aarg

#3
Feb 18, 2020, 12:37 am Last Edit: Feb 18, 2020, 12:38 am by aarg
Code: [Select]
  long entier non signé = 0;


You can not use "é" here...

There are other problems with it... white spaces are not allowed in a variable name.
  ... with a transistor and a large sum of money to spend ...
Please don't PM me with technical questions. Post them in the forum.

bidouilleelec

#4
Feb 18, 2020, 08:14 am Last Edit: Feb 18, 2020, 09:13 pm by bidouilleelec
Bonjour zsallam
error stray ' 303' in program  
Comme la question est en français :
Vous pouvez poster , en signalant que vous avez déjà posté sur le forum anglais , ici :
https://forum.arduino.cc/index.php?board=33.0   (le forum en français)

Avez-vous copié votre code directement d'un texte d'une page web ?
Dans ce cas , il est plein de caractères html (invisible à l'écran ou des espaces) qu'il faut supprimer à la main.
Pas moyen de télécharger le code ?

Cordialement,
bidouilleelec

bidouilleelec

#5
Feb 18, 2020, 09:03 am Last Edit: Feb 18, 2020, 09:11 pm by bidouilleelec
Bonjour zsallam

Dans votre cas :
NE PAS TRADUIRE LA PAGE en français avant de copier le code.

En copiant le code de la page originale
( ici ? :https://www.facebook.com/groups/picarduino/permalink/1159618390916061/ )

ça compile.

Cordialement,
bidouilleelec

Go Up