[FR] encore un débutant avec plein de questions + presentation

salut à tous,

ça fais un petit moment que j'ai pas donné de nouvelles,

je cherches toujours les coefficients pour mes thermistances 3950 100k 25° et pour La TDC05C310

donc si quelqu'un a des réponses pour une ou les 2 il est le bienvenu

mes autres soucis, oui je suis un aiment a malchance (j'ai plein de composants de récup, et donc avec les défaillance qu'ils peuvent avoir)

j'ai :

  • un module compteur de passage led, (qui fonctionne bien)
  • un module photomètre qui apparemment fonctionne mes les résultats en sortie du module sont très bas avec une lampe braqué dessus (mais pas de soucis pour l'exploité)
    -un afficheur LCD 1602 vert (celui la n'affiche rien, il est probablement grillé à cause du coups de foudre qu'as subit la carte sur la quelle il était connecté) je dois en avoir 2 autres que j'ai pas encore pris (à testé)

dans tout ça, je voulais essayé d'exploité mon capteur de passage led, quand je lis les impulsions, de façon basique , j'ai bien les 1 et 0 lu en affichage moniteur serial
mais la problème se corse lorsque je fais mon programme de comptage, et je ne comprend pas où ça cloche

const int Imp = 12;
const int L1 = 13;
unsigned int puls = 0; //detecte les impulsion 
long compt = 0; //compte les imlpusion
unsigned long t= 0; // initialisation du chrono
unsigned long t0 = 0; //temps depart chrono
const unsigned long periode = 1000; // temps fin chrono

void setup() {
  pinMode(Imp, INPUT); //capteur impusion
  pinMode(L1,OUTPUT); //témoins de sortie
  Serial.begin(9600); // transfert des données vers le moniteur serial
  t0 = millis(); //t0 deviens une valeur de temps
}

void loop() {
  
  compt = 0;

  while(t - t0 > periode){ // la boucle de 1s continue jusqu'à ce que t - t0 = 1000
    puls = digitalRead(Imp); // puls vaut 1 ou 0 si en fonction de l'état de mon pin Imp
    if(puls = HIGH ){ //si puls vaut 1
      compt = compt+1; //compt est incrémené de 1
     
      puls = 0; //on remet puls à 0 au cas où
      }
  }
  digitalWrite (L1, HIGH); //la led de l'arduino s'allume
  Serial.println(compt); // on renvoie le nombre d'impulsion compté sur 1s
  digitalWrite (L1, LOW);//la led de l'rduino s'éteint
 
  }

le 2 variante de résultats :

1/ quand la condition de ma boucle est : while (t - t0 > periode), je crois que je ne sort jamais de la boucle
2/ quand la boucle est while (t - t0 < periode), je re-sort (ou n'entre pas dans )de la boucle toute les millisecondes donc le comptage ne se fais pas et mon résultat de comptage est 0 en permanence et s'affiche toutes les milliseconde au lieu de toutes les secondes