Mesurer la fréquence de la lumière émise par un stroboscope


Objectif

Nous allons mesurer la fréquence de la lumière émise par un stroboscope à l'aide d'une photorésistance, d'une carte Arduino et d'un logiciel d'acquisition et de traitements de données comme Regressi.
Attention la fréquence du stroboscope doit être faible, nous avons utilisés un smartphone avec une application “stroboscope” réglé sur 25 Hz.



Le montage

Le montage est le même que celui utilisé dans le cours Contrôler la lumière à l'aide d'une photorésistance : les entrées analogiques.



Le code

Le code va permettre de mesurer à intervalle de temps régulier la valeur de la luminosité lue par la carte Arduino et de l'envoyer sur la liaison série sous la forme (temps,valeur).

/*
 * Mesure de la fréquence de la lumière émise par un 
 * stroboscope à l'aide d'une photorésistance branchée sur A0
 */
 
/* Pour faire des mesures à intervalle régulier */
unsigned long tempsPrecedent = 0;
float intervalle = 20;   // durée entre deux mesures en ms (à modifier si nécessaire)
float temps = 0;  // initialise la variable temps à t=0
 
void setup() {
  // Initialise la communication avec le PC
    Serial.begin(115200);
}
 
void loop() {
   unsigned long tempsCourant = millis();  // cette variable contient le nombre de millisecondes depuis que le programme courant a démarré. 
 
  if (tempsCourant - tempsPrecedent >= intervalle) {
      tempsPrecedent = tempsCourant;
      temps = temps + intervalle/1000;
 
      int valeur = analogRead(A0);   // lecture sur la broche analogique A0
 
      // Envoi la mesure au PC 
      Serial.print(temps,3);  // envoie le temps avec 3 décimales
      Serial.print(",");      // les données sont séparées par des virgules.
      Serial.println(valeur); // envoie la valeur comprise entre 0 et 1023
  }
}



Acquisition des mesures avec Regressi

Il est possible d'acquérir les mesures directement dans Regressi avec une version récente (4.5.7).








Statistiques du site