Générer un son à partir d’un signal carré

Principe

Un signal carré est construit à partir d’un état haut sur une demi-période puis d’un état bas sur l’autre demi-période.

Montage

Pour cette expérience, il est nécessaire de disposer un haut-parleur compatible à la carte microcontrôleur. Le courant consommé par ce dernier ne doit pas dépasser les \(20\rm~mA\).

Branchement d’un haut-parleur sur la broche 8

Programme

Le programme ci-dessous génère un son de fréquence \(440\rm~Hz\) sur la broche 8.

/*
* Générer un son à partir d'un signal carré
* David THERINCOURT - 2025
*/

int pinHP = 8;                          // Broche connectée au haut-parleur
float frequence=440;                    // Fréquence en Hz
float periode=1/frequence;              // Période en s

void setup(){
   pinMode(pinHP, OUTPUT);              // Broche du haut-parleur en sortie logique
}

void loop(){
   digitalWrite(pinHP,HIGH);            // Etat haut
   delayMicroseconds((periode*1E6)/2);  // Temporisation sur une demi-période
   digitalWrite(pinHP,LOW);             // Etat bas
   delayMicroseconds((periode*1E6)/2);  // Temporisation sur une demi-période
}

Note

Il serait intéressant d’observer l’allure du signal généré à l’oscilloscope (ou avec une interface d’acquisition) et d’analyser son spectre d’amplitude.