Problème avec VirtualWire et FreqCount

Bonjour,

Voilà j’ai comme projet de récupérer plusieurs valeurs de capteurs sur un arduino et ensuite les envoyer à un autre module Arduino qui l’affiche sur un afficheur LCD. Mais je rencontre un souci avec mon capteur de luminosité, la luminosité est calculé en fonction de la fréquence mesurée. J’ai donc pensé mesurer cette fréquence avec la librairie “FreqCount.h”, celui-ci fonctionne correctement quand je place le programme seul, mais une fois que j’ajoute l’envoi (“vw_setup(2400)”) avec VirtualWire, celui-ci renvoie des valeurs incorrectes.

Je souhaiterais donc savoir si quelqu’un a déjà été confronté à ce souci et pourrait savoir d’ou vient le souci. Je suis assez débutant sur Arduino.

Mon programme, j’ai juste placé le programme standard de “FreqCount” et rajouter l’envoi pour effectuer les tests, le problème est déjà présent :

#include <VirtualWire.h>
#include <FreqCount.h>


void setup() {
  
   // initialise la communication série
  Serial.begin(9600);
  FreqCount.begin(1000);
  vw_setup(2400);     // Bits par seconde
}

void loop() {
  if (FreqCount.available()) {
    int count = FreqCount.read();
    Serial.println(count);
  }
}

Merci

karolusfun: Mon programme, j'ai juste placé le programme standard de "FreqCount" et rajouter l'envoi pour effectuer les tests, le problème est déjà présent :

En fin de compte, c'est un problème de mise en oeuvre de Frequency Count et pas un problème avec Virtual Wire.

Je pense qu'un peu de lecture serait profitable:https://www.pjrc.com/teensy/td_libs_FreqCount.html Tu verrais par exemple que la méthode read() retourne un unsigned long et non pas un int ce qui devrait sérieusement améliorer le résultat.

Merci je vais regarder ça.