Talaan ng mga Nilalaman:

Pagsasayaw ng Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer: 8 Mga Hakbang
Pagsasayaw ng Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer: 8 Mga Hakbang

Video: Pagsasayaw ng Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer: 8 Mga Hakbang

Video: Pagsasayaw ng Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer: 8 Mga Hakbang
Video: 2023 Artcraft Mars Rover 3D Printed Fountain Pen Unboxing and Review 2024, Nobyembre
Anonim
Pagsasayaw Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer
Pagsasayaw Fountain: Arduino Sa MSGEQ7 Spectrum Analyzer

Ang pagtanggap ng isang audio signal at pag-convert nito sa visual o mekanikal na reaksyon ay napaka-interesante. Sa proyektong ito gagamitin namin ang isang Arduino Mega upang maikonekta sa isang spectrum analyzer MSGEQ7 na kumukuha ng input audio signal at magsagawa ng pag-filter ng band pass dito upang hatiin ito sa 7 pangunahing mga banda ng dalas. Susuriin din ng Arduino ang analogue signal ng bawat frequency band at lilikha ng isang aksyon.

Hakbang 1: Mga Layunin ng Proyekto

Tatalakayin ng proyektong ito ang 3 mga mode ng pagpapatakbo:

  1. Ang mga LED ay konektado sa mga PWM digital na pin upang tumugon sa mga frequency band
  2. Ang mga LED ay konektado sa mga digital na pin upang tumugon sa mga frequency band
  3. Ang mga bomba ay konektado sa Arduino Mega sa pamamagitan ng mga driver ng Motor at tumutugon sa mga banda ng dalas

Hakbang 2: Teorya

Teorya
Teorya
Teorya
Teorya

Kung pinag-uusapan natin ang tungkol sa MSGEQ7 Spectrum Analyzer IC maaari nating sabihin na mayroon itong panloob na 7 band pass filters na hinahati ang input audio signal sa 7 pangunahing mga banda: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz at 16 kHz

Ang output ng bawat filter ay pinili upang maging output ng IC sa pamamagitan ng paggamit ng multiplexer. Ang multiplexer na iyon ay may mga linya ng tagapili na kinokontrol ng isang panloob na binary counter. Kaya maaari nating sabihin na ang counter ay dapat mabibilang mula 0 hanggang 6 (000 hanggang 110 sa binary) upang payagan ang isang banda na pumasa nang paisa-isa. Nilinaw nito na ang code ng Arduino ay dapat ma-reset ang counter sa oras na maabot ang bilang na 7.

Kung may pagtingin kami sa circuit diagram ng MSGEQ7 maaari naming makita na gumagamit kami ng RC frequency tuner upang makontrol ang panloob na orasan ng oscillator. pagkatapos ay ginagamit namin ang pag-filter ng mga elemento ng RC sa input audio signal port.

Hakbang 3: Mga Pamamaraan

Pamamaraan
Pamamaraan

Ayon sa pahina ng pinagmulan (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) maaari nating makita na ang source code ay nakikipag-usap sa mga output bilang mga signal ng PWM na paulit-ulit. maaari naming baguhin ang ilan sa mga linya ng code upang iakma ang aming mga layunin.

Maaari naming mapansin na kung mayroon kaming isang stereo jack, maaari nating i-doble ang input resistor at capacitor sa pangalawang channel. Pinapagana namin ang MSGEQ7 mula sa Arduino VCC (5 volts) at GND. Ikonekta namin ang MSGEQ7 sa Arduino board. Mas gusto kong gamitin ang Arduino Mega dahil mayroon itong mga PWM na pin na angkop para sa proyekto. Ang output ng MSGEQ7 IC ay konektado sa analogue pin A0, ang STROBE ay konektado sa pin 2 ng Arduino Mega at ang RESET ay konektado sa pin 3.

Hakbang 4: Mga Mode ng Pagpapatakbo: 1- LEDs Bilang PWM Digital Outputs

Mga paraan ng Pagpapatakbo: 1- LEDs Bilang PWM Digital Outputs
Mga paraan ng Pagpapatakbo: 1- LEDs Bilang PWM Digital Outputs

Ayon sa source code, maaari naming ikonekta ang mga output na LED sa mga pin na 4 hanggang 10

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

Pagkatapos ay mapapansin natin ang mga LED na sayaw sa lakas ng bawat frequency band.

Hakbang 5: Mga Mode ng Pagpapatakbo: 2- LEDs Bilang Mga Digital Output

Image
Image
Mga Paraan ng Pagpapatakbo: 3- Mga Bomba Tulad ng Mga Digital na Output
Mga Paraan ng Pagpapatakbo: 3- Mga Bomba Tulad ng Mga Digital na Output

Maaari naming ikonekta ang mga output na LED sa anumang mga digital na pin.

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

Pagkatapos ay mapapansin natin ang mga LED flash sa lakas ng bawat frequency band.

Hakbang 6: Mga Mode ng Pagpapatakbo: 3- Mga Pump Tulad ng Mga Digital na Output

Mga Paraan ng Pagpapatakbo: 3- Mga Bomba Tulad ng Mga Digital na Output
Mga Paraan ng Pagpapatakbo: 3- Mga Bomba Tulad ng Mga Digital na Output

Sa huling mode na ito ay ikonekta namin ang L298N module ng driver ng motor sa mga output ng Arduino. nagbibigay-daan ito sa amin upang makontrol ang pagpapatakbo ng bomba batay sa output ng MSGEQ7 spectrum analyzer.

Tulad ng kilala, pinapayagan kami ng mga driver ng motor na kontrolin ang pagpapatakbo ng mga nakakonektang motor o bomba batay sa nabuong signal mula sa Arduino nang hindi nalulubog ang anumang kasalukuyang mula sa Arduino, sa halip ay pinapagana nila ang mga motor nang direkta mula sa konektadong mapagkukunan ng kuryente.

Kung patakbuhin namin ang code bilang hilaw na mapagkukunan, maaaring hindi gumana nang maayos ang mga bomba. Iyon ay dahil ang signal ng PWM ay mababa at hindi magiging angkop para sa driver ng motor na patakbuhin ang mga motor o pump at maghatid ng angkop na kasalukuyang. Iyon ang dahilan kung bakit inirerekumenda kong dagdagan ang halaga ng PWM sa pamamagitan ng pagpaparami ng mga pagbasa ng analogue mula sa A0 na may kadahilanan na mas malaki sa 1.3. Tinutulungan nito ang pagmamapa upang maging angkop para sa driver ng motor. Inirerekumenda ko ang 1.4 hanggang 1.6. Maaari din nating mai-remap ang PWM na 50 hanggang 255 upang matiyak na ang halaga ng PWM ay angkop.

Maaari naming ikonekta ang mga LED kasama ang mga output para sa mga driver ng motor, ngunit ang mga LED ay hindi mag-flash sa isang mahusay na nakikita na paraan tulad ng dati habang ang mga halaga ng PWM ay nadagdagan. Kaya iminumungkahi kong panatilihin silang konektado sa mga digital na pin na 40 hanggang 52.

Hakbang 7: Mga contact

Napakasaya na marinig ang mga feedback mula sa iyo. Mangyaring huwag mag-atubiling sumali sa aking mga channel sa:

YouTube:

Instagram: @ simplydigital010

Twitter: @ simply01Digital

Inirerekumendang: