Wiki PHY404_Instrumentation_Physique_Grenoble
Advertisement

But du Projet

Le but de ce projet est de mesurer la fréquence d'une onde sonore afin de permettre d'accorder un instrument, dans notre cas une basse.


Présentation du projet

Pour mesurer la fréquence, nous utiliserons un micro pour capter l'onde sonore, puis nous traiterons le signal afin de permettre à un programme arduino de déterminer sa fréquence et de d'afficher la note correspondante sur un écran LCD.

Cahier des charges

Un micro captera une onde sonore (son pur) et la transformera en un signal électrique sinusoïdal de 3V.

Un circuit comparateur transformera ce signal sinusoïdal en signal carré.

Le signal carré sera analysé par un programme arduino qui en déduira sa fréquence.

Capteurs nécessaires

La basse est composée de 4 cordes, la plus grave étant un Mi 1 (41.203 Hz) et la plus aiguë un Sol 2 (97.998 Hz). La mesure de l'onde sonore se fera donc à l'aide d'un microphone capable de capter des fréquences entre 41.203 Hz et 97.998 Hz.

Transducteurs nécessaires

Nous allons utiliser le micro qui va permettre de convertir le signal sonore reçu en un signal électrique. Puis nous allons transformer notre signal en un signal carré à l'aide d'un circuit comparateur.

Besoins électriques

Nous alimentons nos amplis op a l'aide d'un générateur de 15V en continu. La carte Arduino est elle alimentée par un câble USB (5V).

Besoins Mécaniques

Nous aurions pu utiliser une boîte par souci d'ergonomie.

Arduino

L'Arduino UNO est utilisé ici pour mesurer la fréquence d'un signal carré et pour donner les informations nécessaires à l'accordage sur un écran LCD.

Programme Arduino

#define Sensor 2

#include <LiquidCrystal.h>


unsigned long dureehaut; // variable utilisée pour stocker la durée du front haut

unsigned long dureebas; // variable utilisée pour stocker la durée = du front bas

unsigned long duree;// variable utilisée pour stocker la durée = période


LiquidCrystal lcd(13,12,4,5,6,7,8,9,10,11);


void setup() { 

    pinMode(Sensor, INPUT); // met la pin 2 en entrée 

    Serial.begin(9600);   //définition de la vitesse du port série 

    lcd.begin(16,2); 

    lcd.write("Tune your note !");

}


void loop() {     dureehaut= pulseIn(Sensor,HIGH); // dureehaut = temps entre chaque front montant 

    dureebas= pulseIn(Sensor,LOW); // dureebas = temps entre chaque front descendant 

    duree=dureehaut+dureebas; // duree = sommes des deux durées donc duree = la période 

    Serial.println (duree); // ecrit la période dans le moniteur série 

    Serial.print (";"); // placer ";" après chaque période 

    lcd.clear();  


    if (31800 > duree && duree > 31200) { 

        Serial.print ("E"); 

        lcd.write("       E       ");

    }

    else if (31200 > duree && duree > 30000) { 

        lcd.write(" <- <- E       ");

    }

    else if (32600 > duree && duree > 31800){ 

        lcd.write("       E -> ->");

    }

    else if (23800 > duree && duree > 23600) { 

        Serial.print ("A"); 

        lcd.write("       A");

    }

    else if (23600 > duree && duree > 22800) { 

        lcd.write(" <- <- A       ");

    }

    else if (24600> duree && duree > 23800){ 

        lcd.write("       A -> ->");

    }

    else if (17800 > duree && duree > 17700) { 

        Serial.print ("D"); 

        lcd.write("       D");

    }

    else if (17700 > duree && duree > 16800) { 

        lcd.write(" <- <- D       ");

    }

    else if (18600> duree && duree > 17800){ 

        lcd.write("       D -> ->");

    }

    if (13350 > duree && duree > 13300) { 

        Serial.print ("G"); 

        lcd.write("       G");

    }

    else if (13300 > duree && duree > 12400) { 

        lcd.write(" <- <- G       ");

    }

    else if (14200> duree && duree > 13350){ 

        lcd.write("       G -> ->");

}

}

Tests

- Nous avons testé notre circuit avec un haut-parleur, émettant un son pur, pour des basses fréquences, en dessous de 200 Hz, et nous avons réussi à obtenir un signal carré.

- Nous avons testé également avec la basse, mais nous n'arrivons pas à obtenir un signal carré net à cause des trop nombreuses harmoniques.

Mesures

Nous avons mesuré des fréquences d'un son pur correspondant aux fréquences des quatre cordes de la basse avec une précision de l'ordre du dixième de hertz.

Problèmes rencontrés

Nous avons d'abord utilisé un premier micro que nous n'avons pas réussi à faire fonctionner, nous ne captions que du bruit. Puis une fois que nous avons eu un micro que nous sommes arrivés à utiliser nous avons eu quelques difficultés à obtenir un signal carré.

Nous n'avons pas réussi à accorder les cordes de la basse car elles n'émettaient pas un son pur.

Conclusion

Nous avons réussi a créer un accordeur de son pur. Avec plus de temps il aurais sans doute été possible d'améliorer notre accordeur pour lui permettre d'accorder une basse directement.

Notre présentation oral : http://www.fichier-pdf.fr/2017/05/17/presentation/

Advertisement