Compteur de tours avec Speed Sensor Module LM393 + Bouton Reset piloter par un Arduino
Description :
Projet de compteur de tours utilisant un capteur de vitesse LM393 et un bouton reset, piloté par un Arduino, pour mesurer et réinitialiser le nombre de rotations.
Prérequis :
- 1 x Carte Arduino Uno
- 1 x 28BYJ-48
- 1 x ULN2003
- 1 x Alimentation 12V
- 1 x Bouton
- 1 x Speed Sensor Module LM393
- 1 x Breadboard
- Fils de connexion
Version IDE :
- Arduino IDE 2.3.5
STL :
Vidéo de démonstration :
Schéma de câblage :


Code :
// 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);
}
