Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
wiki:tutoriels:arduino-capteurs:arduino-capteurs [2024/06/09 11:15] damien.muti [Microphone] |
wiki:tutoriels:arduino-capteurs:arduino-capteurs [2024/06/09 11:33] (Version actuelle) damien.muti [Microphone] |
| |
| |
Ce produit est proposé chez Adafruit : [[Adafruit AGC Electret Microphone Amplifier - MAX9814]] | Ce produit est proposé chez Adafruit : [[https://learn.adafruit.com/adafruit-agc-electret-microphone-amplifier-max9814/|Adafruit AGC Electret Microphone Amplifier - MAX9814]] |
| |
Ce module d'amplificateur de microphone permet un contrôle automatique du gain intégré. Le contrôle automatique du gain (AGC) dans l'amplificateur signifie que les sons 'forts' à proximité seront atténués pour ne pas surcharger et 'saturer' l'amplificateur, et même les sons faibles et éloignés seront amplifiés. | Ce module d'amplificateur de microphone permet un contrôle automatique du gain intégré. Le contrôle automatique du gain (AGC) dans l'amplificateur signifie que les sons 'forts' à proximité seront atténués pour ne pas surcharger et 'saturer' l'amplificateur, et même les sons faibles et éloignés seront amplifiés. |
Vous pouvez également changer le rapport d'attaque/libération, du rapport par défaut de 1:4000 à 1:2000 ou 1:500. La sortie de l'amplificateur est d'environ 2Vpp max sur un biais DC de 1,25V, ce qui permet de l'utiliser facilement avec n'importe quel convertisseur analogique/numérique acceptant une entrée jusqu'à 3,3V. Si vous souhaitez le connecter à une entrée de ligne, utilisez simplement un condensateur de blocage de 1uF en série. | Vous pouvez également changer le rapport d'attaque/libération, du rapport par défaut de 1:4000 à 1:2000 ou 1:500. La sortie de l'amplificateur est d'environ 2Vpp max sur un biais DC de 1,25V, ce qui permet de l'utiliser facilement avec n'importe quel convertisseur analogique/numérique acceptant une entrée jusqu'à 3,3V. Si vous souhaitez le connecter à une entrée de ligne, utilisez simplement un condensateur de blocage de 1uF en série. |
| |
Il est nécessaire de souder les connecteurs avant utilisation. | Il est nécessaire de souder les connecteurs avant utilisation.Le processus d'assemblage et soudure est disponible sur ce lien : [[https://learn.adafruit.com/adafruit-agc-electret-microphone-amplifier-max9814/assembly|Assemblage et Soudures]]. |
| |
| **Après avoir branché la patte GND et VCC du Microphone au GND et VCC de la carte Arduino, Il faut brancher la sortie "Out" du Micro à l'entrée Analogique A0 de la carte Arduino** : voir le lien suivant [[https://learn.adafruit.com/adafruit-agc-electret-microphone-amplifier-max9814/wiring-and-test|Câblage]]. |
| |
| {{ :wiki:tutoriels:arduino-capteurs:montage_microphone.png?400 |}} |
| |
| |
| |
| |
| Le programme permettant de mesurer le volume sonore à partir du micro est disponible sur ce lien suivant : [[https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels|Mesure du volume sonore]]. |
| |
| <code> |
| /**************************************** |
| Example Sound Level Sketch for the |
| Adafruit Microphone Amplifier |
| ****************************************/ |
| |
| const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz) |
| unsigned int sample; |
| |
| void setup() |
| { |
| Serial.begin(9600); |
| } |
| |
| |
| void loop() |
| { |
| unsigned long startMillis= millis(); // Start of sample window |
| unsigned int peakToPeak = 0; // peak-to-peak level |
| |
| unsigned int signalMax = 0; |
| unsigned int signalMin = 1024; |
| |
| // collect data for 50 mS |
| while (millis() - startMillis < sampleWindow) |
| { |
| sample = analogRead(0); |
| if (sample < 1024) // toss out spurious readings |
| { |
| if (sample > signalMax) |
| { |
| signalMax = sample; // save just the max levels |
| } |
| else if (sample < signalMin) |
| { |
| signalMin = sample; // save just the min levels |
| } |
| } |
| } |
| peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude |
| double volts = (peakToPeak * 5.0) / 1024; // convert to volts |
| |
| Serial.println(volts); |
| } |
| </code> |
| |
| |