Club Scientifique International

Version 2.0

Comment programmer un capteur microphone avec un Arduino ?


Bonjour à tous ! Bienvenue sur ce nouvel article sur le site du C.S.I. ! Aujourd’hui nous allons découvrir comment programmer un capteur microphone avec un Arduino. Vous pouvez suivre ce tuto par écrit ci-dessous ou avec la vidéo affichée à l’écran.

--------------------------------
Pour commencer voici ce dont nous aurons besoin :
- Un ordinateur
- Une carte Arduino
- Un capteur microphone à quatre broches
- Quelques câbles
- Un câble pour relier l’Arduino au P.C.
- L’Arduino IDE que vous pouvez trouver ici sur leur site officiel : Télécharger l'IDE Arduino

--------------------------------
Maintenant que nous avons ça, nous pouvons commencer le câblage !

Câblage_microphone

On relie la broche A0 à la broche Analog A0 de l’Arduino, le GND : la deuxième broche en partant de la gauche du capteur au GND de l’Arduino (ou appelé -), la troisième broche + au 5v et pour finir la broche D0 la quatrième en partant de la gauche on ne s’en occupera pas.
Avant de pouvoir commencer la programmation, il faut d’abord régler le capteur physiquement, et pour ça, vous aurez besoin d’un tournevis plat !
Ensuite vous devez alimenter l’Arduino et faire tourner la petite vis qui est surélever (voir photo ci-dessous). L’objectif est que les deux leds brillent.

Mauvais réglage microphone, une seule led est allumée

Voici ce que vous devriez avoir :

Bon réglage microphone, les deux leds brillent

On peut maintenant passer à l’étape la plus importante : la programmation !
Pour commencer, vous pouvez ouvrir l’IDE Arduino, créer un nouveau projet puis coller ce code, vous avez toutes les explications dans les lignes à l’intérieur

                        
// On initiale les différentes variables requises pour le bon fonctionnement de notre code
int micPin = A0; // On définit sur A0 la broche analogique utilisée par notre capteur
int threshold = 500; // On définit le seuil de sensibilité
int micValue = 0; // On crée une variable pour stocker la valeur lue
                            
void setup() {
    Serial.begin(9600); // On configure la communication série
}
                            
void loop() { // On rentre dans une boucle infinie
    // On lit la valeur du capteur et la stocke dans la variable que l’on a créée juste avant
    micValue = analogRead(micPin);
                            
    // Si la valeur lue dépasse le seuil, le son est détecté et on envoye un message dans le moniteur série
    if (micValue > threshold) {
        Serial.println("Son détecté !");
    }
                            
    // On attend 100ms avant de lire à nouveau la valeur du capteur
        delay(100);
}
                        
                    

Maintenant on peut connecter la carte et aller dans select board, ici j’ai déjà indiqué que c’était un Arduino Uno.

Sélectionner carte

Vous allez arriver sur cette page où vous pourrez rechercher le modèle de votre carte et le port où elle est. Si vous ne la voyez pas, cochez « Show all ports » qui vous permettra d’afficher tous les ports.

Sélectionner carte et port

Maintenant que la configuration est faîtes nous pouvons téléverser notre code en cliquant sur le bouton avec la flèche (Upload)

Sélectionner carte et port

Félicitations ! Votre code est téléversé !
Maintenant nous pouvons ouvrir le moniteur série :

Ouvrir le moniteur série

A l’intérieur vous pouvez observer que quand vous parlez, le moniteur affiche bien son détecté !
Si cela ne s’affiche pas, essayez de réduire le seuil de sensibilité que nous avons défini dans notre code.
Si vous n’arrivez pas à ce résultat, n’hésitez pas à rejoindre le serveur Discord du Club Scientifique International où nous serons heureux de vous aider : Notre serveur Discord