Site icon AranaCorp

Utilisation d’un Microphone avec Arduino

Il est possible de rajouter le sens de l’ouïe à votre microcontrôleur en le connectant à un microphone. Le microphone capte les vibrations de l’air et les transforme en signal électrique qu’il est possible d’analyser et de traiter à l’aide d’un algorithme. Dans ce tutoriel, nous allons voir comment détecter un niveau sonore à l’aide du microcontrôleur.

Matériel

Principe de fonctionnement

Le capteur utilisé dans ce tutoriel est un microphone à condensateur électrique. Il est composé de deux plaques l’une fixe et l’autre mobile. Les vibrations de l’air se transforme en déplacement de la membrane mobile ce qui crée une variation de potentiel électrique détecté par le capteur et qui envoie un signal électrique au microcontrôleur. Il existe plusieurs modèles de microphone avec des sensibilités différentes pour détecter des sons plus ou moins fort. Un modèle peut être plus adapté qu’un autre selon ce que vous souhaitez faire. Vérifiez bien la documentation du module.

Ce genre de module ne permet pas d’enregistrer ou d’analyser un son complexe mais plutôt un niveau sonore.

Schéma

Le microphone nécessite une faible puissance et peut être alimenté directement sur la broche 5V de l’Arduino. Il renvoie une valeur analogique qui sera envoyé sur une entrées analogique du microcontrôleur. Selon le modèle utilisé, un potentiomètre est présent sur le module afin de régler la sensibilité du microphone.

Code

Pour mesurer le niveau sonore, nous employons la fonction AnalogRead() comme pour la plupart des capteurs analogiques.

//Parameters
const int micPin  = A0;

//Variables
int micVal  = 0;

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init Microphone
  pinMode(micPin, INPUT);
}

void loop() {
  readMicrophone();
}

void readMicrophone( ) { /* function readMicrophone */
  ////Test routine for Microphone
  micVal = analogRead(micPin);
  Serial.print(F("mic val ")); Serial.println(micVal);
  if (micVal > 600) {
    Serial.println("mic detected");
  }
}

Résultat

Une fois le code chargé dans le microcontrôleur vous devriez voir la valeur analogique évoluer en fonction du bruit ambiant. Essayer de taper des mains, de claquer des doigts ou de parler pour voir comment se comporte le microphone. Vous pourrez ainsi déterminer le niveau nécessaire pour déclencher une action.

Applications

Sources

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

Quitter la version mobile