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