Découvrez notre Chaîne YouTube "Ingénierie et Projets"
Découvrez notre Chaîne Secondaire "Information Neuronale et l'Ingénierie du Cerveau"

Objectifs

  1. Savoir calculer la valeur moyenne d’un signal
  2. Savoir calculer la valeur efficace d’un signal
  3. Exemple d’un signal PWM
  4. 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

  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);

  }

}
#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
Click to rate this post!
[Total: 3 Average: 5]

4 commentaires

Brikh · 2022-06-27 à 4:27 PM

Merci pour ce beau partage c’est instructif.
J’aurais aimé trouver un code juste pour exemple: J’ai la consigne sur A0 sa sortie sur D9 et A1 qui va détecter la tension commandée par D9 afin qu’Arduino fasse la comparaison entre A0 et A1 puis incrémenter ou décrémenter (suiveur) D9 afin que le courant de sortie reste stable. J’ai cherché par tout hélas j’ai galéré et rien trouvé de ce genre.

    ElecM · 2022-06-28 à 11:46 AM

    Merci, je t’ai répondu par émail!
    A bientôt!

El fahsi · 2022-01-30 à 10:27 AM

Très bon contenu. J’aime.

Répondre à ElecM Annuler la réponse

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Anti-Robot *

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

FPGA | Arduino | Matlab | Cours will use the information you provide on this form to be in touch with you and to provide updates and marketing.