Sisukord:

Tantsiv purskkaev: Arduino koos MSGEQ7 spektrianalüsaatoriga: 8 sammu
Tantsiv purskkaev: Arduino koos MSGEQ7 spektrianalüsaatoriga: 8 sammu
Anonim
Tantsiv purskkaev: Arduino koos MSGEQ7 spektraalanalüsaatoriga
Tantsiv purskkaev: Arduino koos MSGEQ7 spektraalanalüsaatoriga

Helisignaali vastuvõtt ja selle muutmine visuaalseks või mehaaniliseks reaktsiooniks on väga huvitav. Selles projektis kasutame Arduino Megat, et olla ühendatud spektrianalüsaatoriga MSGEQ7, mis võtab vastu sisendsignaali ja teeme sellel ribalaiuse filtreerimise, et jagada see 7 peamiseks sagedusribaks. Seejärel analüüsib Arduino iga sagedusala analoogsignaali ja loob toimingu.

Samm: projekti eesmärgid

Selles projektis käsitletakse kolme töörežiimi:

  1. Sagedusribadele reageerimiseks on LED -id ühendatud PWM -i digitaalsete tihvtidega
  2. Sagedusribadele reageerimiseks on LED -id ühendatud digitaalsete tihvtidega
  3. Pumbad on Arduino Mega külge ühendatud mootoridraiverite kaudu ja reageerivad sagedusribadele

2. samm: teooria

Teooria
Teooria
Teooria
Teooria

Kui me räägime MSGEQ7 spektraalanalüsaatori IC -st, siis võime öelda, et sellel on sisemised 7 -ribalised filtrid, mis jagavad sisendsignaali seitsmeks põhiribaks: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz ja 16 kHz.

Iga filtri väljund valitakse multiplekseri abil IC väljundiks. Sellel multiplekseril on valijaliinid, mida juhib sisemine binaarloendur. Seega võime öelda, et loendur peaks lugema vahemikus 0 kuni 6 (binaarses numbris 000 kuni 110), et üks riba saaks korraga edasi minna. See teeb selgeks, et Arduino kood peaks saama loenduri lähtestada, kui see jõuab arvuni 7.

Kui vaatame MSGEQ7 lülitusskeemi, näeme, et kasutame ostsillaatori sisemise kella juhtimiseks RC sagedustuunerit. siis kasutame sisendhelisignaali pordis filtreerivaid RC elemente.

3. samm: protseduurid

Protseduurid
Protseduurid

Vastavalt allikalehele (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) näeme, et lähtekood käsitleb väljundeid korduvate PWM-signaalidena. saame muuta mõnda koodirida oma eesmärkide saavutamiseks.

Võime märgata, et kui meil on stereopistik, saame sisendtakisti ja kondensaatori kahekordistada teisele kanalile. Toidame MSGEQ7 Arduino VCC -st (5 volti) ja GND -st. Ühendame MSGEQ7 Arduino plaadiga. Ma eelistan kasutada Arduino Megat, kuna sellel on projekti jaoks sobivad PWM -tihvtid. MSGEQ7 IC väljund on ühendatud analoogpistikuga A0, STROBE on ühendatud Arduino Mega kontaktiga 2 ja RESET on ühendatud kontaktiga 3.

4. samm: töörežiimid: 1- LED-id PWM-digitaalsete väljunditena

Töörežiimid: 1- LED-id kui PWM-digitaalsed väljundid
Töörežiimid: 1- LED-id kui PWM-digitaalsed väljundid

Lähtekoodi järgi saame väljund -LED -id ühendada tihvtidega 4–10

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

Siis võime märgata, et valgusdioodid tantsivad iga sagedusala tugevuse järgi.

5. toiming: töörežiimid: 2 LED-i digitaalse väljundina

Image
Image
Töörežiimid: 3-pumbad digitaalsete väljunditena
Töörežiimid: 3-pumbad digitaalsete väljunditena

Võime ühendada väljund -LED -id mis tahes digitaalsete tihvtidega.

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

Siis võime märgata, et valgusdioodid vilguvad iga sagedusala tugevuse korral.

6. toiming: töörežiimid: 3-pumbad digitaalsete väljunditena

Töörežiimid: 3-pumbad digitaalsete väljunditena
Töörežiimid: 3-pumbad digitaalsete väljunditena

Selles viimases režiimis ühendame L298N mootori draiverimooduli Arduino väljunditega. see võimaldab meil juhtida pumba tööd MSGEQ7 spektrianalüsaatori väljundi põhjal.

Nagu teada, võimaldavad mootoridraiverid juhtida ühendatud mootorite või pumpade tööd Arduino poolt genereeritud signaali põhjal, ilma et Arduino vool oleks alla vajunud, selle asemel toidavad nad mootoreid otse ühendatud toiteallikast.

Kui käivitame koodi tooraineallikana, ei pruugi pumbad korralikult töötada. Selle põhjuseks on asjaolu, et PWM -signaal on madal ja see ei sobi mootorijuhile mootorite või pumpade käitamiseks ja sobiva voolu tarnimiseks. Seetõttu soovitan suurendada PWM väärtust, korrutades analoognäidud A0 -st koefitsiendiga üle 1,3. See aitab kaardistamisel sobida mootorijuhile. Soovitan 1,4 kuni 1,6. Samuti võime muuta PWM väärtuseks 50 kuni 255, et olla kindel, et PWM väärtus on sobiv.

Me võime ühendada LED -id mootorijuhtide väljunditega, kuid LED -id ei vilgu hästi nähtaval viisil nagu varem, kuna PWM väärtusi on suurendatud. Seega soovitan hoida need ühendatud digitaalsete tihvtidega 40 kuni 52.

Samm: kontaktid

Nii hea meel kuulda teie tagasisidet. Palun ärge kõhelge minu kanalitega liitumast:

YouTube:

Instagram: @simpledigital010

Twitter: @simple01Digital

Soovitan: