/*
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...