// La broche numérique 2 est reliée au Bouton
const int PinBouton = 2;
// La broche numérique 5 est reliée au Speed Sensor Module LM393
const int PinLM393 = 5;
int EtatLM393;
int EtatLM393Sauvegarde;
int EtatBouton;
int EtatBoutonSauvegarde;
int CompteurTours;
int motorSpeed = 100;
#include <Stepper.h>
// modifiez ceci pour qu'il corresponde au nombre de pas par tour
// pour votre moteur
const int stepsPerRevolution = 200;
// initialiser la bibliothèque stepper sur les broches 8 à 11
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
Serial.begin(9600);
pinMode(PinBouton, INPUT_PULLUP);
pinMode(PinLM393, INPUT);
}
void loop() {
EtatLM393 = digitalRead(PinLM393);
if (EtatLM393 != EtatLM393Sauvegarde) { // Si changement d'état du LM393 (front)
if (EtatLM393 == HIGH) { // Si front montant
CompteurTours++;
Serial.print("Nombre de Tours: ");
Serial.println(CompteurTours);
}
EtatLM393Sauvegarde = EtatLM393; // Mémorisation de l'état du LM393
}
EtatBouton = digitalRead(PinBouton);
if (EtatBouton != EtatBoutonSauvegarde) { // Si changement d'état du Bouton (front)
if (EtatBouton == LOW) { // Si front descendant
CompteurTours = 0;
Serial.println("Compteur Tours Reset");
}
EtatBoutonSauvegarde = EtatBouton; // Mémorisation de l'état du Bouton
}
myStepper.setSpeed(motorSpeed);
myStepper.step(1);
}