int led = 13; // Alimentation de la bobine
int hall = A0; // Analyse du capteur a effet Hall
long startTime = 0; // start time for stop watch
long elapsedTime = 0 ;
unsigned long valeur; //Donnees directes du capteru a effet Hall
float tension; // Valeur actuelle en voltage du capteur
float pretension; // Valeur precedente en voltage du capteur
void setup() // Effectuer une seule fois
{
pinMode (hall, INPUT); // Declarer capteur a effet Hall comme INPUT
pinMode (led, OUTPUT); // Declarer led comme OUTPUT
digitalWrite(led, HIGH);
delay (500);
digitalWrite(led, LOW);
Serial.begin (38400); // Vitesse du retour des donnees
}
void loop() // Effectuer à chaque fois
{
pretension = tension; // Tension precedente vs tension actuelle
valeur = analogRead (hall); // Lecture du capteur a effet Hall
tension = valeur * 5.0 / 1024; // Formule de calcul du voltage du capteur a effet Hall
long RPMactuel = 60000000 / elapsedTime;
long initime = 0.03 * elapsedTime;
long elapsed_Time;
if (2.50 < tension && tension < 2.95)
{
if (tension < (pretension - 0.005)) { // compare them
elapsedTime = (micros() - startTime) + initime;
startTime = micros();
digitalWrite(led, HIGH);
delay (initime);
digitalWrite(led, LOW); // do something, they are different
while (tension > 2.5){
valeur = analogRead (hall);
tension = valeur * 5.0 / 1024;
if (tension == pretension)
{
valeur = analogRead (hall);
tension = valeur * 5.0 / 1024;
digitalWrite(led, HIGH);
delay (20);
digitalWrite(led, LOW);
delay (50);
}
else {digitalWrite(led, LOW);}
}
}
}
Serial.print("elapsedTime= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(elapsedTime);
Serial.print("tension= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(tension);
Serial.print("pretension= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(pretension);
Serial.print("RPMactuel= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(RPMactuel);
Serial.print("initime = "); // Imprimer les valeurs pecedentes du capteur
Serial.println(initime);
Serial.println(); // Sauter une ligne lors de l'affichage
Serial.println();
}
This code don't work it's not running the led is not blink.
int led = 13; // Alimentation de la bobine
int hall = A0; // Analyse du capteur a effet Hall
long startTime = 0; // start time for stop watch
long elapsedTime = 0 ;
unsigned long valeur; //Donnees directes du capteru a effet Hall
float tension; // Valeur actuelle en voltage du capteur
float pretension; // Valeur precedente en voltage du capteur
void setup() // Effectuer une seule fois
{
pinMode (hall, INPUT); // Declarer capteur a effet Hall comme INPUT
pinMode (led, OUTPUT); // Declarer led comme OUTPUT
digitalWrite(led, HIGH);
delay (500);
digitalWrite(led, LOW);
Serial.begin (38400); // Vitesse du retour des donnees
}
void loop() // Effectuer à chaque fois
{
pretension = tension; // Tension precedente vs tension actuelle
valeur = analogRead (hall); // Lecture du capteur a effet Hall
tension = valeur * 5.0 / 1024; // Formule de calcul du voltage du capteur a effet Hall
long RPMactuel = 60000000 / elapsedTime;
long initime = 0.3 * elapsedTime;
long elapsed_Time;
if (2.50 < tension && tension < 2.95)
{
if (tension < (pretension - 0.005)) { // compare them
elapsedTime = (micros() - startTime) + 20000;
startTime = micros();
digitalWrite(led, HIGH);
delay (20);
digitalWrite(led, LOW); // do something, they are different
while (tension > 2.5){
valeur = analogRead (hall);
tension = valeur * 5.0 / 1024;
if (tension == pretension)
{
digitalWrite(led, HIGH);
delay (20);
digitalWrite(led, LOW);
delay (50);
}
else {
digitalWrite(led, LOW);}
}
}
}
Serial.print("elapsedTime= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(elapsedTime);
Serial.print("tension= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(tension);
Serial.print("pretension= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(pretension);
Serial.print("RPMactuel= "); // Imprimer les valeurs pecedentes du capteur
Serial.println(RPMactuel);
Serial.print("initime = "); // Imprimer les valeurs pecedentes du capteur
Serial.println(initime);
Serial.println(); // Sauter une ligne lors de l'affichage
Serial.println();
}
but this one works perfectly can someone plz explain me why it's not working?
thank you