     temp=millis();
     //etatCalibrateur=3; fait dans l'init de la variable
     affichage.affiche(POTAR);
-    attachInterrupt(0, updatePulseCompteur, CHANGE ); // Int0= la pin N°2 sur un UNO
+    attachInterrupt(0, updatePulseCompteur, RISING ); // Int0= la pin N°2 sur un UNO
 }
  void updatePulseCompteur()
 { 
-    compteur++;       
+    if (digitalRead(PINVOIEB))
+		{compteur++;       }
+	else
+		{compteur--;}
+
 }     
 
-
+int freeRam () {
+    extern int __heap_start, *__brkval;
+    int v;
+    return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
+}
 
          
 void loop ()

# Program principal:




//afaire : faire un réinit propre car si on fait 2 étalonnage à la suite ca marche pas

                            Serial.println(F("retour au début de procédure"));
                            etatCalibrateur=USB;
                        }
                    if (ERREURCOMPTAGE*3>abs(compteurRef))
                    {
                        Serial.println(F("ce serait bien que la marge d'erreur soit de l'ordre de 30% de la mesure de reference"));
                        Serial.println(F("je vais faire autre chose.... Programme a recompiler"));
