Mesure sur 1 seconde avec moyenneage

Dependencies:   mbed

main.cpp

Committer:
the420team
Date:
2018-05-22
Revision:
0:14c42a61cdb2

File content as of revision 0:14c42a61cdb2:

#include "mbed.h"

Serial pc (USBTX, USBRX);
AnalogIn ain(p17); 
DigitalOut led(p7);

float f ;
float silence = 1.1 ;
float max = 1.7 ;
int niveau = 0 ;
int tableau [100];
int i;
int k;
int moyenne  = 0;
char c ;

void acquisition()
{
         f=3.3*ain.read();
         niveau = 100* (f-silence)/max ;
         tableau[k]= niveau ;
         k++ ;
         if (k ==100)
         {k =0 ;}
}


int moyAboiement()
{int somme = 0 ;
int moyenne = 0 ;
for (i=0;i<100; i++)
{
somme = somme + tableau[i];
}
moyenne  = somme /100 ;

return moyenne ;
}


int main() {
     Ticker horloge; 
     horloge.attach(&acquisition, 0.01);
     while(1)
    {    
      printf("\nSaisir A pour connaitre niveau aboiement \n\r");
      c = pc.getc() ;
      if (c=='A')
      {moyenne = moyAboiement() ;
       printf("Niveau aboiement sur 1s = %d \n\r", moyenne );
       }
      
    }
}