- Potřebný materiál
- Práce se zvukovým senzorem
- Schéma zapojení zvukového senzoru
- Schéma zapojení vodní fontány
- Programování Arduino Nano pro Dancing Fountain
Existuje několik vodních fontán, které bezpodmínečně kropí vodu některými zajímavými světelnými efekty. Putoval jsem tedy po návrhu inovativní vodní fontány, která dokáže reagovat na externí hudbu a kropit vodou v závislosti na hudebních rytmech. Nezní to zajímavě?
Základní myšlenkou této vodní fontány Arduino je přijmout vstup z jakéhokoli externího zdroje zvuku, jako je mobilní telefon, iPod, PC atd., Vyzkoušet zvuk a rozdělit ho na různé napěťové rozsahy, poté pomocí výstupu zapnout různé relé. Nejprve jsme použili modul zvukového senzoru založený na kondenzátorovém mikrofonu k provedení na zdroji zvuku k rozdělení zvuků do různých napěťových rozsahů. Poté bude napětí přivedeno do operačního zesilovače, aby bylo možné porovnat hladinu zvuku s konkrétním limitem. Rozsah vyššího napětí bude odpovídat přepnutí relé do polohy ON, které zahrnuje hudební vodní fontánu pracující podle rytmů a rytmů písně. Tady tedy stavíme tuto hudební fontánu pomocí Arduina a zvukového senzoru.
Potřebný materiál
- Arduino Nano
- Modul zvukového senzoru
- 12V reléový modul
- DC čerpadlo
- LED diody
- Připojovací vodiče
- Vero deska nebo prkénko
Práce se zvukovým senzorem
Modul zvukového senzoru je jednoduchá elektronická deska založená na elektretovém mikrofonu, která slouží k snímání vnějšího zvuku z prostředí. Je založen na výkonovém zesilovači LM393 a elektretovém mikrofonu, lze jej použít k detekci, zda je slyšet nějaký zvuk nad stanovenou mezní hodnotou. Výstupem modulu je digitální signál, který označuje, že zvuk je větší nebo menší než prahová hodnota.
Potenciometr lze použít k nastavení citlivosti modulu snímače. Výstup modulu je HIGH / LOW, když je zdroj zvuku nižší / vyšší než prahová hodnota nastavená potenciometrem. Stejný modul snímače zvuku lze také použít k měření úrovně zvuku v decibelech.
Schéma zapojení zvukového senzoru
Jak víme, že v modulu zvukového senzoru je základním vstupním zařízením mikrofon, který převádí zvukové signály na elektrické signály. Jelikož je však výstup elektrického signálu zvukového senzoru tak malý, že je velmi obtížné jej analyzovat, použili jsme obvod tranzistorového zesilovače NPN, který jej zesílí a přivádí výstupní signál na neinvertující vstup Op- zesilovač Zde se používá LM393 OPAMP jako komparátor, který porovnává elektrický signál z mikrofonu a referenční signál přicházející z obvodu děliče napětí. Pokud je vstupní signál větší než referenční signál, bude výstup OPAMPu vysoký a naopak.
Můžete sledovat sekce obvodů operačních zesilovačů a dozvědět se více o jeho fungování.
Schéma zapojení vodní fontány
Jak je znázorněno ve výše uvedeném schématu zapojení hudební fontány, zvukový senzor je napájen napájením 3,3 V pro Arduino Nano a výstupní kolík modulu zvukového senzoru je připojen k analogovému vstupnímu kolíku (A6) Nano. Můžete použít kterýkoli z analogových pinů, ale nezapomeňte to v programu změnit. Reléový modul a stejnosměrné čerpadlo jsou napájeny z externího zdroje 12VDC, jak je znázorněno na obrázku. Vstupní signál reléového modulu je připojen k digitálnímu výstupnímu kolíku D10 Nano. Pro světelný efekt jsem vybral dvě různé barvy LED a připojil je ke dvěma digitálním výstupním pinům (D12, D11) Nano.
Zde je čerpadlo připojeno takovým způsobem, že když je na vstup reléového modulu přiveden VYSOKÝ impuls, kontakt COM relé je připojen k spínacímu kontaktu a proud získá uzavřenou cestu obvodu, která protéká čerpadlem do aktivujte průtok vody. Jinak zůstane čerpadlo vypnuté. Pulzy HIGH / LOW jsou generovány z Arduino Nano v závislosti na zvukovém vstupu.
Po připájení celého obvodu na perfboard to bude vypadat níže:
Zde jsme použili plastovou krabici jako fontánový kontejner a mini 5v čerpadlo, které fungovalo jako fontána, toto čerpadlo jsme dříve používali v hasičském robotu:
Programování Arduino Nano pro Dancing Fountain
Kompletní program tohoto projektu vodní fontány Arduino je uveden ve spodní části stránky. Ale zde to jen vysvětluji částmi pro lepší pochopení:
První částí programu je deklarovat potřebné proměnné pro přiřazení čísel pinů, které budeme používat v dalších blocích programu. Poté definujte konstantní REF s hodnotou, která je referenční hodnotou modulu zvukového senzoru. Přiřazená hodnota 700 je ekvivalentní bajtová hodnota výstupního elektrického signálu zvukového senzoru.
int senzor = A6; int červeno = 12; int greenled = 11; int čerpadlo = 10; #define REF 700
Ve funkci nastavení void jsme použili funkci pinMode k přiřazení směru dat INPUT / OUTPUT pinů. Zde se senzor považuje za VSTUP a všechna ostatní zařízení se používají jako VÝSTUP.
void setup () { pinMode (senzor, VSTUP); pinMode (červeně, VÝSTUP); pinMode (zelený, VÝSTUP); pinMode (čerpadlo, VÝSTUP); }
Uvnitř nekonečné smyčky je volána funkce analogRead , která odečte analogovou hodnotu vstupu z kolíku senzoru a uloží ji do proměnné sensor_value .
int sensor_value = analogRead (senzor);
V závěrečné části se k porovnání vstupního analogového signálu s referenční hodnotou použije smyčka if-else . Pokud je větší než reference, pak jsou všem výstupním pinům přiřazen VYSOKÝ výstup, takže jsou aktivovány všechny LED a čerpadlo, jinak vše zůstane VYPNUTO. Zde jsme také dali zpoždění 70 milisekund, abychom odlišili dobu zapnutí / vypnutí relé.
if (sensor_value> REF) { digitalWrite (greenled, HIGH); digitalWrite (červený, HIGH); digitalWrite (pumpa, VYSOKÁ); zpoždění (70); } else { digitalWrite (zelená, nízká); digitalWrite (červeně, LOW); digitalWrite (pumpa, NÍZKÁ); zpoždění (70); }
Takto funguje tato vodní fontána řízená Arduino, kompletní kód s fungujícím videem je uveden níže.