Search Code

Controlează un bec de curent alternativ cu o bătaie din palme, voce sau sunet

Controlează un bec de curent alternativ cu o bătaie din palme, voce sau sunet

În acest tutorial, vei învăța cum să controlezi un bec de curent alternativ folosind un modul de sunet care detectează bătăi din palme sau comenzi vocale. Folosind această configurație, poți aprinde sau stinge cu ușurință lumina pe baza intrării sonore. Acest proiect utilizează un releu pentru a comuta alimentarea becului de curent alternativ, permițând controlul sigur al dispozitivelor de înaltă tensiune cu comenzi sonore simple. Rezultatul este o lumină funcțională care răspunde la vocea ta sau la bătăile din palme, făcându-l un proiect distractiv și practic. Modulul este numit și modul de detectare a vocii sau a sunetului KY-037.

Sound detection microphone blue red

Înainte de a intra în detalii, este esențial să înțelegi componentele implicate în acest proiect. Modulul de sunet detectează semnalele audio și trimite un semnal corespunzător către Arduino. Arduino procesează acest semnal și controlează un releu, care la rândul său alimentează becul de curent alternativ. Acest sistem poate răspunde la diferite niveluri de sunet, permițând flexibilitate în modul în care alegi să activezi lumina (în videoclip la 00:30).

Hardware Explicat

Pentru această construcție, vei avea nevoie de următoarele componente:

  • Placă Arduino: Acționează ca controler central care procesează intrarea de la modulul de sunet și controlează releul.
  • Modul de sunet: Acest modul detectează intrările sonore (cum ar fi bătăi din palme sau comenzi vocale) și trimite un semnal către Arduino. Include de obicei un microfon și un amplificator operațional pentru a amplifica sunetul.
  • Modul releu: Un releu îți permite să controlezi dispozitive de tensiune mai mare, cum ar fi un bec de curent alternativ. Acționează ca un întrerupător care poate fi pornit sau oprit de Arduino.
  • Bec de curent alternativ: Sursa de lumină pe care o vei controla. Asigură-te că este conectat în siguranță prin releu.

Modulul de sunet funcționează prin conversia undelor sonore în semnale electrice pe care Arduino le poate citi. Modulul releu folosește o intrare de joasă tensiune de la Arduino pentru a comuta curentul alternativ de înaltă tensiune pornit sau oprit, fiind o componentă critică pentru operarea în siguranță.

Detalii din Fișa Tehnică

ProducătorGeneric
Număr de piesăModul de detectare a sunetului
Tensiune logică/IO5 V
Tensiune de alimentare5 V
Curent de ieșire (pe canal)20 mA
Curent de vârf (pe canal)50 mA
Ghid frecvență PWMN/A
Praguri logice de intrareCompatibil TTL
Cădere de tensiune / RDS(on) / saturație0,1 V max
Limite termice85 °C
PachetModul
Note / varianteFolosit frecvent în diverse proiecte DIY

  • Asigură o disipare adecvată a căldurii pentru modulul releu.
  • Folosește condensatoare de decuplare lângă sursa de alimentare pentru a stabiliza tensiunea.
  • Menține cablajul organizat pentru a preveni scurtcircuitele accidentale.
  • Fii precaut cu tensiunea de curent alternativ; asigură-te că toate conexiunile sunt sigure.
  • Reglează sensibilitatea modulului de sunet în funcție de mediul tău.

Instrucțiuni de Cablare

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

Începe prin conectarea modulului de sunet la Arduino. Conectează pinul DO (ieșire de date) al modulului de sunet la pinul 2 de pe Arduino. Pinul VCC ar trebui conectat la ieșirea de 5V de pe Arduino, iar pinul GND ar trebui conectat la unul dintre pinii de masă ai Arduino.

Apoi, conectează modulul releu. Conectează pinul VCC al releului la pinul de 5V de pe Arduino și pinul GND la masă. Pinul de intrare al releului ar trebui conectat la pinul 10 de pe Arduino. În final, conectează becul de curent alternativ la bornele comune și normal deschise ale releului, asigurându-te că circuitul este izolat corespunzător de orice contacte expuse.

Exemple de Cod și Explicații

Fragmentul de cod următor arată cum să configurezi pinii și să citești intrarea sonoră:

int SOUND = 2; // conectează ieșirea la DO al modulului de sunet
int relayPin = 10; // conectat la releu (LED)

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

În această configurație, ieșirea modulului de sunet este conectată la pinul 2, care este configurat ca intrare cu rezistor de pull-up. Pinul releului este setat ca ieșire pentru a controla releul.

Wirig relay module to AC load

Apoi, bucla principală verifică intrarea sonoră și controlează releul pe baza sunetului detectat:

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

  if(heard == HIGH){
    Serial.println("Lumină PORNITĂ");
    digitalWrite(relayPin, LOW); 
  }else{
    Serial.println("Lumină OPRITĂ");
    digitalWrite(relayPin, HIGH);
  } 
  delay(100);
}

Această buclă citește continuu intrarea sonoră. Dacă este detectat un sunet (când val este HIGH), comută starea luminii. Variabila heard urmărește dacă a fost detectat un sunet, iar releul este activat în consecință.

Demonstrație / Ce să Te Aștepți

Odată ce totul este cablat și codul este încărcat, poți testa funcționalitatea bătând din palme sau vorbind lângă modulul de sunet. Lumina ar trebui să se aprindă la prima bătaie din palme sau sunet și să se stingă la următoarea. Fii atent la distanță și la volumul vocii tale, deoarece acestea pot afecta detectarea (în videoclip la 05:00).

Capcanele frecvente includ cablarea incorectă, în special cu releul, care poate duce la condiții nesigure. Asigură-te că releul este conectat corect și că becul de curent alternativ este cablat corespunzător pentru a evita orice pericole electrice.

Marcaje Temporale din Videoclip

  • 00:00 - Introducere în proiect
  • 01:00 - Prezentare generală a componentelor utilizate
  • 02:30 - Instrucțiuni de cablare
  • 04:15 - Parcurgerea codului
  • 05:00 - Demonstrarea funcționalității

Imagini

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)
Limba: 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);
}

Lucruri de care ai putea avea nevoie

Resurse și referințe

Încă nu sunt resurse.

Fișiere📁

Fișier Fritzing