Bonjour,

Je cherche à coder un chronomètre avec un capteur ILS sans utiliser de bouton. Je cherche à obtenir le temps entre deux passage d'aimant sur mon capteur ILS.
Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//-----------------------------------------------------------
 
// Inclusion de la bibliothèque pour les messages en Français
#include <PrintFr.h> //Source : <a href="https://github.com/EpixFr/Arduino-PrintFr" target="_blank">https://github.com/EpixFr/Arduino-PrintFr</a>
 
/* Déclaration des constantes définissant l'utilisation des broches */
 
//Broche utilisée pour les données du contact ILS
const int pin_ils = 10;
bool chronoStatus; 
 
 
/* Déclaration des variables globales */
//Etat du contact ILS
int etat_ils = 0;
 
unsigned long millisON = millis();
unsigned long millisOff = 0;
 
void setup() {
  //Initialisation de la broche ILS en entrée numérique
  pinMode(pin_ils, INPUT);
  Serial.begin(9600);
  chronoStatus = true;
}
 
 
void loop() {
 
  etat_ils = digitalRead(pin_ils);
  delay(100);                                  // Pour couvrir les rebonds
 
  if (etat_ils == LOW && chronoStatus == false) // Si bouton pressé et chrono arrêté cela veut dire demarrer le chrono
  {
    millisON = millis();
    Serial.println("Chrono ON");
    chronoStatus = true;
  }
 
  if (etat_ils == HIGH && chronoStatus == true) // Si bouton relâché et chrono en marche cela veut dire arreter le chrono
  {
    millisOff = millis() - millisON;
    Serial.println("Chrono OFF = " + String(millisOff));
    chronoStatus = false;
  }
}
Merci de votre aide