Hľadať kód

Ovládajte AC žiarovku tlieskaním, hlasom alebo zvukom

Ovládajte AC žiarovku tlieskaním, hlasom alebo zvukom

V tomto návode sa naučíte, ako ovládať žiarovku na striedavý prúd pomocou zvukového modulu, ktorý deteguje tlieskanie alebo hlasové príkazy. Použitím tohto zapojenia môžete jednoducho zapnúť alebo vypnúť svetlo na základe zvukového vstupu. Tento projekt využíva relé na prepínanie napájania žiarovky na striedavý prúd, čo umožňuje bezpečné ovládanie zariadení s vysokým napätím pomocou jednoduchých zvukových príkazov. Výsledkom je funkčné svetlo, ktoré reaguje na váš hlas alebo tlieskanie, čo z neho robí zábavný a praktický projekt. Modul sa tiež nazýva KY-037 modul na detekciu hlasu alebo zvuku.

Sound detection microphone blue red

Predtým, než sa ponoríme do detailov, je dôležité pochopiť komponenty zapojené v tomto projekte. Zvukový modul deteguje zvukové signály a posiela zodpovedajúci signál do Arduina. Arduino spracováva tento signál a ovláda relé, ktoré následne napája žiarovku na striedavý prúd. Tento systém môže reagovať na rôzne úrovne zvuku, čo umožňuje flexibilitu v tom, ako sa rozhodnete aktivovať svetlo (vo videu o 00:30).

Vysvetlenie hardvéru

Pre túto konštrukciu budete potrebovať nasledujúce komponenty:

  • Doska Arduino: Funguje ako centrálny ovládač, ktorý spracováva vstup zo zvukového modulu a ovláda relé.
  • Zvukový modul: Tento modul deteguje zvukové vstupy (ako tlieskanie alebo hlasové príkazy) a vysiela signál do Arduina. Zvyčajne obsahuje mikrofón a operačný zosilňovač na zosilnenie zvuku.
  • Relé modul: Relé vám umožňuje ovládať zariadenia s vyšším napätím, ako je žiarovka na striedavý prúd. Funguje ako spínač, ktorý môže byť zapnutý alebo vypnutý Arduinom.
  • Žiarovka na striedavý prúd: Svetelný zdroj, ktorý budete ovládať. Uistite sa, že je bezpečne pripojená cez relé.

Zvukový modul funguje tak, že prevádza zvukové vlny na elektrické signály, ktoré môže Arduino čítať. Relé modul používa nízkonapäťový vstup z Arduina na prepínanie vysokonapäťového striedavého prúdu zapnutého alebo vypnutého, čo je kritický komponent pre bezpečnú prevádzku.

Detaily z datasheetu

VýrobcaGenerický
Číslo dieluModul na detekciu zvuku
Logické/IO napätie5 V
Napájacie napätie5 V
Výstupný prúd (na kanál)20 mA
Špičkový prúd (na kanál)50 mA
Odporúčanie pre PWM frekvenciuN/A
Logické prahové hodnoty vstupuKompatibilné s TTL
Pokles napätia / RDS(on) / saturácia0,1 V max
Tepelné limity85 °C
PuzdroModul
Poznámky / variantyBežne používané v rôznych DIY projektoch

  • Zabezpečte správny odvod tepla pre relé modul.
  • Použite oddeľovacie kondenzátory v blízkosti napájacieho zdroja na stabilizáciu napätia.
  • Udržujte zapojenie organizované, aby ste predišli náhodným skratom.
  • Buďte opatrní so striedavým napätím; uistite sa, že všetky spojenia sú bezpečné.
  • Nastavte citlivosť zvukového modulu podľa vášho prostredia.

Pokyny na zapojenie

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

Začnite pripojením zvukového modulu k Arduinu. Pripojte pin DO (výstup dát) zvukového modulu na pin 2 na Arduine. Pin VCC by mal byť pripojený na 5V výstup na Arduine a pin GND by mal byť pripojený na jeden z uzemňovacích pinov Arduina.

Ďalej zapojte relé modul. Pripojte pin VCC relé na 5V pin na Arduine a pin GND na uzemnenie. Vstupný pin relé by mal byť pripojený na pin 10 na Arduine. Nakoniec pripojte žiarovku na striedavý prúd na spoločný a normálne otvorený terminál relé, pričom sa uistite, že obvod je správne izolovaný od akýchkoľvek odkrytých kontaktov.

Príklady kódu a vysvetlenie

Nasledujúci výňatok kódu ukazuje, ako nastaviť piny a čítať zvukový vstup:

int SOUND = 2; // pripojte výstup na DO zvukového modulu
int relayPin = 10; // pripojené k relé (LED)

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

V tomto nastavení je výstup zvukového modulu pripojený na pin 2, ktorý je nakonfigurovaný ako vstup s pull-up rezistorom. Pin relé je nastavený ako výstup na ovládanie relé.

Wirig relay module to AC load

Ďalej hlavná slučka kontroluje zvukový vstup a ovláda relé na základe detegovaného zvuku:

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

  if(heard == HIGH){
    Serial.println("Svetlo ZAPNUTÉ");
    digitalWrite(relayPin, LOW); 
  }else{
    Serial.println("Svetlo VYPNUTÉ");
    digitalWrite(relayPin, HIGH);
  } 
  delay(100);
}

Táto slučka nepretržite číta zvukový vstup. Ak je detegovaný zvuk (keď je val HIGH), prepína stav svetla. Premenná heard sleduje, či bol zvuk detegovaný, a relé sa aktivuje podľa toho.

Demonštrácia / Čo očakávať

Keď je všetko zapojené a kód je nahraný, môžete otestovať funkčnosť tlieskaním alebo hovorením v blízkosti zvukového modulu. Svetlo by sa malo zapnúť pri prvom tliesknutí alebo zvuku a vypnúť pri ďalšom. Dávajte pozor na vzdialenosť a hlasitosť vášho hlasu, pretože tieto môžu ovplyvniť detekciu (vo videu o 05:00).

Bežné nástrahy zahŕňajú nesprávne zapojenie, najmä s relé, čo môže viesť k nebezpečným podmienkam. Uistite sa, že relé je správne pripojené a že žiarovka na striedavý prúd je správne zapojená, aby ste predišli akýmkoľvek elektrickým rizikám.

Časové pečiatky videa

  • 00:00 - Úvod do projektu
  • 01:00 - Prehľad použitých komponentov
  • 02:30 - Pokyny na zapojenie
  • 04:15 - Prehľad kódu
  • 05:00 - Ukážka funkčnosti

Obrázky

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

Veci, ktoré by ste mohli potrebovať

Zdroje a referencie

Zatiaľ žiadne zdroje.

Súbory📁

Súbor Fritzing