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/