Code de recherche

Contrôler une ampoule à courant alternatif avec un claquement de mains, la voix ou un son

Contrôler une ampoule à courant alternatif avec un claquement de mains, la voix ou un son

Dans ce tutoriel, vous apprendrez comment contrôler une ampoule en courant alternatif (AC) en utilisant un module sonore qui détecte les claquements de mains ou les commandes vocales. Grâce à ce montage, vous pouvez facilement allumer ou éteindre la lumière en fonction des signaux sonores. Ce projet utilise un relais pour commuter l'alimentation de l'ampoule AC, permettant de contrôler en toute sécurité des appareils sous tension secteur avec de simples commandes sonores. Le résultat est une lampe fonctionnelle qui répond à votre voix ou à des claquements de mains, ce qui en fait un projet à la fois ludique et pratique. Le module est également appelé module de détection vocale KY-037 ou module de détection sonore.

Sound detection microphone blue red

Avant d'entrer dans les détails, il est essentiel de comprendre les composants impliqués dans ce projet. Le module sonore détecte les signaux audio et envoie un signal correspondant à l'Arduino. L'Arduino traite ce signal et commande un relais, qui alimente à son tour l'ampoule CA. Ce système peut répondre à différents niveaux sonores, offrant une flexibilité quant à la façon dont vous choisissez d'activer la lumière (dans la vidéo à 00:30).

Le matériel expliqué

Pour ce montage, vous aurez besoin des composants suivants :

  • Carte Arduino:Agit comme le contrôleur central qui traite les entrées du module sonore et commande le relais.
  • Module sonore:Ce module détecte des entrées sonores (comme des applaudissements ou des commandes vocales) et envoie un signal à l'Arduino. Il comprend généralement un microphone et un amplificateur opérationnel (op-amp) pour amplifier le signal sonore.
  • Module de relais:Un relais vous permet de contrôler des appareils à tension plus élevée, comme une ampoule à courant alternatif. Il fonctionne comme un interrupteur qui peut être activé ou désactivé par l'Arduino.
  • Ampoule CA:La source lumineuse que vous allez contrôler. Assurez-vous qu'elle est raccordée en toute sécurité via le relais.

Le module sonore fonctionne en convertissant les ondes sonores en signaux électriques que l'Arduino peut lire. Le module relais utilise une entrée à basse tension fournie par l'Arduino pour commuter le courant alternatif haute tension, ce qui en fait un composant critique pour un fonctionnement sûr.

Détails de la fiche technique

FabricantGénérique
Numéro de pièceModule de détection sonore
Tension logique/E/S5 V
Tension d'alimentation5 V
Courant de sortie (par canal)20 mA
Courant de crête (par canal)50 mA
Recommandations sur la fréquence PWMS/O
Seuils logiques d'entréecompatible TTL
Chute de tension / RDS(on)/ saturation0,1 V max
Limites thermiques85 °C
PaquetModule
Notes / variantesCouramment utilisé dans divers projets de bricolage

  • Assurez une bonne dissipation thermique pour le module de relais.
  • Utilisez des condensateurs de découplage près de l'alimentation pour stabiliser la tension.
  • Maintenez le câblage organisé pour éviter les courts-circuits accidentels.
  • Faites attention à la tension du courant alternatif ; assurez-vous que toutes les connexions sont bien fixées.
  • Ajustez la sensibilité du module sonore en fonction de votre environnement.

Instructions de câblage

Arduino wiring of Sound detection microphone with relay
Arduino wiring of Sound detection microphone with relay

Commencez par connecter le module sonore à l'Arduino. Connectez leDO(broche de sortie de données) du module audio à la broche 2 de l'Arduino. LeVCCla broche doit être connectée à la sortie 5 V de l'Arduino, et leGNDLa broche doit être connectée à l'une des broches de masse de l'Arduino.

Ensuite, câblez le module de relais. Connectez leVCCbroche du relais à la broche 5V de l'Arduino et laGNDBranchez la broche à la masse. La broche d'entrée du relais doit être connectée à la broche 10 de l'Arduino. Enfin, connectez l'ampoule en courant alternatif à la borne commune et à la borne normalement ouverte du relais, en veillant à ce que le circuit soit correctement isolé de tout contact exposé.

Exemples de code et guide pas à pas

L'extrait de code suivant montre comment configurer les broches et lire l'entrée sonore :

int SOUND = 2; // connect output to Sound module DO
int relayPin = 10; // Connected to relay (LED)

void setup() {
  Serial.begin(9600);
  pinMode(SOUND, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);
}

Dans cette configuration, la sortie du module sonore est reliée à la broche 2, qui est configurée comme une entrée avec une résistance pull-up. La broche du relais est configurée en sortie pour piloter le relais.

Wirig relay module to AC load

Ensuite, la boucle principale vérifie l'entrée sonore et commande le relais en fonction du son détecté :

void loop() {
  val = digitalRead(SOUND);
  if(val == HIGH && lightON == LOW){
    heard = 1 - heard;
    delay(100);
  }    
  lightON = val;

  if(heard == HIGH){
    Serial.println("Light ON");
    digitalWrite(relayPin, LOW); 
  }else{
    Serial.println("Light OFF");
    digitalWrite(relayPin, HIGH);
  } 
  delay(100);
}

Cette boucle lit en continu l'entrée audio. Si un son est détecté (lorsquevalestHIGH), il bascule l'état de la lumière. LeheardLa variable indique si un son a été détecté, et le relais est activé en conséquence.

Démonstration / À quoi s'attendre

Une fois que tout est câblé et que le code est téléversé, vous pouvez tester le fonctionnement en applaudissant ou en parlant près du module sonore. La lumière devrait s'allumer au premier applaudissement ou au premier son et s'éteindre au suivant. Faites attention à la distance et au volume de votre voix, car ceux-ci peuvent affecter la détection (dans la vidéo à 05:00).

Les erreurs courantes comprennent un câblage incorrect, notamment au niveau du relais, ce qui peut entraîner des situations dangereuses. Veillez à ce que le relais soit correctement connecté et que l'ampoule en courant alternatif soit correctement câblée afin d'éviter tout risque électrique.

Horodatages vidéo

  • 00:00- Introduction au projet
  • 01:00- Vue d'ensemble des composants utilisés
  • 02:30- Instructions de câblage
  • 04:15- Présentation du code
  • 05:00- Démonstration de la fonctionnalité

Images

Wirig relay module to AC load
Wirig relay module to AC load
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-2
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-3
Sound detection microphone
KY-037-Voice-Sound-Detection-Sensor-Module-4
Arduino wiring of Sound detection microphone with relay
Arduino wiring of Sound detection microphone with relay
Sound detection microphone blue red
Sound detection microphone blue red
KY-037-Voice-Sound-Detection-Sensor-Module-1
KY-037-Voice-Sound-Detection-Sensor-Module-1
77-Control AC bulb with a hand clap or voice (basic digital)
Langue: C++
/*
 * This is the Arduino code for a sound module for Arduino (basic).
This video shows you how to turn an AC light on 
with a clap or your voice and turn it off with another clap
or shout. This code is a basic version where 
the digital output of the module is used.
Please see the other version where actual analog sound values are 
used to control the light.


 * 
 // written by Ahmad Shamshiri for Robojax.com on 
 February 17, 2018 at 13:28 in Ajax, Ontario, Canada


 * Watch the video for details: https://youtu.be/1szA8CKWuZY
 * Code is available at: http://robojax.com/learn/arduino
 */
 
int SOUND = 2;// connect output to Sound module DO
int relayPin = 10;// Connected to relay (LED)

// do not change values below
int val = 0; // light value from pin 2
int lightON = 0;//light status
int heard = 0;//sound heard status


void setup() {
   // SOUND Sensor Code by Robojax.com 20180217
  Serial.begin(9600);
  pinMode(SOUND, INPUT_PULLUP); 
  pinMode(relayPin, OUTPUT);

}

void loop() {
 // SOUND Sensor Code by Robojax.com 20180217
  val = digitalRead(SOUND);

  if(val == HIGH && lightON == LOW){

    heard = 1-heard;
    delay(100);
  }    
 // SOUND Sensor Code by Robojax.com 20180217
  lightON = val;

      if(heard == HIGH){
        Serial.println("Light ON");
        digitalWrite(relayPin, LOW); 
       
      }else{
        Serial.println("Light OFF");
        digitalWrite(relayPin, HIGH);
   
      }     


 // SOUND Sensor Code by Robojax.com 20180217
  delay(100);
}

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing