La mesure et le calcul de la fréquence des signaux sont une tâche essentielle dans de nombreux projets Arduino. Il vous permet d'analyser les signaux provenant de capteurs, de modules de communication ou d'autres composants électroniques.

Utilisation de la fonction PulseIn

La fonction PulseIn mesure la durée d'une impulsion HAUTE ou LOW sur une broche numérique. En chronométrant un nombre spécifique d'impulsions, vous pouvez calculer la fréquence d'un signal.

Pour mesurer la fréquence, compter le nombre d'impulsions dans un intervalle de temps déterminé ou mesurer la période d'une seule impulsion et calculer sa réciproque.

Code d'échantillonnage pour le calcul de la fréquence

Voici un exemple qui mesure la période d'un signal et calcule sa fréquence.

Code:

```cpp const int signalPin = 2; // Pin numérique connecté au signal non signé longue durée; fréquence flottante; configuration du vide() { pinMode(signalPin, INPUT); Serial.begin(9600); } boucle du vide() { durée = impulsionIn(signalPin, HAUT); si (duration > 0) { fréquence = 1000000.0 / durée; // Convertir les microsecondes en Hz Serial.print("Fréquence: "); Serial.print(fréquence); Serial.println(" Hz"); } dilige(500); } ```

Méthodes alternatives

Les autres méthodes comprennent l'utilisation de compteurs de fréquence externes ou de modules spécialisés. Pour les signaux haute fréquence, les solutions matérielles fournissent des mesures plus précises.

Résumé

  • Utiliser pulseIn() pour mesurer la durée de l'impulsion.
  • Calculer la fréquence comme étant la réciproque de la période.
  • Assurer la stabilité du signal pour des lectures précises.
  • Considérez des solutions matérielles pour les signaux à haute fréquence.