long i=0; // variable pour la durée de la charge en us (10-6 s). long somi=0;// variable pour la moyenne des temps tau. int n=0; // nombre de mesures par tau moyen. void setup() { pinMode(11,OUTPUT); // broche 11 pour la charge et la décharge. Serial.begin(9600); // vitesse des données dans le port série. Serial.println("Nouvelle mesure : moyenne des 20 valeurs"); } void loop() { digitalWrite(11,LOW); // décharge du capteur capacitif. while(analogRead(A0)>5){ /*le capteur se décharge...*/ } digitalWrite(11,HIGH); // charge du capteur capacitif. delayMicroseconds(i); // durée de la charge du capteur. if(analogRead(A0)<647){ // test uc<0,632*E ? i=i+1; // si oui alors on augmente la durée de charge de 1 us. } else{ // si non alors la mesure de tau de n°n est stockée. Serial.print(".");// affichage d'un point (= message d'attente .... ). n++; // passage à la mesure suivante. somi=somi+i; // ajout de la mesure à la somme des mesures. i=0; // réinitialisation de la variable i. if(n==20) { // * affichage sur une Serial.print(" C = "); // * même ligne de la Serial.print(somi/n); // * moyenne de 20 mesures Serial.println(" pF"); // * en pF. Serial.println("Nouvelle mesure : moyenne des 20 valeurs"); delay(2000); // pause de 2s entre chaque série de mesures. somi=0; n=0; // réinitialisation des variables. } } }