erreur non compris

boujour j’ai développer un code pour une machine de réanimation un prototype,
mais j’obtient cette erreur " exit status 1
expected ‘}’ before ‘else’ " voici mon code

const int IE=10;
int ie=1.2;
int marche = 9;
int valeurvt=500;
int valeurfr=10;
int course=67;
#include <Servo.h>
#include "LiquidCrystal.h"
LiquidCrystal lcd(6,7,12,11,4,5);

Servo moteur;

void setup() {
   attachInterrupt( 0, incrementVT, RISING );
   attachInterrupt( 1, incrementFR, RISING );
    moteur.attach(8);
  pinMode (IE, INPUT);
 
  lcd.begin(16, 2);
  lcd.print("****TDS****");
  delay(1000);
  Serial.begin(9600);
}

void loop() {

  if (digitalRead(marche)==0)// départ cycle
  {
    lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("on");
 ////////
 if (digitalRead(IE)==0)
 {
 ie=1.2;
  if (valeurvt==500);
  {
    course = 67;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
  }
  
   else if (valeurvt==600)
   {
    course = 130;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
   }
   else  (valeurvt==700)
    {
    course = 180;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
   }
  }
  ////////////
   else (digitalRead(IE)==1)
 {
 ie=1.3;
  if (valeurvt==500);
  {course = 67;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
  }
   else if (valeurvt==600){
    course = 130;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
   }
   else (valeurvt==700)
    { course = 180;
    float cycle= 60000/valeurfr;
    float i=cycle/(1+ie);
    float e= cycle -i;
    float tempsI=i/course;
    float tempsE=e/course;
   }
  }
 
 
   lcd.setCursor(4,0);
  lcd.print("VT="); 
  lcd.setCursor(7,0);
  lcd.print(valuervt/1000);
  lcd.print("L");
  lcd.setCursor(0,1);
  lcd.print("IE="); 
  lcd.setCursor(3,1);
  lcd.print(ie);
  lcd.print("%");
  lcd.setCursor(7,1);
  lcd.print("Fr=");
  lcd.setCursor(11,1);
  lcd.print(valeurfr); 
  for (int position = 0; position <= course; position++) {
    moteur.write(position);
    delay(tempsI);
  }
  
 
  for (int position = course; position >= 0; position--) {
    moteur.write(position);
    delay(tempsE);
  }
  
}
  else {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("off");
      delay(100); 
       }
}

void incrementVT() {
  valeurvt = valeurvt + 500;
  if( valeurvt > 700 ) {
     valeurvt = 500;
  }
}
void incrementFR() {
  valeurfr = valeurfr + 1;
  if( valeurfr > 10 ) {
     valeurfr = 0;
  }
}

une idée !!
cordialement

j'ai résolu mon problème mais il une astuce que je ne comprend pas, j'ai une variable cycle dans mon code dans ce boucle

if (valeurvt == 500);
      { course = 67;
        unsigned long cycle = 60000.00 / valeurfr;
        float i = cycle / (1 + ie);
        float e = cycle - i;
        float tempsI = i / course;
        float tempsE = e / course;
      }

quii donne une valeur =0 !!! sachant que la variable "valeurfr" est comprise entre 10 et 20!!
aucune idée !!
merci d'avance!!

if (valeurvt == 500);

Pas de ; en général derrière la condition du if. Cela termine le if, du coup le else n’a pas son if

if(condition)
{
<actions 1>
}
else
{
<actions 2>
}

C’est bon

if(condition); //avec un point virgule
{
<actions 1>
}
else
{
<actions 2>
}

si la condition est vraie, on exécute jusqu’au ;, c’est à dire que l’on ne fait rien

{
<actions 1>
}
sera fait dans tous les cas

else
Il lui manque le if…

sakloub:
boujour j'ai développer un code pour une machine de réanimation un prototype,

L'intention est louable,
mais il est hors de question de confier le vie d'une personne à une carte Arduino !
Les matériels ayant des responsabilités critiques utilisent ces composants sécurisés, des redondances...

sakloub:
j’ai résolu mon problème mais il une astuce que je ne comprend pas, j’ai une variable cycle dans mon code dans ce boucle

if (valeurvt == 500);

{ course = 67;
        unsigned long cycle = 60000.00 / valeurfr;
        float i = cycle / (1 + ie);
        float e = cycle - i;
        float tempsI = i / course;
        float tempsE = e / course;
      }



quii donne une valeur =0 !!! sachant que la variable "valeurfr" est comprise entre 10 et 20!!
aucune idée !! 
merci d'avance!!

Le code qui pose problème c’est celui que tu viens de poster ou c’est celui du début?
Dans le premier post, la définition de valeurfr pourrait expliquer le problème

int valeurfr=10;

float cycle= 60000/valeurfr;

60000 ne tient pas dans un entier.

Dans le dernier post
unsigned long cycle = 60000.00 / valeurfr;tu as un mélange de type assez étrange.
En fin de compte tous les calculs se faisant en flottant, pourquoi ne fais-tu pas

float cycle = 60000.00 / valeurfr;

Bonjour fdufnews

fdufnews:
......
Dans le premier post, la définition de valeurfr pourrait expliquer le problème

int valeurfr=10;

float cycle= 60000/valeurfr;



60000 ne tient pas dans un entier.

....
[/code]

Le résultat sera bien cycle = 6000.00000

Cordialement,
bidouilleelec