Passer au contenu principal Passer à la recherche Passer à la navigation principale
Menu

Lecture des données du module sonore avec Arduino


Dans ce guide, nous t'expliquons comment reconnaître des sons à l'aide du module audio.

Le module réagit parfaitement aux applaudissements, aux claquements de doigts, aux tapotements ou à d'autres signaux acoustiques. Il se compose d'un circuit avec un microphone dont la sensibilité peut être réglée via le potentiomètre. 

Simplement expliqué, un microphone est un transducteur acoustique qui convertit les signaux acoustiques en signaux électriques. Les microphones fonctionnent à l'inverse exact des haut-parleurs, qui génèrent des sons à partir de signaux électriques.

Composants nécessaires : 

  • Carte compatible Arduino UNO R3
  • Module sonore
  • 4 câbles connecteur-fiche

Ignorer la galerie de produits
Carte UNO R3 ATMEGA328P ATMEGA16U2 compatible Arduino Carte UNO R3 ATMEGA328P ATMEGA16U2 compatible Arduino – Image 2

Note moyenne de 4.98 sur 5 étoiles

(28)
Carte UNO R3 ATMEGA328P ATMEGA16U2 compatible Arduino
RBS10911

Disponible immédiatement

Prix régulier : A partir de 5,95 €
Module sonore WTV020-SD-16P Module sonore WTV020-SD-16P – Image 2

Note moyenne de 4.17 sur 5 étoiles

(3)
Module sonore WTV020-SD-16P
RBS10012

Disponible immédiatement

Prix régulier : A partir de 2,69 €
Câbles jumper 40 broches femelle-mâle 20 cm

Note moyenne de 4.87 sur 5 étoiles

(30)
Câbles jumper 40 broches femelle-mâle 20 cm
RBS10038

Actuellement non disponible

Prix régulier : A partir de 1,09 €
Kit de démarrage pour Arduino UNO R3 RFID Kit de démarrage pour Arduino UNO R3 RFID – Image 2

Note moyenne de 4.83 sur 5 étoiles

(24)
Kit de démarrage pour Arduino UNO R3 RFID
RBS11368

Disponible immédiatement

Prix régulier : A partir de 28,95 €

Fonctionnement

Il existe des microphones de différentes formes, tailles et technologies. Notre module est équipé d'un microphone à condensateur, que nous allons examiner de plus près. Les microphones à condensateur sont souvent intégrés dans les téléphones mobiles, les ordinateurs portables, etc. Ils fonctionnent comme un condensateur plan dont la capacité peut varier. À l'intérieur, une membrane extrêmement fine et conductrice est placée près d'une plaque métallique chargée électriquement.

Lorsque le son atteint la membrane, celle-ci commence à vibrer, modifiant ainsi la capacité du condensateur. Cette variation de capacité entraîne une tension variable.

La broche DO est une sortie numérique qui émet un signal "High" lorsque le seuil est dépassé. Le seuil peut être réglé avec le potentiomètre. Avec cette connexion, vous pouvez uniquement détecter si un certain niveau sonore est dépassé.

Alors que la sortie numérique ne fournit que 1 ou 0, la sortie analogique AO permet non seulement de détecter les sons, mais aussi de traiter le niveau sonore sous forme de signal analogique.

cliquez sur les images pour agrandir

Schéma de connexion et schéma électronique
Module sonore
Arduino
-GND
+5V
AO (sortie analogique)A0
DO (sortie numérique)3


Code pour Arduino - Signal analogique

Avec le code pour la sortie analogique, vous pouvez lire directement le volume dans le moniteur série de l'IDE Arduino.

Afficher / masquer le code
int sensorPin = A0; // Broche du module sonore
int ledPin = 13; // Broche de la LED, 13 est la LED intégrée de l'Arduino UNO
int sensorValue = 0; // Variable pour stocker la valeur mesurée

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  digitalWrite(ledPin, HIGH);
  delay(sensorValue);
  digitalWrite(ledPin, LOW);
  delay(sensorValue);
  Serial.println(sensorValue, DEC);
}

Signal numérique

Avec la sortie numérique, vous pouvez détecter si un certain niveau sonore est dépassé. Le seuil peut être réglé via le potentiomètre du module. Si un bruit dépasse le seuil, une tension « High » est présente sur la broche 3 de l'Arduino et la LED « L » sur l'Arduino s'allume.

Afficher / masquer le code
int ledPin = 13; // Broche de la LED, 13 est la LED intégrée de l'Arduino UNO
int sensorPin = 3; // Broche numérique du capteur
int val; // Variable pour l'état numérique

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(sensorPin, INPUT);
}

void loop() {
  val = digitalRead(sensorPin);

  if (val == HIGH) { // Si un signal est présent sur la broche 3, la LED doit s'allumer
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW); // sinon, la LED doit être éteinte
  }
}