Sisällysluettelo:

Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla: 8 vaihetta
Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla: 8 vaihetta

Video: Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla: 8 vaihetta

Video: Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla: 8 vaihetta
Video: Most beautiful Musical Color Dancing water Fountain ⛲ | Dancing Fountains 2024, Marraskuu
Anonim
Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla
Tanssiva suihkulähde: Arduino MSGEQ7 -spektrianalysaattorilla

Äänisignaalin vastaanotto ja sen muuttaminen visuaaliseksi tai mekaaniseksi reaktioksi on erittäin mielenkiintoista. Tässä projektissa käytämme Arduino Mega -laitetta liitettäväksi spektrianalysaattoriin MSGEQ7, joka ottaa tulosignaalin ja suorittaa kaistanpäästösuodatuksen sen jakamiseksi seitsemään päätaajuusalueeseen. Arduino analysoi sitten kunkin taajuuskaistan analogisen signaalin ja luo toiminnon.

Vaihe 1: Hankkeen tavoitteet

Tässä projektissa keskustellaan kolmesta toimintatavasta:

  1. LEDit on kytketty PWM -digitaalisiin nastoihin reagoimaan taajuuskaistoihin
  2. LEDit on kytketty digitaalisiin nastoihin reagoimaan taajuuskaistoihin
  3. Pumput on kytketty Arduino Megaan moottoriajurien kautta ja reagoivat taajuuskaistoihin

Vaihe 2: Teoria

Teoria
Teoria
Teoria
Teoria

Jos puhumme MSGEQ7 Spectrum Analyzer IC: stä, voimme sanoa, että siinä on sisäiset 7 kaistanpäästösuodattimet, jotka jakavat tulosignaalin 7 pääkaistalle: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz ja 16 kHz.

Kunkin suodattimen lähtö valitaan IC -lähdöksi käyttämällä multiplekseriä. Tässä multiplekserissä on valitsinlinjoja, joita ohjaa sisäinen binäärilaskuri. Voimme siis sanoa, että laskurin pitäisi laskea 0-6 (binäärinä 000-110), jotta yksi kaista kulkee kerrallaan. Tämä tekee selväksi, että Arduinon koodin pitäisi pystyä nollaamaan laskuri, kun se saavuttaa lukeman 7.

Jos tarkastelemme MSGEQ7: n kytkentäkaaviota, voimme nähdä, että käytämme RC -taajuusviritintä oskillaattorin sisäisen kellon ohjaamiseen. sitten käytämme suodattavia RC -elementtejä tulosignaalin portissa.

Vaihe 3: Toimenpiteet

Toimenpiteet
Toimenpiteet

Lähdesivun (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) mukaan voimme nähdä, että lähdekoodi käsittelee lähdöt toistuvina PWM-signaaleina. voimme muuttaa joitain koodirivejä vastaamaan tavoitteitamme.

Voimme huomata, että jos meillä on stereoliitäntä, voimme kaksinkertaistaa tulovastus ja kondensaattori toiseen kanavaan. Virtamme MSGEQ7: lle Arduino VCC: stä (5 volttia) ja GND: stä. Yhdistämme MSGEQ7 Arduino -korttiin. Käytän mieluummin Arduino Megaa, koska siinä on projektiin sopivat PWM -nastat. MSGEQ7 IC: n lähtö on kytketty analogiseen nastaan A0, STROBE on kytketty Arduino Megan nastaan 2 ja RESET on kytketty nastaan 3.

Vaihe 4: Toimintatilat: 1- LEDit PWM-digitaalilähtöinä

Toimintatilat: 1- LEDit PWM-digitaalilähtöinä
Toimintatilat: 1- LEDit PWM-digitaalilähtöinä

Lähdekoodin mukaan voimme liittää lähtö -LEDit nastoihin 4-10

const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};

Sitten voimme huomata, että LEDit tanssivat kunkin taajuuskaistan voimakkuuden perusteella.

Vaihe 5: Toimintatilat: 2- LEDit digitaalilähtöinä

Image
Image
Toimintatavat: 3- Pumput digitaalilähtöinä
Toimintatavat: 3- Pumput digitaalilähtöinä

Voimme liittää lähtö -LEDit mihin tahansa digitaaliseen nastaan.

const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};

Sitten voimme huomata, että LED -valot vilkkuvat kunkin taajuuskaistan voimakkuuden mukaan.

Vaihe 6: Toimintatavat: 3- Pumput digitaalilähtöinä

Toimintatavat: 3- Pumput digitaalilähtöinä
Toimintatavat: 3- Pumput digitaalilähtöinä

Tässä viimeisessä tilassa liitämme L298N -moottorin ohjainmoduulin Arduinon lähtöihin. Tämän avulla voimme ohjata pumpun toimintaa MSGEQ7 -spektrianalysaattorin lähdön perusteella.

Kuten tiedetään, moottoriajurien avulla voimme hallita kytkettyjen moottoreiden tai pumppujen toimintaa Arduinon tuottaman signaalin perusteella upottamatta Arduinon virtaa, vaan ne käyttävät moottoreita suoraan kytketystä virtalähteestä.

Jos käytämme koodia raakalähteenä, pumput eivät ehkä toimi oikein. Tämä johtuu siitä, että PWM -signaali on heikko eikä se sovellu moottorin kuljettajalle moottorien tai pumppujen käyttämiseen ja sopivan virran tuottamiseen. Siksi suosittelen nostamaan PWM -arvoa kertomalla analogiset lukemat A0: sta kertoimella, joka on suurempi kuin 1,3. Tämä auttaa kartoitusta sopimaan moottorin kuljettajalle. Suosittelen 1.4 - 1.6. Voimme myös muuttaa PWM: n uudelleen arvoksi 50 - 255 varmistaaksemme, että PWM -arvo on sopiva.

Voimme liittää LEDit yhteen moottoriajurien ulostulojen kanssa, mutta LEDit eivät vilku hyvällä näkyvällä tavalla kuten ennen, koska PWM -arvoja on korotettu. Joten ehdotan, että ne pidetään kytkettynä digitaalisiin nastoihin 40 - 52.

Vaihe 7: Yhteystiedot

Niin mukava kuulla palautetta sinulta. Älä epäröi liittyä kanaviini:

YouTube:

Instagram: @simpledigital010

Twitter: @simple01Digital

Suositeltava: