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
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.
| 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
}
}