Abonnez-vous à notre Chaîne YouTube "Devenir Ingénieur" pour bénéficier de nouveaux projets et suivre l'actualité du blog
Objectifs
- Savoir calculer la valeur moyenne d’un signal
- Savoir calculer la valeur efficace d’un signal
- Exemple d’un signal PWM
- Etc.
Exemple
Remplissage du buffer
for(i=0;i<N; i++)
{
Data_ADC[i] =analogRead(A0);
}
Calcul de la valeur efficace & la valeur moyenne
for(i=0;i<N; i++)
{
somme_1+=(float)Data_ADC[i]*(float)Data_ADC[i];
somme_2+=(float)Data_ADC[i];
}
ValEff=sqrt(somme_1/N);
somme_1=0.0;
ValMoy=somme_2/N;
somme_2=0.0;
Contrôle de la LED
Affichage dans le port série
for(i=0;i<N; i++)
{
Serial.print(Data_ADC[i]);Serial.print(",");
Serial.print(ValMoy);Serial.print(",");
Serial.println(ValEff);
}
}
#define PinLED1 2
#define PWMout 3
#define RappCyc 50*2.55 // 50 * 255/100
#define N 512 // Taille du buffer
unsigned int Data_ADC[N];
unsigned int i;
float somme_1=0.0,somme_2=0.0, ValEff=0.0, ValMoy=0.0;
unsigned int Data_in;
void setup()
{
// Init du port série
Serial.begin(9600);
// Init sortie PWM
analogWrite(PWMout, RappCyc);
}
void loop()
{
// Remplissage du buffer
for(i=0;i<N; i++)
{
Data_ADC[i] =analogRead(A0);
}
// Calcul de la valeur efficace & la valeur moyenne
for(i=0;i<N; i++)
{
somme_1+=(float)Data_ADC[i]*(float)Data_ADC[i];
somme_2+=(float)Data_ADC[i];
}
ValEff=sqrt(somme_1/N);
somme_1=0.0;
ValMoy=somme_2/N;
somme_2=0.0;
// Contrôle de la LED
digitalWrite(PinLED1, ValMoy);
// Affichage dans le port série
for(i=0;i<N; i++)
{
Serial.print(Data_ADC[i]);Serial.print(",");
Serial.print(ValMoy);Serial.print(",");
Serial.println(ValEff);
}
}
Sujets connexes
- valeur moyenne tension
- valeur moyenne d’un signal sinusoidal
- valeur moyenne physique
- valeur moyenne d’un signal exercice corrigé
- valeur efficace formule
- valeur moyenne d’une fonction démonstration
- tension efficace
- calculer la valeur moyenne d’une fonction sur un intervalle
[Total : 0 Moyenne : 0/5]