Capteur de Son

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 11

Capteur de son d'interface avec

Arduino et dispositifs de
contrôle avec un clap

Prêt à ajouter une oreille à votre prochain projet?

Ces capteurs sonores sont peu coûteux, faciles à interfacer et sont capables
de détecter les sons de voix, de claquements ou de coups de porte.

Vous pouvez les utiliser pour une variété de projets sonores réactifs, par
exemple, activer vos lumières ou garder une «oreille» sur vos animaux pendant
que vous êtes absent.

Savez-vous comment fonctionnent les microphones à électret?


À l'intérieur du microphone se trouve le diaphragme mince, qui est en fait une
plaque d'un condensateur. La deuxième plaque est la plaque arrière, qui est
proche et parallèle au diaphragme.

Lorsque vous parlez dans le microphone, les ondes sonores créées par votre
voix frappent le diaphragme, le faisant vibrer.

Lorsque le diaphragme vibre en réponse au son, la capacité change à mesure


que les plaques se rapprochent ou s'éloignent.

Au fur et à mesure que la capacité change, la tension aux bornes des plaques
change, ce qui, en mesurant, nous pouvons déterminer l'amplitude du son.

Présentation du matériel
Le capteur de son est une petite carte qui combine un microphone (50Hz-
10kHz) et certains circuits de traitement pour convertir les ondes sonores en
signaux électriques.

Ce signal électrique est envoyé au comparateur de haute précision LM393


embarqué pour le numériser et est mis à disposition sur la broche OUT.
Le module dispose d'un potentiomètre intégré pour le réglage de la sensibilité
du signal OUT.

Vous pouvez définir un seuil en utilisant un potentiomètre; De sorte que


lorsque l'amplitude du son dépasse la valeur de seuil, le module émettra LOW
sinon HIGH.

Cette configuration est très utile lorsque vous souhaitez déclencher une action
lorsqu'un certain seuil est atteint. Par exemple, lorsque l'amplitude du son
franchit un seuil (lorsqu'un cognement est détecté), vous pouvez activer un
relais pour contrôler la lumière. Vous avez l'idée!

Conseil: tournez le bouton dans le sens antihoraire pour augmenter la


sensibilité et dans le sens horaire pour la diminuer.
En dehors de cela, le module dispose de deux LED. Le voyant d'alimentation
s'allume lorsque le module est sous tension. Le voyant d'état s'allume lorsque
la sortie numérique passe à BAS.

Brochage du capteur sonore


Le capteur de son n'a que trois broches:

VCCbroche alimente le capteur. Il est recommandé d'alimenter le capteur entre


3,3 V et 5 V.
GND est une connexion à la terre.
EN DEHORSbroche émet HAUT lorsque les conditions sont calmes et passe à
BAS lorsque le son est détecté. Vous pouvez le connecter à n'importe quelle
broche numérique sur un Arduino ou directement à un relais 5V ou à un
appareil similaire.

Câblage du capteur de son avec Arduino


Accrochons le capteur de son à l'Arduino.
Les connexions sont assez simples. Commencez par connecter la broche VCC
du module à 5V sur l'Arduino et la broche GND à la terre.

Connectez maintenant la broche OUT à la broche numérique n ° 7 sur votre


Arduino. C'est ça!

L'illustration suivante montre le câblage.

Calibrage du capteur de son


Pour obtenir des lectures précises de votre capteur de son, il est recommandé
de l'étalonner au préalable.

Le module dispose d'un potentiomètre intégré pour l'étalonnage de la sortie


numérique (OUT).

En tournant le bouton du potentiomètre, vous pouvez définir un seuil. Ainsi,


lorsque le niveau sonore dépasse la valeur de seuil, la LED d'état s'allume et la
sortie numérique (OUT) émet LOW.

Maintenant, pour calibrer le capteur, commencez à applaudir près du


microphone et ajustez le potentiomètre jusqu'à ce que vous voyiez la LED
d'état sur le module clignoter en réponse à vos applaudissements.

Voilà, votre capteur est maintenant calibré et prêt à être utilisé.


Détection du son - Exemple de base
Maintenant que votre capteur de son est branché, vous aurez besoin d'un
croquis pour que tout fonctionne.

L'exemple suivant détecte les claps ou les accrochages et imprime le


message sur le moniteur série. Allez-y, essayez le croquis; puis nous le
disséquerons en détail.

#define sensorPin 7

// Variable to store the time when last event happened


unsigned long lastEvent = 0;

void setup() {
pinMode(sensorPin, INPUT); // Set sensor pin as an INPUT
Serial.begin(9600);
}

void loop() {
// Read Sound sensor
int sensorData = digitalRead(sensorPin);

// If pin goes LOW, sound is detected


if (sensorData == LOW) {

// If 25ms have passed since last LOW state, it means that


// the clap is detected and not due to any spurious sounds
if (millis() - lastEvent > 25) {
Serial.println("Clap detected!");
}

// Remember when last event happened


lastEvent = millis();
}
}

Si tout va bien, vous devriez voir la sortie ci-dessous sur le moniteur série
lorsque le clap est détecté.
Explication:
L'esquisse commence par la déclaration de la broche Arduino à laquelle la
broche OUT du capteur est connectée.

#define sensorPin 7

Ensuite, nous définissons une variable appelée lastEventqui stocke le temps


depuis le clap détecté. Cela nous aidera à éliminer les sons parasites.

unsigned long lastEvent = 0;

Dans la section Configuration, nous déclarons la broche de signal du capteur


comme entrée. Nous configurons également le moniteur série.

pinMode(sensorPin, INPUT);
Serial.begin(9600);

Dans la section boucle, nous lisons d'abord la sortie numérique du capteur.

int sensorData = digitalRead(sensorPin);

Lorsque le capteur détecte un son suffisamment fort pour franchir la valeur de


seuil, la sortie passe à LOW. Mais nous devons nous assurer que le son est dû
à des applaudissements et non à un bruit de fond parasite. Donc, nous
attendons 25 millisecondes. Si la sortie reste BAS pendant plus de 25
millisecondes, nous déclarons que le clap est détecté.
if (sensorData == LOW) {
if (millis() - lastEvent > 25) {
Serial.println("Clap detected!");
}
lastEvent = millis();
}

Contrôler les appareils avec un coup


Pour notre prochain projet, nous utiliserons le capteur de son comme un
« Clapper » qui allume les appareils alimentés en courant alternatif en un
claquement de mains.

Ce projet utilise un module de relais à un canal pour contrôler les appareils


alimentés en courant alternatif. Si vous n'êtes pas familier avec le module de
relais, envisagez de lire (au moins l'écrémage) ci-dessous le didacticiel.

Module de relais d'interface à un canal avec Arduino


Parfois, vous voulez que votre Arduino contrôle des appareils alimentés en courant alternatif comme
des lampes, des ventilateurs ou d'autres appareils ménagers. Mais parce que l'Arduino fonctionne à 5
volts, ...

Câblage
Le câblage de ce projet est très simple.

Avertissement:
cette carte interagit avec une tension CA ÉLEVÉE. Une utilisation incorrecte ou inappropriée peut entra
des blessures graves ou la mort. Ainsi, il est destiné aux personnes expérimentées et connaissant la haute
tension alternative.
Vous devez d'abord alimenter le capteur et le module de relais. Connectez
leurs broches VCC à la broche 5V de l'Arduino et GND à la terre.

Ensuite, connectez la broche de sortie (OUT) du capteur de son à la broche


numérique n ° 7 de votre Arduino et la broche de commande (IN) du module de
relais à la broche numérique n ° 8.

Vous devrez également placer le module de relais en ligne avec l'appareil


alimenté en courant alternatif que vous essayez de contrôler. Vous devrez
couper votre ligne CA sous tension et connecter une extrémité du fil coupé
(venant du mur) à COM et l'autre à NON.

L'illustration suivante montre le câblage.

Code Arduino
Voici le croquis pour contrôler les appareils avec un coup de main.

#define sensorPin 7
#define relayPin 8
// Variable to store the time when last event happened
unsigned long lastEvent = 0;
boolean relayState = false; // Variable to store the state of relay

void setup() {
pinMode(relayPin, OUTPUT); // Set relay pin as an OUTPUT pin
pinMode(sensorPin, INPUT); // Set sensor pin as an INPUT
}

void loop() {
// Read Sound sensor
int sensorData = digitalRead(sensorPin);

// If pin goes LOW, sound is detected


if (sensorData == LOW) {

// If 25ms have passed since last LOW state, it means that


// the clap is detected and not due to any spurious sounds
if (millis() - lastEvent > 25) {
//toggle relay and set the output
relayState = !relayState;
digitalWrite(relayPin, relayState ? HIGH : LOW);
}

// Remember when last event happened


lastEvent = millis();
}
}

Une fois que vous avez chargé et exécuté le programme avec votre matériel
connecté, le capteur doit allumer ou éteindre l'appareil à chaque fois que vous
applaudissez.

Explication:
Si vous comparez ce croquis avec le précédent, vous remarquerez de
nombreuses similitudes, à l'exception de peu de choses.
Au début, nous déclarons la broche Arduino à laquelle la broche de commande
du relais (IN) est connectée. Nous avons également défini une nouvelle
variable relayStatepour stocker l'état du relais.

#define relayPin 7

boolean relayState = false;

Dans la configuration, nous définissons le relayPincomme étant une sortie.

pinMode(relayPin, OUTPUT);

Maintenant, lorsque nous détectons le son du clap, au lieu d'imprimer le


message sur le moniteur série, nous basculons simplement l'état du relais.

relayState = !relayState;
digitalWrite(relayPin, relayState ? HIGH : LOW);

Dépannage
Si le capteur de son se comporte mal, essayez les étapes suivantes.

1. Vérifiez à nouveau que l'alimentation électrique est propre. Parce que le


capteur de son est un circuit analogique, il est plus sensible au bruit sur
l'alimentation.

2. Le microphone électret sur le capteur sonore est également sensible


aux vibrations mécaniques et au bruit du vent. Le monter avec un matériau
résilient peut aider à absorber les vibrations.

3. La plage de détection de ce capteur sonore est très petite, probablement


10 pouces, vous devez donc faire un bruit beaucoup plus proche pour obtenir
une bonne réponse.

Vous aimerez peut-être aussi