Tachomètre pour tour à métaux

/*
   Tachomètre
   On utilise un capteur à effet hall analogique qui envoie - de 2v quand un aimant pole nord 
   passe devant le capteur ou + de 3v quand un aimant pole sud passe et 2.5v quand il n'y a rien.
*/

#define valMin 410                          // Définir ici les seuils min      2v
#define valMax 615                          // et max de l'analogRead.         3v
 
const int valMoy = (valMin + valMax) / 2;
const int seuil = (valMax - valMin) / 2;
bool flagMesure = false;
unsigned long tempstrouve = 0;
unsigned long dernierPassage = 0;
float trmin = 0;
int bp2 = 4; //Le bouton de démarrage sur le port 4

void setup () {
  Serial.begin(9600);
  Serial.print("Programme commence");
  delay(1000);
}

void loop() {
  Serial.print("Appuyez sur le bouton pour commencer la mesure");

  if(bp2 == HIGH) {
    unsigned long maintenant = millis();
    while (millis() - maintenant < 60000) {
      int diff = abs(analogRead(A1) - valMoy);
      if (diff >= seuil) { //si un aimant pole nord ou un aimant pole sud passe devant le capteur
        trmin = trmin + 1;
      } 
    }
    Serial.print(trmin, "tr/min");
  }
}

Programme pas testé, il est censé fonctionner mais bon...