Bonjour,
sympa comme montage, niveau code, tu l' as deviné, il peut être amélioré.
Par exemple, l' affichage d' accueil, peut être mis dans le void setup(), ce dernier ne s' effectue qu' une seul fois.
void setup() {
pinMode (hall, INPUT); // entrée analogique du capteur à effet Hall sur pin A3.
lcd.begin (16, 2);
//----------------------------------------- Affichage bienvenue
lcd.setCursor (2, 0);
lcd.write ("Bienvenu sur");
lcd.setCursor (3, 1);
lcd.write ("votre velo");
delay (3000);
lcd.clear();
}
D' autres amélioration peuvent être apportées, comme une interruption sur le front descendant, lorsque la manivelle passe devant le capteur, ainsi tu pourrais te passer de ceci:
if (a == 1) { // pour que la valeur n'évoluent pas pendant le temps haut du capteur, pour que seulement 1 mesure soit effectuée pendant que le capteur est à l'état haut (une sorte "d'anti-rebond").
t_1 = temps;
rpm = 60000 / (t_1 - t_0);
lcd.setCursor (9, 0);
lcd.write (" ");
lcd.setCursor (9, 0);
lcd.print (rpm);
a = 2;
b = 0;
t_0 = temps;
}
pour ça tu peux utiliser la fonction attachInterrupt, plus d' info
iciToujours est-il, que ça fonctionne, et c' est bien le principal pour cette hivers!