vendredi 4 décembre 2020

Microphone amplifié MAX4466 et Arduino

Il y a quelques mois, en faisant l'essai du capteur de son KY-038,  j'avais été déçu par son manque de sensibilité. C'est pour cette raison que je me suis procuré un microphone amplifié à base de MAX4466, qui s'est révélé beaucoup plus performant.



Il s'agit visiblement d'un clone du module mis au point par la compagnie Adafruit:  le fabriquant a même fidèlement reproduit les informations imprimées sous le microphone!


Le module est à peine plus grand que le microphone: tous les autres composants du circuit se trouvent au verso. 


Le MAX4466 est un circuit intégré spécialement conçu pour la préamplification d'un microphone électret. Un minuscule potentiomètre permet de modifier son gain.

Connexions à l'Arduino Uno

Le module ne comporte que 3 connecteurs:
  • OUT: sortie dont la tension dépend de l'intensité sonore capté par le micro. On la branche à une entrée analogique du microcontrôleur (j'ai utilisé A0).
  • GND: à brancher à une des broches GND de l'Arduino.
  • VCC: l'alimentation, qui peut prendre n'importe quelle valeur entre 2,4 V et 5,5 V. Je l'ai reliée à la sortie 3,3 V (je vous explique pourquoi ci-dessous).




Alimentation 5 V vs alimentation 3,3 V

Lorsque le micro ne capte aucun son, la tension de sortie du module est égale à la moitié de la tension d'alimentation: 2,5 V si le micro est alimenté avec 5 V, et 1,15 V si le micro est alimenté avec 3,3 V.

Cependant, la tension de 3,3 V fournie par carte Arduino est beaucoup plus stable que celle de 5 V (la sortie 3,3 V comporte un régulateur de tension, ce qui n'est pas le cas de la sortie 5 V).

Pour vérifier à quel point les fluctuations de l'alimentation 5 V affectent le comportement du micro, j'ai fait un petit test au moyen de ce sketch:

Voici un échantillon des résultats obtenus pendant que le micro était alimenté par la sortie 3,3 V de l'Arduino Uno, pendant qu'aucun son n'était capté. On peut constater que la mesure varie entre 335 et 343, donc l'écart entre les deux extrêmes est de 8.


Voici maintenant un échantillon des résultats obtenus pendant que le micro était alimenté par la sortie 5 V de l'Arduino Uno, toujours en absence de son. Cette fois, les résultats varient entre 471 et 601, soit un écart de 130!


Conclusion: il est préférable d'utiliser la sortie 3,3 V si on ne veut pas que notre micro détecte des sons qui n'existent pas.


Exemple de sketch

Voici un exemple de sketch pour un détecteur de son: la LED intégrée à la carte Arduino s'allume brièvement lorsqu'un son est détecté. Ici, la sensibilité a été réglée à un niveau très bas (la LED s'allume aussitôt que l'écart entre la valeur mesurée et la valeur de référence est de 25). Il s'agit d'augmenter cette valeur si la LED s'allume même en absence de son.

-
-

Yves Pelletier (TwitterFacebook

4 commentaires:

  1. Prochaine étape, le Vu-mètre à rampe lumineuse?

    RépondreSupprimer
  2. Bonjour,

    Simple et efficace, merci pour ces infos. Savez-vous quelle est l'unité exprimée ? (mV, J, dB, ) ? merci

    RépondreSupprimer
    Réponses
    1. Bonjour, il serait possible de convertir le résultat en volts sachant que 5 volts correspondent à une valeur de 1023.

      Supprimer
  3. Bonjour, s'il vous plait nous pouvons mesurer la fréquence avec ce capteur si oui comment et merci à l'avance

    RépondreSupprimer