Bonjour,
J'ai un signal sinusoïdale que je converti en signal carré pour une lecture plus facile pour l'arduino. Cette conversion est réalisée à l'aide d'un lm311, le signal à une amplitude 0 / 5V et une fréquence virant entre 0 et 2khz.
Je voudrais savoir comment mesurer cette fréquence.
Pour le moment j'utilise la fonction PusleIn avec laquelle j'obtient le temps en micro seconde entre chaque front.
Avec cette formule basique F=1/T je peux donc obtenir la fréquence mais deux problème se pose:
-le T doit être en seconde or je ne sais pas comment m'y prendre pour convertir le temps en micro seconde en seconde, quelle variable utiliser
(1 seconde = 0.000001 microseconde)
-une fois cette conversion effectuée, la fréquence va varier à chaque front montant ce qui rendra la lecture illisible. Je voudrais donc savoir comment faire la moyenne de cette fréquence.
ci-joint le début de mon code très basique.
int Sensor = 2; //capteur sur pin 2
unsigned long duree; // variable utilisée pour stocker la durée = période
void setup()
{
pinMode(Sensor, INPUT); // met la pin 2 en entrée
Serial.begin(115220); //définition de la vitesse du port série
}
void loop()
{
duree= pulseIn(Sensor,HIGH); // durée = temps entre chaque frotn montant
Serial.print (duree); // ecrire la période dans le moniteur série
Serial.println (";"); // placer ";" après chaque période
}
[code/]